Gå til innholdet

Send ut reviewer-agenter

Denne guiden viser deg hvordan du sender ut reviewer-agenter for å gjennomgå pull requests.

  1. Åpne PR-en og gå til Oversikt-fanen
  2. Åpne overflytsmenyen ⋯ og velg Spør AI

Dette starter den forhåndsdefinerte pr_review-pipelinen, som åpner PR-ens gjennomgangsområde og sender ut reviewerne for arbeidsområdets gjennomgangsnivå — tre som standard (de forhåndsdefinerte agentene qa, architect og engineer) — og lar deretter lederagenten konsolidere. Du velger ikke rollene på denne veien. Vil du bestemme hvilke roller som kjører, og hvilke filer hver av dem ser på, bruker du MCP-verktøyet eller et pipeline-steg nedenfor.

Kall det fra et eksisterende gjennomgangsområde:

dispatch_reviewers(
space_id: "...",
workspace_id: "...",
reviewers: [
{role: "reviewer"},
{role: "security", scope: "src/auth/**"}
]
)

space_id, workspace_id og reviewers er alle påkrevde. Hver reviewer-spesifikasjon tar en role pluss en valgfri filglob-scope og en prompt_override som erstatter standardoppdraget. En valgfri concurrency (1–8) begrenser antall parallelle utsendinger; når den utelates, gjelder arbeidsområdets review_concurrency-innstilling (standard 3, angitt under Innstillinger → Arbeidsområde → Generelt).

Verktøyet returnerer umiddelbart med listene dispatched og unmatched. Hver utsendt reviewer legges til i området som deltaker, kunngjøres med en systemmelding og sendes ut med oppdraget sitt. Funn lander som review_node-meldinger i det området.

Åpne Innstillinger → Arbeidsområde → Pipeline-maler, åpne en mal, og gjør deretter:

  1. Legg til en Reviewer (prompt)-node fra paletten
  2. Velg agenten som skal sendes ut, og skriv reviewer-prompten med {{key}} som plassholdere for utdata oppstrøms (for eksempel {{repo_local_path}}, {{pr_number}})
  3. Angi utnøkkelen (standard reviewer_findings) slik at steg nedstrøms kan lese funnene

Steget sender ut agenten og settes på pause til den kjøringen er ferdig. Motoren høster deretter kjøringens submit_output-nyttelast inn i pipeline-tilstanden under nodens utnøkkel. (Palettbeskrivelsen sier fortsatt at steget venter på et complete_task-kall — det verktøyet finnes ikke; se bort fra teksten.)

Vift ut ved å koble flere reviewer-noder til samme steg oppstrøms, og konsolider deretter utdataene deres med en Consolidate (join)-node.

Redigeringsverktøyet kobler den skjulte terminalnoden om til hver nåbare utgangsnode, slik at en node du legger til etter den forhåndsdefinerte Step-noden, fortsatt kjører. Vifteut-noder koblet til samme steg oppstrøms kjører parallelt.

Slik får du en gjennomgangspipeline til å utløse seg selv:

  1. Åpne malen under Innstillinger → Arbeidsområde → Pipeline-maler
  2. Dra PR publisert eller Ekstern PR åpnet fra Utløsere-delen av nodebiblioteket og over på lerretet (eller velg den fra spøkelsesflisen Legg til en utløser)
  3. Velg den nye noden og slå på På i inspektøren, og aktiver deretter malen

To hendelser betyr noe her, og de kan ikke brukes om hverandre:

Hendelse Utløses når Nyttelastnøkler
PullRequestPublished En PR åpnes gjennom Control Center — komponeringsflaten, eller en agent som kaller pr_lifecycle.publish pr_id, workspace_id, repo_owner, repo_name
ExternalPrDetected PR-avspørringstjenesten finner en PR som er åpnet direkte på GitHub repo_owner, repo_name, pr_number, pr_title, author

En PR som åpnes på github.com, utløser aldri PullRequestPublished, så en mal som bare er koblet til den hendelsen, ser den ikke. Legg også merke til at PullRequestPublished ikke bærer noen pr_number — et steg der skriptet eller prompten refererer til {{pr_number}}, må få det fra ExternalPrDetected, eller fra en manuell kjøring som oppgir det.

Kontrollpunkt: når du har aktivert, åpne Pipelines og bekreft at det dukker opp en kjøring for neste PR som samsvarer. En mal som står deaktivert, gjør at utløseren fyrer ut i ingenting — motoren avviser en deaktivert mal og returnerer uten å starte en kjøring.

dispatch_reviewers skårer hver agent i arbeidsområdet mot hver forespurt rolleetikett, uten å skille mellom store og små bokstaver:

Treff Skår
En skill som inneholder rolleetiketten +3
En tittel som inneholder rolleetiketten +2
Et agentnavn som inneholder rolleetiketten +1

Skårene summeres, og høyest sum vinner (ved likhet den første kandidaten som ble funnet). Hvis ingen kandidat skårer over null, kommer spesifikasjonen tilbake i verktøyets unmatched-liste i stedet for å sendes ut — en rolle som ingen matcher, blir altså rapportert, aldri stille hoppet over.

En PR har nøyaktig ett gjennomgangsområde, ikke ett per reviewer. Det opprettes idempotent av pr.ensureSpace, kobles til PR-en gjennom en ReviewSpaceAssociation og klargjøres mot PR-ens head-ref. Hver utsendt reviewer blir med i det området og legger inn sine review_node-funn der, og det er nettopp det som gjør funnene sammenlignbare og lar lederagenten nå konsensus på tvers av dem.

Hver utsendt reviewer får sin egen AgentRunLog. Følg fremdriften i:

  • gjennomgangsområdet, der funn strømmer inn i sanntid
  • PR-ens Gjennomgang-fane, som viser gjennomgangens statuslinje og vedtak
  • Observabilitet → Live (/workspaces/:id/observability), agentoversikten med status per kjøring, live medgått tid, en transkriptskuff og en stoppekontroll. Det finnes ingen tastatursnarvei for den — du når den fra bunnteksten i sidepanelet.