Zum Inhalt springen

Reviewer-Agenten starten

Diese Anleitung zeigt, wie du Reviewer-Agenten startest, damit sie Pull Requests prüfen.

  1. Öffne den PR und wechsle auf den Tab Übersicht
  2. Ö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.

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.

Öffne Einstellungen → Arbeitsbereich → Pipeline-Vorlagen, öffne eine Vorlage und dann:

  1. Füge aus der Knotenbibliothek einen Knoten Reviewer (prompt) hinzu
  2. 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}})
  3. 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.

Damit eine Review-Pipeline von selbst startet:

  1. Öffne die Vorlage unter Einstellungen → Arbeitsbereich → Pipeline-Vorlagen
  2. 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)
  3. 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.

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.

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.

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.