Maskinöversatt från engelska — källa: agent-roles-and-model-routing.md.
Implementeringsstatus: Designanteckning — beskriver den tilltänkta arbetsdelningen mellan agenter och modeller för PRD-till-PR-pipelinen. Ingen av de fem namngivna rollerna existerar som agent-promptfiler idag; kolumnen "Närmaste analog idag" listar den befintliga ytan som fyller varje roll manuellt.
Byggt idag: de tre granskande underagenterna —
resolver-reviewer,dashboard-reviewer,perf-reviewer— spårade i.claude/agents/*.md(åter-inkluderade via en.gitignore-negation) och anropade från steg 5 i pipelinen. Befintliga prompts för engineering-teamet ibe-agent-service/agents/prompts/engineering/*(orchestrator, backend-specialist, frontend-specialist, db-architect-specialist, infrastructure-specialist, ux-designer-specialist, senior-code-reviewer, verification-specialist) är scope-färgade analoger till Editor-/Verifier-rollerna, inte de namngivna rollerna i sig.Mål-tillägg:
architect.md,test-writer.md,editor.md,verifier.md,reviewer-feedback.mdunderbe-agent-service/agents/prompts/engineering/, var och en routad via modelladaptern som beskrivs i model-and-vendor-agnosticism.md.
De fem rollerna
| Roll | Steg den äger | Standardmodell | Varför | Närmaste analog idag |
|---|---|---|---|---|
| Architect | 1 (läs PRD), 2 (spec) | Reasoning-klass (Opus / motsvarande) | En dyr körning som producerar en spec resten av pipelinen kan luta sig mot. Dyr men sällsynt. | Människa + Cursor Composer / Claude Code (Opus) som skriver PRD:n direkt under wiki/plans/; ingen wiki/specs/<feature>.md produceras ännu. |
| Test-writer | 3 | Mid (Sonnet) | Skriver misslyckande tester från specen. Mekaniskt när specen är bra — behöver inte Opus. | Editor-agenten (Composer / Claude Code) skriver tester inline som del av samma iteration; ingen påtvingad "tester måste falla först"-grind. |
| Editor | 4 | Mid (Sonnet) | Itererar på diffen tills tester går grönt. Många anrop, varje billigt. Kostnadsdrivaren. | Cursor Composer eller Claude Code i en worktree (./scripts/git/worktree-add.sh); MAX_ITERATIONS är människopålagt. |
| Verifier | 5–6 (självgranskning + dossier) | Mid (Sonnet) | Kör granskande underagenter, kör testsviten, fångar dossiern. Behöver tillförlitlighet, inte djup. | Manuell yarn type-check && yarn lint && yarn test:dashboard-stack + de tre granskande underagenterna; dossierer under docs/dossiers/<feature>/ är handgjorda. |
| Reviewer | 7 | Mid (Sonnet) | Pollar Codex- / CodeRabbit-kommentarer och kör Editorn igen. Tillståndslös per körning. | Människan läser Codex-kommentarer efter varje push (minnesregeln feedback_codex_review_loop.md) och pingar agenten att köra igen. |
Uppdelningen är Aiders architect/editor-mönster: en dyr reasoning-körning, många billiga edit-körningar. Branschbenchmarkar (Aider polyglot, R1+Sonnet) placerar architect/editor-uppdelningen på ungefär 64 % polyglot SOTA till ~1/14 av kostnaden av att köra allt på reasoning-modellen.
Kostnadsmotivering
| Pipeline-form | Tokens spenderade | Kvalitet | Bedömning |
|---|---|---|---|
| Kör allt på reasoning-modellen | Architect-kvalitet överallt | Bäst | För dyrt vid den kadens vi vill ha. |
| Kör allt på edit-modellen | En körning; edit-modellens spec-kvalitet | Missar ofta arkitekturella villkor | Billigt, frekventa regressioner. |
| Architect/editor-uppdelning (detta avsnitts val) | Reasoning en gång, edit N gånger | Architect-kvalitet i beslut, edit-kvalitet i output | Rätt för stabil leverans. |
De granskande underagenterna (resolver-reviewer, dashboard-reviewer, perf-reviewer) körs idag på samma edit-modell. Så länge specen för arkitektur-intentionen vidare fångar edit-modellens granskning den drift som editorn introducerar — och granskningskostnaden är en liten bråkdel av totala tokens eftersom granskare inte skriver kod.
Varför modelloberoende är icke-förhandlingsbart
Se model-and-vendor-agnosticism.md. Kort version: tabellen ovan listar Anthropic-modeller eftersom det är vad vi använder idag. Pipelinen måste fortsätta fungera när "standard" roterar till OpenAI, Gemini eller en OSS-modell — det är visionsåtagande (b). Implementation: varje roll pratar med en modell-adapter, aldrig direkt med en leverantörs SDK.
Per-rolls ansvar (konkret)
Architect
- Läser
wiki/plans/<feature>-YYYY-MM-DD.md. - Läser eventuella wiki-sidor som refereras i PRD:ns frontmatter
sources:-fält. - Producerar
wiki/specs/<feature>.mdmed Gherkin-acceptanskriterier. - Listar "förväntade filer som rörs" så Verifier kan kolla scope creep.
- Skriver inte tester, skriver inte kod.
Test-writer
- Läser spec.
- Genererar vitest-tester för resolvers / services / hooks som namnges i specen.
- Genererar Playwright-tester för end-to-end-scenarier som namnges i specen.
- Kör varje test en gång och bekräftar att det FALLER — informativa felmeddelanden krävs.
- Skriver inte produktionskod.
Editor
- Läser spec + misslyckande tester.
- Itererar: läs misslyckande test → implementera minsta möjliga för att få det att gå grönt → kör alla mål-tester → upprepa.
- Begränsad av
MAX_ITERATIONS(standard 8). Vid uttömning lyfter den misslyckandet istället för att mala. - Följer
.cursor/rules/appcaire-monorepo.mdcoch.claude/skills/-recepten i repot. - Endast worktree för PRD-drivet funktionsarbete. Pipelinen får skapa branchen/worktreet automatiskt. Redigerar aldrig
maindirekt för dessa flöden. Aldriggit push --force.
Verifier
- Startar lämpliga granskande underagenter per omfång.
- Kör
yarn type-check,yarn lint,yarn test:dashboard-stack. - Kör Playwright med trace + skärmbildsfångst.
- Skriver
docs/dossiers/<feature>/{trace.zip, screenshot.png, console.log, summary.json}. - Vägrar markera PR:n som klar om någon P1-granskningskommentar är öppen eller dossiern är ofullständig.
Reviewer (återkopplingsloop)
- Efter varje
git push, pollargh api repos/{org}/{repo}/pulls/<n>/comments. - Kategoriserar Codex- / CodeRabbit-fynd efter allvarlighet.
- För varje P1 / P2: antingen kör Editorn igen med kommentaren som input, eller bemöt med en motivering som commitas till PR-beskrivningen.
- Loopar tills kommentar-sidan inte returnerar några nya fynd.
Granskar-underagentkarta
| Fil som rörs | Underagenter att köra |
|---|---|
apps/dashboard-server/src/graphql/resolvers/** |
resolver-reviewer + perf-reviewer (om loopar/listor) |
apps/dashboard/src/** |
dashboard-reviewer |
Allt med en list-resolver, fält-resolver eller for (const x of prismaResults) |
perf-reviewer |
| Allt annat | Inget — Verifier kör fortfarande type-check + lint + tester. |
Dessa underagenter dokumenteras i claude-agents-and-skills.md.
Korsreferenser
- PRD-till-PR-pipeline — vad varje steg producerar.
- Modell- och leverantörsoberoende — leverantörsrotationsregel och adapterform.
- Genomströmning och affärssignaler — funktioner/sek/token, var det loggas, vem som konsumerar.
- Granskningsåterkoppling — specifikationer för Codex-polling.
- Engineering-agenter — nuvarande Darwin-agenter som kartlägger till dessa roller.