Reviewer-Agenten starten
Diese Anleitung zeigt, wie du Reviewer-Agenten startest, damit sie Pull Requests prüfen.
Aus der PR-Ansicht
Abschnitt betitelt „Aus der PR-Ansicht“- Öffne den PR und wechsle auf den Tab Übersicht
- Öffne das Menü ⋯ und wähle Ask AI
Damit startet die mitgelieferte Pipeline pr_review. Sie öffnet den
Review-Bereich des PR und schickt die Reviewer für die Review-Stufe des
Arbeitsbereichs los, standardmäßig drei (die mitgelieferten Agenten qa,
architect und engineer). Danach lässt sie den Lead-Agenten
konsolidieren. Die Rollen wählst du auf diesem Weg nicht. Wenn du festlegen
willst, welche Rollen laufen und welche Dateien jede davon ansieht, nutze
unten das MCP-Tool oder einen Pipeline-Schritt.
Über das MCP-Tool dispatch_reviewers
Abschnitt betitelt „Über das MCP-Tool dispatch_reviewers“Ruf es aus einem bestehenden Review-Bereich auf:
dispatch_reviewers( space_id: "...", workspace_id: "...", reviewers: [ {role: "reviewer"}, {role: "security", scope: "src/auth/**"} ])space_id, workspace_id und reviewers sind alle erforderlich. Jede
Reviewer-Angabe nimmt ein role, dazu einen optionalen Datei-Glob scope
und ein prompt_override, das das Standard-Briefing ersetzt. Ein optionales
concurrency (1–8) begrenzt parallele Starts. Lässt du es weg, gilt die
Einstellung review_concurrency des Arbeitsbereichs (Standard 3, unter
Einstellungen → Arbeitsbereich → Allgemein).
Das Tool kehrt sofort zurück, mit den Listen dispatched und unmatched.
Jeder gestartete Reviewer wird dem Bereich als Teilnehmer hinzugefügt, mit
einer Systemnachricht angekündigt und mit seinem Briefing losgeschickt. Die
Befunde landen in diesem Bereich als Nachrichten review_node.
Aus einem Pipeline-Schritt
Abschnitt betitelt „Aus einem Pipeline-Schritt“Öffne Einstellungen → Arbeitsbereich → Pipeline-Vorlagen, öffne eine Vorlage und dann:
- Füge aus der Knotenbibliothek einen Knoten Reviewer (prompt) hinzu
- Wähle den Agenten, der starten soll, und schreibe den Reviewer-Prompt. Für
vorgelagerte Ausgaben nutze Platzhalter
{{key}}(zum Beispiel{{repo_local_path}},{{pr_number}}) - Setze den Ausgabe-Schlüssel (Standard
reviewer_findings), damit nachgelagerte Schritte die Befunde lesen können
Der Schritt schickt den Agenten los und hält an, bis dieser Lauf fertig ist.
Die Engine übernimmt danach die submit_output-Payload des Laufs in den
Pipeline-Zustand unter dem Ausgabe-Schlüssel des Knotens. (Die Beschreibung
in der Knotenbibliothek sagt noch, der Schritt warte auf einen Aufruf von
complete_task. Dieses Tool gibt es nicht. Ignoriere den Text.)
Fächere auf, indem du mehrere Reviewer-Knoten an denselben vorgelagerten Schritt hängst, und fasse ihre Ausgaben mit einem Knoten Consolidate (join) zusammen.
Der Editor verdrahtet das versteckte Terminal neu an jede erreichbare Senke, sodass ein Knoten, den du hinter dem mitgelieferten Step einfügst, trotzdem läuft. Aufgefächerte Knoten, die am selben vorgelagerten Schritt hängen, laufen parallel.
Automatischer Start bei einem neuen PR
Abschnitt betitelt „Automatischer Start bei einem neuen PR“Damit eine Review-Pipeline von selbst startet:
- Öffne die Vorlage unter Einstellungen → Arbeitsbereich → Pipeline-Vorlagen
- Ziehe PR veröffentlicht oder Externe PR geöffnet aus dem Abschnitt Auslöser der Knotenbibliothek auf die Zeichenfläche (oder wähle ihn über die leere Kachel Auslöser hinzufügen)
- Wähle den neuen Knoten, schalte in seinem Inspektor Aktiviert ein und aktiviere danach die Vorlage
Zwei Ereignisse zählen hier, und sie sind nicht austauschbar:
| Ereignis | Wird ausgelöst, wenn | Payload-Schlüssel |
|---|---|---|
PullRequestPublished |
Ein PR wird über Control Center geöffnet, auf der Oberfläche zum Erstellen des PR oder durch einen Agenten mit pr_lifecycle.publish |
pr_id, workspace_id, repo_owner, repo_name |
ExternalPrDetected |
Der PR-Polling-Dienst findet einen PR, der direkt auf GitHub geöffnet wurde | repo_owner, repo_name, pr_number, pr_title, author |
Ein auf github.com geöffneter PR löst nie PullRequestPublished aus. Eine
Vorlage, die nur an dieses Ereignis gehängt ist, sieht ihn also nicht.
PullRequestPublished trägt außerdem kein pr_number. Ein Schritt, dessen
Skript oder Prompt {{pr_number}} referenziert, muss von ExternalPrDetected
gespeist werden oder von einem manuellen Lauf, der den Wert mitgibt.
Kontrollpunkt: Öffne nach dem Aktivieren Pipelines und prüfe, ob für den nächsten passenden PR ein Lauf erscheint. Bleibt die Vorlage deaktiviert, läuft ihr Trigger ins Leere. Die Engine lehnt eine deaktivierte Vorlage ab und kehrt zurück, ohne einen Lauf zu starten.
Wie eine Rolle einem Agenten zugeordnet wird
Abschnitt betitelt „Wie eine Rolle einem Agenten zugeordnet wird“dispatch_reviewers bewertet jeden Agenten im Arbeitsbereich gegen jede
angeforderte Rollenbezeichnung, ohne Unterscheidung der Groß- und
Kleinschreibung:
| Übereinstimmung | Punkte |
|---|---|
| Ein Skill, der die Rollenbezeichnung enthält | +3 |
| Ein Titel, der die Rollenbezeichnung enthält | +2 |
| Ein Agentenname, der die Rollenbezeichnung enthält | +1 |
Die Punkte summieren sich, und die höchste Summe gewinnt. Bei Gleichstand
gewinnt der zuerst gefundene Kandidat. Erreicht kein Kandidat mehr als null,
kommt die Angabe in der Liste unmatched des Tools zurück und wird nicht
gestartet. Eine Rolle, die niemand trifft, wird gemeldet und nie
stillschweigend übersprungen.
Der Review-Bereich
Abschnitt betitelt „Der Review-Bereich“Ein PR hat genau einen Review-Bereich, nicht einen je Reviewer. Er entsteht
idempotent über pr.ensureSpace, ist über eine ReviewSpaceAssociation mit
dem PR verknüpft und wird gegen den Head-Ref des PR bereitgestellt. Jeder
gestartete Reviewer tritt diesem Bereich bei und schreibt seine Befunde
review_node dorthin. Genau das macht die Befunde vergleichbar und lässt den
Lead-Agenten über sie einen Konsens erreichen.
Den Start verfolgen
Abschnitt betitelt „Den Start verfolgen“Jeder gestartete Reviewer bekommt ein eigenes AgentRunLog. Den Fortschritt
verfolgst du hier:
- im Review-Bereich, wo die Befunde live eintreffen
- auf dem Tab Review des PR, der die Statusleiste des Reviews und das Verdikt zeigt
- unter Observability → Live (
/workspaces/:id/observability), die Agentenliste mit Status je Lauf, live mitlaufender Zeit, einer Schublade mit dem Transkript und einer Steuerung zum Beenden. Eine Tastenkombination gibt es dafür nicht. Du erreichst die Seite über die Fußzeile der Seitenleiste.