Reviewer-agenten starten
Deze gids laat zien hoe je reviewer-agenten start om pull requests te reviewen.
Vanuit de PR-weergave
Sectie getiteld “Vanuit de PR-weergave”- Open de PR en ga naar het tabblad Overzicht
- Open het ⋯-overloopmenu en kies Ask AI
Dit start de meegeleverde pr_review-pipeline, die de reviewruimte van de PR
opent en de reviewers voor het reviewniveau van de werkruimte start — standaard
drie (de meegeleverde qa-, architect- en engineer-agenten) — en
daarna de lead-agent laat bundelen. De rollen kies je op dit pad niet. Wil je
zelf bepalen welke rollen draaien en naar welke bestanden elke rol kijkt, gebruik
dan hieronder de MCP-tool of een pipeline-stap.
Via de MCP-tool dispatch_reviewers
Sectie getiteld “Via de MCP-tool dispatch_reviewers”Roep de tool aan vanuit een bestaande reviewruimte:
dispatch_reviewers( space_id: "...", workspace_id: "...", reviewers: [ {role: "reviewer"}, {role: "security", scope: "src/auth/**"} ])space_id, workspace_id en reviewers zijn alle drie vereist. Elke
reviewerspecificatie heeft een role, plus een optionele bestandsglob scope
en een prompt_override die de standaardbriefing vervangt. Een optionele
concurrency (1–8) begrenst het aantal parallelle starts; laat je die weg, dan
geldt de instelling review_concurrency van de werkruimte (standaard 3,
ingesteld via Instellingen → Werkruimte → Algemeen).
De tool keert direct terug met de lijsten dispatched en unmatched. Elke
gestarte reviewer wordt als deelnemer aan de ruimte toegevoegd, met een
systeembericht aangekondigd en met zijn briefing op pad gestuurd. Bevindingen
komen in die ruimte binnen als review_node-berichten.
Vanuit een pipeline-stap
Sectie getiteld “Vanuit een pipeline-stap”Open Instellingen → Werkruimte → Pipelinesjablonen, open een sjabloon en dan:
- Voeg vanuit de node-bibliotheek een node Reviewer (prompt) toe
- Kies de agent die je wilt starten en schrijf de reviewerprompt, met
{{key}}-plaatsaanduidingen voor de uitvoer van stroomopwaartse stappen (bijvoorbeeld{{repo_local_path}},{{pr_number}}) - Stel de uitvoersleutel in (standaard
reviewer_findings), zodat vervolgstappen de bevindingen kunnen lezen
De stap start de agent en pauzeert tot die run klaar is. De engine haalt
daarna de submit_output-payload van de run op in de pipelinestatus onder de
uitvoersleutel van de node. (De beschrijving in de node-bibliotheek zegt nog dat
de stap op een aanroep van complete_task wacht — die tool bestaat niet; negeer
die tekst.)
Waai uit door meerdere reviewernodes aan dezelfde stroomopwaartse stap te koppelen en bundel hun uitvoer daarna met een node Consolidate (join).
De editor verbindt het verborgen eindpunt opnieuw met elke bereikbare sink, zodat een node die je na de meegeleverde Step toevoegt alsnog draait. Uitwaaierende nodes die aan dezelfde stroomopwaartse stap zijn gekoppeld, draaien parallel.
Automatisch starten bij een nieuwe PR
Sectie getiteld “Automatisch starten bij een nieuwe PR”Wil je dat een review-pipeline vanzelf afgaat:
- Open het sjabloon bij Instellingen → Werkruimte → Pipelinesjablonen
- Sleep PR gepubliceerd of Externe PR geopend vanuit de sectie Triggers van de node-bibliotheek naar het canvas (of kies hem op de lege tegel Trigger toevoegen)
- Selecteer de nieuwe node, zet Ingeschakeld aan in zijn inspector en schakel daarna het sjabloon in
Twee gebeurtenissen doen hier ter zake, en ze zijn niet uitwisselbaar:
| Gebeurtenis | Gaat af wanneer | Payload-sleutels |
|---|---|---|
PullRequestPublished |
Een PR wordt via Control Center geopend — op het opstelscherm, of door een agent die pr_lifecycle.publish aanroept |
pr_id, workspace_id, repo_owner, repo_name |
ExternalPrDetected |
De PR-pollingdienst vindt een PR die rechtstreeks op GitHub is geopend | repo_owner, repo_name, pr_number, pr_title, author |
Bij een PR die op github.com wordt geopend, treedt PullRequestPublished nooit
op, dus een sjabloon dat alleen aan die gebeurtenis is gekoppeld, ziet hem niet.
Let er ook op dat PullRequestPublished geen pr_number meedraagt — een stap
waarvan het script of de prompt {{pr_number}} gebruikt, moet worden gevoed
door ExternalPrDetected, of door een handmatige run die de waarde aanlevert.
Controlepunt: open na het inschakelen Pipelines en controleer of er een run verschijnt voor de volgende passende PR. Een sjabloon dat uitgeschakeld blijft, laat zijn trigger in het niets afgaan — de engine weigert een uitgeschakeld sjabloon en keert terug zonder een run te starten.
Hoe een rol aan een agent wordt gekoppeld
Sectie getiteld “Hoe een rol aan een agent wordt gekoppeld”dispatch_reviewers scoort elke agent in de werkruimte tegen elk opgegeven
rollabel, zonder onderscheid tussen hoofd- en kleine letters:
| Overeenkomst | Score |
|---|---|
| Een skill die het rollabel bevat | +3 |
| Een titel die het rollabel bevat | +2 |
| Een agentnaam die het rollabel bevat | +1 |
De scores stapelen zich op en de hoogste totaalscore wint (bij een gelijke stand
de eerst gevonden kandidaat). Scoort geen enkele kandidaat boven nul, dan komt de
opgave terug in de lijst unmatched van de tool in plaats van te worden gestart
— een rol die niemand dekt, wordt dus gemeld en nooit stil overgeslagen.
De reviewruimte
Sectie getiteld “De reviewruimte”Een PR heeft precies één reviewruimte, niet één per reviewer. Die wordt
idempotent aangemaakt door pr.ensureSpace, via een ReviewSpaceAssociation
aan de PR gekoppeld en ingericht op de head-ref van de PR. Elke gestarte
reviewer voegt zich bij die ruimte en plaatst zijn review_node-bevindingen
daar, en dat is wat de bevindingen vergelijkbaar maakt en de lead-agent over al
die bevindingen consensus laat bereiken.
De dispatch volgen
Sectie getiteld “De dispatch volgen”Elke gestarte reviewer krijgt zijn eigen AgentRunLog. Volg de voortgang in:
- De reviewruimte, waar bevindingen live binnenkomen
- Het tabblad Review van de PR, dat de statusbalk van de review en het oordeel toont
- Observeerbaarheid → Live (
/workspaces/:id/observability), de agentenlijst met status per run, live verstreken tijd, een lade met het transcript en een stopknop. Er is geen sneltoets voor — je bereikt het vanuit de voettekst van de zijbalk.