Přeskočit na obsah

Odešlete review agenty

Tenhle návod ukazuje, jak odeslat review agenty na kontrolu pull requestu.

  1. Otevři PR a přejdi na jeho záložku Přehled
  2. Otevři rozbalovací nabídku ⋯ a zvol Zeptat se AI

Tím se spustí předpřipravená pipeline pr_review. Otevře prostor kontroly daného PR a odešle recenzenty podle úrovně kontroly pracovního prostoru, ve výchozím stavu tři (předpřipravené agenty qa, architect a engineer). Pak vedoucí agent jejich výstupy složí. Role na téhle cestě nevybíráš. Když chceš určit, které role poběží a na které soubory se každá podívá, použij níže nástroj MCP nebo krok pipeline.

Přes nástroj MCP dispatch_reviewers

Sekce “Přes nástroj MCP dispatch_reviewers”

Zavolej ho z existujícího prostoru kontroly:

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

space_id, workspace_id a reviewers jsou povinné. Každá specifikace recenzenta bere role, volitelný glob souborů scope a prompt_override, který nahradí výchozí zadání. Volitelná concurrency (1–8) omezí počet paralelních odeslání. Když ji vynecháš, platí nastavení review_concurrency pracovního prostoru (výchozí 3, v Nastavení → Pracovní prostor → Obecné).

Nástroj se vrátí hned, se seznamy dispatched a unmatched. Každý odeslaný recenzent se do prostoru přidá jako účastník, ohlásí se systémovou zprávou a odešle se se svým zadáním. Zjištění se v tom prostoru objeví jako zprávy review_node.

Otevři Nastavení → Pracovní prostor → Šablony pipeline, otevři šablonu a pak:

  1. Z knihovny uzlů přidej uzel Reviewer (prompt)
  2. Vyber agenta, kterého odešleš, a napiš prompt recenzenta. Pro výstupy předchozích kroků použij zástupné symboly {{key}} (třeba {{repo_local_path}}, {{pr_number}})
  3. Nastav výstupní klíč (výchozí reviewer_findings), aby navazující kroky mohly zjištění číst

Krok agenta odešle a pozastaví se, dokud ten běh neskončí. Engine pak uloží payload submit_output daného běhu do stavu pipeline pod výstupní klíč uzlu. (Popis v knihovně uzlů pořád říká, že krok čeká na volání complete_task. Ten nástroj neexistuje, ten text ignoruj.)

Rozvětvení uděláš tak, že několik uzlů recenzentů napojíš na stejný předchozí krok a jejich výstupy složíš uzlem Consolidate (join).

Editor znovu napojí skrytý terminál na každý dosažitelný konec, takže uzel přidaný za předpřipravený Step pořád doběhne. Uzly rozvětvení napojené na stejný předchozí krok běží paralelně.

Automatické odeslání u nového PR

Sekce “Automatické odeslání u nového PR”

Aby se pipeline kontroly spouštěla sama:

  1. Otevři šablonu v Nastavení → Pracovní prostor → Šablony pipeline
  2. Ze sekce Spouštěče v knihovně uzlů přetáhni na plátno PR zveřejněn nebo Otevřen externí PR (nebo ho vyber ze zástupné dlaždice Přidat spouštěč)
  3. Vyber nový uzel, v jeho inspektoru zapni Zapnuto a pak zapni i šablonu

Rozhodují tu dvě události a nejsou zaměnitelné:

Událost Kdy se spustí Klíče payloadu
PullRequestPublished PR se otevře přes Control Center, na ploše pro sestavení PR, nebo ho otevře agent voláním pr_lifecycle.publish pr_id, workspace_id, repo_owner, repo_name
ExternalPrDetected Služba dotazování PR najde PR otevřený přímo na GitHubu repo_owner, repo_name, pr_number, pr_title, author

PR otevřený na github.com událost PullRequestPublished nikdy nevyvolá, takže šablona napojená jen na ni ho neuvidí. PullRequestPublished navíc nenese pr_number. Krok, jehož skript nebo prompt sahá na {{pr_number}}, musí dostat data z ExternalPrDetected, nebo z ručního běhu, který hodnotu dodá.

Kontrolní bod: po zapnutí otevři Pipelines a ověř, že se u dalšího odpovídajícího PR objeví běh. Šablona ponechaná vypnutá nechá spouštěč vystřelit do prázdna. Engine vypnutou šablonu odmítne a vrátí se, aniž by běh spustil.

Jak se role páruje s agentem

Sekce “Jak se role páruje s agentem”

dispatch_reviewers ohodnotí každého agenta v pracovním prostoru proti každému požadovanému popisku role, bez rozlišení velikosti písmen:

Shoda Skóre
Skill obsahující popisek role +3
Titul obsahující popisek role +2
Jméno agenta obsahující popisek role +1

Skóre se sčítají a vyhrává nejvyšší součet. Při shodě to je první nalezený kandidát. Když žádný kandidát nezíská víc než nulu, specifikace se vrátí v seznamu unmatched a neodešle se. Role, kterou nikdo neodpovídá, se nahlásí a tiše se nepřeskočí.

PR má právě jeden prostor kontroly, ne jeden na každého recenzenta. Vzniká idempotentně voláním pr.ensureSpace, s PR je svázaný přes ReviewSpaceAssociation a připraví se na head ref daného PR. Každý odeslaný recenzent se do toho prostoru přidá a zapíše tam zjištění review_node. Díky tomu jdou zjištění porovnat a vedoucí agent mezi nimi dojde ke shodě.

Každý odeslaný recenzent dostane vlastní AgentRunLog. Průběh sleduj tady:

  • V prostoru kontroly, kam zjištění přicházejí živě
  • Na záložce Kontrola daného PR, která ukazuje lištu stavu kontroly a verdikt
  • V Observabilita → Živé (/workspaces/:id/observability): seznam agentů se stavem každého běhu, průběžně běžícím časem, zásuvkou s přepisem a ovládáním Ukončit agenta. Klávesová zkratka na to není. Dostaneš se tam z patičky postranního panelu.