Przejdź do głównej zawartości

Wyślij agentów-recenzentów

Ten poradnik pokazuje, jak wysyłać agentów-recenzentów do recenzowania pull requestów.

  1. Otwórz PR i przejdź do jego karty Przegląd
  2. Otwórz menu przepełnienia ⋯ i wybierz Zapytaj AI

To uruchamia wbudowany potok pr_review, który otwiera przestrzeń recenzji PR-a i wysyła recenzentów zgodnie z poziomem recenzji obszaru roboczego — domyślnie trzech (wbudowani agenci qa, architect i engineer) — a następnie zleca agentowi prowadzącemu skonsolidowanie wyników. Na tej ścieżce nie wybierasz ról. Aby przejąć kontrolę nad tym, które role działają i które pliki sprawdza każda z nich, użyj narzędzia MCP albo kroku potoku poniżej.

Wywołaj je z wnętrza istniejącej przestrzeni recenzji:

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

space_id, workspace_id i reviewers są wymagane. Każda specyfikacja recenzenta przyjmuje role oraz opcjonalny scope będący globem plików i prompt_override, który zastępuje domyślną instrukcję. Opcjonalna wartość concurrency (1–8) ogranicza liczbę równoległych wysłań; gdy ją pominiesz, obowiązuje ustawienie review_concurrency obszaru roboczego (domyślnie 3, ustawiane w Ustawienia → Obszar roboczy → Ogólne).

Narzędzie zwraca wynik natychmiast, z listami dispatched i unmatched. Każdy wysłany recenzent jest dodawany do przestrzeni jako uczestnik, ogłaszany komunikatem systemowym i wysyłany ze swoją instrukcją. Ustalenia trafiają do tej przestrzeni jako komunikaty review_node.

Otwórz Ustawienia → Obszar roboczy → Szablony potoków, otwórz szablon, a następnie:

  1. Dodaj z palety węzeł Reviewer (prompt)
  2. Wybierz agenta do wysłania i napisz prompt recenzenta, używając symboli zastępczych {{key}} dla wyników poprzedzających kroków (na przykład {{repo_local_path}}, {{pr_number}})
  3. Ustaw klucz wyjściowy (domyślnie reviewer_findings), aby kolejne kroki mogły odczytać ustalenia

Krok wysyła agenta i wstrzymuje się do zakończenia tego uruchomienia. Silnik następnie zbiera ładunek submit_output z uruchomienia do stanu potoku pod kluczem wyjściowym węzła. (Opis w palecie nadal mówi, że krok czeka na wywołanie complete_task — takie narzędzie nie istnieje; zignoruj ten tekst.)

Rozgałęź przepływ, podłączając kilka węzłów recenzentów do tego samego poprzedzającego kroku, a następnie skonsoliduj ich wyniki węzłem Consolidate (join).

Edytor przepina ukryty terminal do każdego osiągalnego ujścia, więc węzeł dodany po wbudowanym węźle Step i tak zostanie uruchomiony. Węzły rozgałęzienia podłączone do tego samego poprzedzającego kroku działają równolegle.

Aby potok recenzji uruchamiał się samoczynnie:

  1. Otwórz szablon w Ustawienia → Obszar roboczy → Szablony potoków
  2. Przeciągnij Opublikowano PR albo Otwarto zewnętrzny PR z sekcji Wyzwalacze w bibliotece węzłów na kanwę (albo wybierz je z widmowego kafelka Dodaj wyzwalacz)
  3. Zaznacz nowy węzeł i włącz przełącznik Włączone w jego inspektorze, a następnie włącz szablon

Znaczenie mają tu dwa zdarzenia i nie są one wymienne:

Zdarzenie Uruchamia się, gdy Klucze ładunku
PullRequestPublished PR zostaje otwarty przez Control Center — interfejs tworzenia albo agent wywołujący pr_lifecycle.publish pr_id, workspace_id, repo_owner, repo_name
ExternalPrDetected Usługa odpytywania PR-ów znajduje PR otwarty bezpośrednio w GitHubie repo_owner, repo_name, pr_number, pr_title, author

PR otwarty na github.com nigdy nie wywołuje PullRequestPublished, więc szablon podłączony tylko do tego zdarzenia go nie zobaczy. Zwróć też uwagę, że PullRequestPublished nie przenosi pr_number — krok, którego skrypt lub prompt odwołuje się do {{pr_number}}, musi być zasilany przez ExternalPrDetected albo przez ręczne uruchomienie, które je dostarczy.

Punkt kontrolny: po włączeniu otwórz Potoki i potwierdź, że dla następnego pasującego PR-a pojawi się uruchomienie. Szablon pozostawiony jako wyłączony sprawia, że jego wyzwalacz nie uruchamia niczego — silnik odrzuca wyłączony szablon i kończy działanie bez rozpoczynania uruchomienia.

dispatch_reviewers punktuje każdego agenta w obszarze roboczym względem każdej żądanej etykiety roli, bez rozróżniania wielkości liter:

Dopasowanie Punkty
Skill zawierający etykietę roli +3
Tytuł zawierający etykietę roli +2
Nazwa agenta zawierająca etykietę roli +1

Punkty się sumują, a wygrywa najwyższa suma (przy remisie — pierwszy znaleziony kandydat). Jeśli żaden kandydat nie zdobędzie więcej niż zero punktów, specyfikacja wraca na liście unmatched narzędzia zamiast zostać wysłana — rola, której nic nie pasuje, jest więc zgłaszana, a nigdy po cichu pomijana.

PR ma dokładnie jedną przestrzeń recenzji, a nie po jednej na recenzenta. Tworzy ją idempotentnie pr.ensureSpace, jest ona powiązana z PR-em przez ReviewSpaceAssociation i przygotowana względem head ref PR-a. Każdy wysłany recenzent dołącza do tej przestrzeni i publikuje w niej swoje ustalenia review_node, dzięki czemu ustalenia można porównywać, a agent prowadzący może osiągnąć między nimi konsensus.

Każdy wysłany recenzent otrzymuje własny AgentRunLog. Postępy śledź w:

  • przestrzeni recenzji, w której ustalenia napływają na żywo
  • karcie Recenzja PR-a, która pokazuje pasek stanu recenzji i werdykt
  • Obserwowalność → Na żywo (/workspaces/:id/observability), liście agentów ze statusem każdego uruchomienia, licznikiem czasu na żywo, szufladą z transkryptem i przyciskiem zabijania uruchomienia. Nie ma do niej skrótu klawiszowego — otwórz ją ze stopki paska bocznego.