Ga naar inhoud

Reviewer-agenten starten

Deze gids laat zien hoe je reviewer-agenten start om pull requests te reviewen.

  1. Open de PR en ga naar het tabblad Overzicht
  2. 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.

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.

Open Instellingen → Werkruimte → Pipelinesjablonen, open een sjabloon en dan:

  1. Voeg vanuit de node-bibliotheek een node Reviewer (prompt) toe
  2. 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}})
  3. 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.

Wil je dat een review-pipeline vanzelf afgaat:

  1. Open het sjabloon bij Instellingen → Werkruimte → Pipelinesjablonen
  2. 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)
  3. 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.

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.

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.

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.