Workflows erstellen
Erstellen und konfigurieren Sie mehrstufige KI-Agenten-Workflows in CodeCourier mit Persona-Pipelines, Loops und konfigurierbaren Sandbox-Einstellungen.
Einen Workflow in CodeCourier zu erstellen bedeutet, eine wiederverwendbare Blaupause zu definieren, die KI-Agenten in einer mehrstufigen Pipeline orchestriert. Diese Anleitung führt Sie durch den Workflow-Erstellungsprozess, von der Auswahl der Personas bis zur Konfiguration von Loops und Sandbox-Einstellungen.
Einen neuen Workflow erstellen
Navigieren Sie zur Workflows-Seite in Ihrem Projekt-Dashboard und klicken Sie auf die Schaltfläche "Neuer Workflow". Der Erstellungsdialog führt Sie durch die Konfiguration.
Workflow benennen
Geben Sie Ihrem Workflow einen aussagekräftigen Namen (erforderlich, bis zu 200 Zeichen). Ein guter Name beschreibt den Zweck des Workflows, z. B. "Design-Review mit E2E-Tests" oder "Prompt- Verfeinerungs-Pipeline". Sie können auch eine optionale Beschreibung für zusätzlichen Kontext hinzufügen.
Persona-Schritte hinzufügen
Das Herzstück eines Workflows ist seine Pipeline aus Persona-Schritten. Jeder Schritt referenziert eine Persona - eine vorkonfigurierte Agentenidentität aus Ihrem Projekt. Sie müssen mindestens einen Persona-Schritt hinzufügen; Workflows mit null Schritten werden abgelehnt.
Um einen Schritt hinzuzufügen, wählen Sie eine Persona aus dem Dropdown. Die verfügbaren Personas sind die, die Sie im Personas-Bereich Ihres Projekts erstellt haben. Jede Persona trägt:
- Eine Rolle (Designer, Checker, Optimizer, Prompter, Investigator, Deep-Dive, Evaluator, Judge oder Answerer).
- Ein CLI-Tool (Claude Code, OpenCode, Codex, Pi).
- Ein Modell (z. B. claude-opus-4-6, claude-sonnet-4-6).
- Benutzerdefinierte Anweisungen, die das Verhalten des Agenten steuern.
- Optionale Thinking-Effort-Einstellungen.
- Optionale Skill-Auswahlen.
Iteration Blocks konfigurieren (optional)
Iteration ist opt-in und befindet sich in einem Iteration Block-Knoten. Wenn das negative Urteil eines Checkers einen Retry auslösen soll, platzieren Sie das Designer+Checker-Paar in einem Iteration Block. Schritte innerhalb des Blocks teilen sich dieselbe loopId und wiederholen sich gemeinsam, bis der Checker zustimmt oder die loopMaxIterations des Blocks erreicht sind.
Schritte außerhalb eines Iteration Block werden immer genau einmal ausgeführt. Ein Checker ohne Iteration Block läuft weiterhin und protokolliert sein Urteil, aber der Orchestrator versucht keinen automatischen Retry - nachgelagerte Schritte oder die UI können das Urteil lesen und entscheiden, was zu tun ist.
loopMaxIterations ist standardmäßig auf 3 pro Block gesetzt. Eine höhere Anzahl gibt dem Designer mehr Chancen, auf Feedback einzugehen, jedoch zu Lasten der Ausführungszeit und Kosten.
Sandbox-Standardwerte festlegen
Konfigurieren Sie die Standard-Sandbox-Einstellungen, die für alle Schritte des Workflows gelten:
- Vorlagen-ID - Die E2B-Vorlage für Sandboxes. Jeder Schritt kann dies über seine Persona überschreiben, aber der Workflow liefert den Fallback.
- Timeout - Maximale Ausführungszeit pro Sandbox (1 Minute bis 4 Stunden).
- Speicher - RAM-Zuweisung (256 MB bis 8.192 MB).
- CPU-Anzahl - Anzahl der Prozessoren (1 bis 8).
- Designer-Modell - Standardmodell für Designer- Schritte.
- Checker-Modell - Standardmodell für Checker-Schritte (oft ein günstigeres Modell, da Checker prüfen und nicht implementieren).
Evaluator-Schwellen konfigurieren (Optional)
Wenn Ihr Workflow einen Evaluator-Schritt enthält, können Sie dessen Qualitätsschwellenwert über die Evaluator-Setup-Seite für diese Persona konfigurieren. Der Schwellenwert ist der minimale Composite-Score (0–100), den der Evaluator melden muss, damit das thresholdResult auf true gesetzt wird.
Auf der Evaluator-Setup-Seite konfigurieren Sie zudem:
- Kontext - Zusätzlicher Kontext, den der Evaluator bei der Qualitätsbeurteilung verwendet (z. B. eine Beschreibung der Projekt- Konventionen oder Qualitätsstandards).
- Skills - Skills, die in die Evaluator- Sandbox für spezialisierte Bewertungen injiziert werden (z. B. ein Test-Skill, um die Abdeckung zu verifizieren).
- Setup-Commands - Shell-Befehle, die die Evaluations-Umgebung vorbereiten (z. B. Abhängigkeiten installieren, das Projekt bauen).
- Setup-Skripte - Benutzerdefinierte Skripte, die vor der Evaluation ausgeführt werden, um eine Baseline zu schaffen oder Test-Fixtures vorzubereiten.
Die Evaluator-Konfiguration ist von der Workflow-Blaupause selbst getrennt, sodass Sie Qualitätskriterien unabhängig abstimmen können, ohne die Pipeline zu bearbeiten.
Workflow speichern
Klicken Sie auf Speichern, um die Workflow-Blaupause zu erstellen. Der Workflow wird in der workflows-Tabelle mit Ihrer Konfiguration gespeichert und ist sofort für die Ausführung verfügbar.
Persona-Anforderung
Pipeline-Architektur
Schritt-Reihenfolge
Schritte werden in der Reihenfolge ausgeführt, in der sie im personaPipelineSteps-Array erscheinen. Der Workflow-Orchestrator verarbeitet sie sequenziell - Schritt 2 startet nicht, bevor Schritt 1 abgeschlossen ist. Dies stellt sicher, dass jeder Schritt auf der Arbeit vorheriger Schritte aufbauen kann.
Iteration Blocks (Loop-Gruppen)
Ein Iteration Block ist die Art, wie Sie eine Gruppe von Schritten in eine wiederholte Ausführung einbinden. Aufeinanderfolgende Schritte mit derselben loopId bilden einen Block, und der Block wiederholt sich, bis der Checker des Blocks ein positives Urteil zurückgibt oder die loopMaxIterations des Blocks erreicht sind. Schritte ohne loopId laufen einmal, der Reihe nach. Das typische Iterationsmuster ist:
// Example: persona pipeline steps with a loop
personaPipelineSteps: [
{
personaId: prompterPersonaId,
// No loopId -- runs once
},
{
personaId: designerPersonaId,
loopId: "design-review",
loopMaxIterations: 3,
},
{
personaId: checkerPersonaId,
loopId: "design-review",
loopMaxIterations: 3,
},
{
personaId: optimizerPersonaId,
// No loopId -- runs once after the loop
},
]In diesem Beispiel läuft zuerst der Prompter (einmal), dann iterieren Designer und Checker bis zu 3 Mal, und abschließend läuft der Optimizer einmal nach Verlassen der Schleife.
Execution Blocks
Der Orchestrator zerlegt das flache Schritt-Array in Execution Blocks:
- Single Blocks - Schritte ohne
loopId. Sie werden einmal in der Reihenfolge ausgeführt. - Loop Blocks - Gruppen von Schritten mit derselben
loopId. Sie wiederholen sich als Gruppe, bis der Checker zustimmt oder die maximale Iterationsanzahl erreicht ist.
Tragen keine Schritte eine loopId, wird die Pipeline linear ausgeführt - jeder Schritt läuft genau einmal. Ein Checker ohne Iteration Block erzeugt weiterhin ein Urteil auf seinem Run-Schritt, löst aber keinen automatischen Retry aus. Um Retry-on-Fail zu aktivieren, kapseln Sie die relevanten Schritte in einen Iteration Block.
Workflows bearbeiten
Bestehende Workflows können über die Workflow-Detailseite bearbeitet werden. Sie können ändern:
- Name und Beschreibung.
- Reihenfolge und Zusammensetzung der Persona-Schritte.
- Loop-IDs und maximale Iterationen.
- Standard-Sandbox-Konfiguration.
Änderungen gelten nur für zukünftige Runs. Runs, die bereits laufen, fahren mit der Konfiguration fort, mit der sie gestartet wurden. Der updatedAt-Zeitstempel im Workflow-Datensatz verfolgt, wann die letzte Bearbeitung erfolgte.
Workflows duplizieren
Sie können einen bestehenden Workflow duplizieren, um eine Variante zu erstellen. Das Duplikat erbt die gesamte Konfiguration des Originals (Name, Schritte, Sandbox-Konfig), wobei "(copy)" an den Namen angehängt wird. Dies ist nützlich, um A/B-Test-Varianten zu erstellen - beispielsweise dieselbe Pipeline mit unterschiedlichen Modellen oder Iterationszahlen.
Workflow-Typen
Das Feld type des Workflows definiert sein Ausführungs- Muster. Neue Workflows verwenden persona_pipeline, aber CodeCourier unterstützt mehrere Typen aus Gründen der Abwärtskompatibilität:
persona_pipeline- Der aktuelle Standard. Schritte werden durch Persona-Referenzen mit optionalen Loop-Gruppen definiert. Dies ist der flexibelste Typ.custom_pipeline- Schritte werden inline mit Typ, CLI, Modell und Anweisungen definiert. Jeder Schritt ist ein rohes Konfigurationsobjekt statt einer Persona-Referenz.designer_checker- Ein vereinfachtes Zwei-Schritt-Muster: Designer läuft, dann erzeugt der Checker ein Urteil. Verwendet diedefaultCheckerInstructionsdes Workflows. Das Paar läuft einmal - um Retry-on-Fail zu aktivieren, verwenden Sie eine Persona-Pipeline und kapseln Sie die beiden Schritte in einen Iteration Block.single_designer- Ein einzelner Schritt, der den Designer einmal ohne Checker-Loop ausführt.
Persona-Pipelines verwenden
persona_pipeline deckt alle anderen Typen ab. Eine Persona-Pipeline mit einem Schritt ist äquivalent zu single_designer, und eine zweistufige Designer-Checker-Persona-Pipeline mit einem Loop ist äquivalent zu designer_checker. Verwenden Sie für neue Workflows stets Persona-Pipelines.Best Practices
- Einfach starten - Beginnen Sie mit einem zweistufigen Designer-Checker-Workflow, bevor Sie weitere Schritte hinzufügen. Komplexe Pipelines sind schwerer zu debuggen.
- Geeignete Modelle einsetzen - Verwenden Sie Opus für Design-Aufgaben, die tiefes Reasoning erfordern, und Sonnet oder Haiku für Checker-Schritte, die Verifikation durchführen. Evaluator-Schritte sind in der Regel mit Sonnet gut bedient, da sie strukturierten Output benötigen.
- Sinnvolle Iterationslimits setzen - Innerhalb eines Iteration Block sind 3 Iterationen ein guter Standard. Mehr als 5 verbessert das Ergebnis selten und erhöht die Kosten erheblich.
- Klare Persona-Anweisungen schreiben - Die Qualität der Workflow-Ausgabe hängt stark von den Anweisungen in jeder Persona ab. Seien Sie spezifisch darüber, was jeder Schritt tun soll und was als Erfolg gilt.
- PRs mit Evaluatoren gaten - Fügen Sie einen Evaluator als letzten Schritt vor der PR-Erstellung hinzu, um einen Qualitäts-Schwellenwert durchzusetzen. Beginnen Sie mit einem Schwellenwert von 70 und passen Sie ihn nach oben an, sobald Ihre Pipeline reift.
- Zuerst mit kleinen Aufgaben testen - Führen Sie Ihren Workflow an einer kleinen, klar definierten Aufgabe aus, bevor Sie ihn für große Features einsetzen. So können Sie die Pipeline abstimmen, ohne Ressourcen zu verschwenden.