Extension fĂĽr Pi Coding Agent. Das Konzept mit der Orchestrierung der Subagents ist jedoch universell.
Video
Links
pi.dev
pi.dev | pi-extensible-workflows
GitHub
GitHub | pi-extensible-workflows
Die Zusammenfassung wurde mithilfe von KI‑Tools erstellt. Web Clipper → Obsidian → Copilot, unter lokaler Verwendung von qwen3.6-35b-a3b-mlx auf einem Mac Studio.
YouTube hat kürzlich die Codierung geändert, der bisherige Code für das Transkript funktioniert nicht mehr. Diesen habe ich nun angepasst. Siehe hier:
Transkript
EinfĂĽhrung und Ăśberblick
- Vorstellung der Pi-Erweiterung "PI extensible workflows"
- Ziel des Videos: Erklärung der Entstehung und Anwendungsmöglichkeiten
- Repository wird verlinkt, aktive Entwicklung
- Hinweis auf lange Videolänge und Timestamps zur Navigation
- EinfĂĽhrung in das Workflow-Konzept
Das Konzept der Workflows (Claudes DSL)
- Aufteilung einer Aufgabe auf verschiedene Sub-Agents
- Jeder Sub-Agent fokussiert sich auf eine spezifische Sache
- Abweichung vom bisherigen Modell der Agenten-Kommunikation
- Verwendung eines kleinen DSL (Domain Specific Language) fĂĽr Workflows
- Nutzung von Parallelisierung fĂĽr Aufgaben
- Kombination der Vorteile von Agenten und Coding
Warum Workflows verwenden? (Deterministisch vs. probabilistisch)
- Vermeidung der reinen Abhängigkeit vom Hauptmodell
- Beispiel: Behebung von Tests nach einem Refactoring
- Nutzung von Schleifen mit Exit-Bedingungen (z.B. Bash-Exit-Code)
- Verlässlichere Ergebnisse durch deterministische Abläufe
- Vermeidung von "Cheating" oder Vergessen durch das Hauptmodell
Vermeidung von KontextfensterĂĽberlastung
- Endresultate von Sub-Agents belasten nicht das Kontextfenster des Hauptagents
- Schmales und effizientes Systemprompt bleibt erhalten
- Beispiel: 5 parallel laufende Agenten ohne Kontextverschmutzung
Praktisches Beispiel: GitHub-Issues & Parallele Aufgaben
- Nutzung von GitHub-Issues zur Aufgabenverwaltung
- Parallelisierung von Subtasks mit eigenen Worktrees
- Jeder Sub-Agent arbeitet in einem isolierten Worktree
- Trennung von Entwicklungs- und Review-Phasen
Workflow „Entwickeln bis zur Genehmigung“
- Zwei Modelle: eines fĂĽr Entwicklung, eines fĂĽr Review
- Iterative Korrektur bei Ablehnung durch den Reviewer
- Maximale Anzahl an Wiederholungen definiert
- Nach der Genehmigung folgt die ZusammenfĂĽhrungsphase
ZusammenfĂĽhrungsphase und deterministische Bereinigung
- ZusammenfĂĽhrung aller Worktrees in den Hauptzweig
- Deterministische Bereinigung durch Code statt Agenten
- Überprüfung der Merge-Integrität durch Commit-Analyse
- Automatisches Entfernen der Worktrees nach erfolgreichem Merge
Zusammenfassungsphase & Optimierung der Systemabfragen
- Zusammenfassung von Erfolg, Misserfolg und Testergebnissen
- Nur das Ergebnis landet im Systemprompt des Hauptagents
- Vermeidung von Rauschen im Hauptkontext
- Integration weiterer Erweiterungen zur Funktionalitätserweiterung
Workflows über Abfragen auslösen
- Einfache Prompt-Auslösung für komplexe Workflows
- LLM findet verfĂĽgbare Funktionen ĂĽber ein Tool
- Entkopplung der Workflow-AusfĂĽhrung vom expliziten Prompt
- Verwaltung von Agenten und Ressourcenverbrauch
Laufende Agenten verwalten (Pause, Fortsetzen, Protokoll)
- Möglichkeit zum Pausieren, Stoppen und Fortsetzen von Workflows
- Journaling aller Aktionen fĂĽr Wiederherstellung und Debugging
- Kopieren der Run-ID fĂĽr detaillierte Analyse
- Forken von Pi-Sessions zur Nachverfolgung einzelner Agenten
Globale und Projekteinstellungen (Parallelität, Aliase)
- Konfiguration der Parallelität (Concurrency)
- Nutzung von Modell-Aliases fĂĽr verschiedene Rollen
- Fokus auf Token-Effizienz im Systemprompt
- Deaktivierung unnötiger Ressourcen pro Rolle
Ressourcen und Tools pro Rolle deaktivieren
- Anpassung der verfĂĽgbaren Tools je nach Rolle (z.B. Entwickler vs. Zusammenfassung)
- Vermeidung von unnötigen Interaktionen (z.B. "Grill me" Skill)
- Reduzierung des Systemprompts um bis zu 50%
- Fokussierung der Agenten auf die eigentliche Aufgabe
Laufzeitbudgets (weiche und harte Obergrenzen)
- Definition von Budgets fĂĽr Zeit, Tokens oder Kosten
- Weiche Obergrenze: Warnung an laufende Agenten
- Harte Obergrenze: Abbruch der Arbeit
- Vermeidung von KostenĂĽberschreitungen
Workflow-DSL-Primitive (Agent, Shell, Parallel usw.)
- Grundlegende Bausteine: Agent, Shell, Prompt, Parallel, Phase, Checkpoint, Worktree
- Erweiterbarkeit durch benutzerdefinierte Funktionen
- Nutzung von Shell-Befehlen fĂĽr Wartezeiten oder externe Interaktion
- Einfache Struktur für komplexe Abläufe
Beispiel: TDD-Schleifenimplementierung
- Implementierung von Test-Driven Development (TDD) Schleifen
- Automatisches AusfĂĽhren von Tests und Beheben von Fehlern
- Ausgabe von Standardfehler und Standardausgabe bei Misserfolg
- Konfiguration der Agenten-Tools und Optionen
Strukturierte Ausgabe mit JSON-Schema
- Möglichkeit zur Rückgabe von Ergebnissen im JSON-Format
- Strukturierte Daten fĂĽr weitere Verarbeitung
- Interpolation von Daten aus vorherigen Läufen
- Klare Definition von Aufgaben und Review-Ergebnissen
Rollenkonfiguration und Modellaliase
- Definition verschiedener Rollen mit spezifischen Modellen
- Nutzung von Modell-Aliases für Flexibilität
- Anpassung der Tools und Regeln pro Rolle
- Integration in das Systemprompt fĂĽr effiziente Auswahl
Erweiterte Anpassung und Anbindung an Pi
- Dynamische Anpassung der Agenten und Erweiterungen
- Hooks vor dem Starten von Agenten
- Lebenszyklus-Ereignisse und Fehlerbehandlung
- Nutzung von Hilfsfunktionen wie "Doctor" zur Diagnose
Hilfsfunktionen (Doctor, Inspection, Export)
- "Doctor"-Tool zur ĂśberprĂĽfung der Konfiguration
- Inspektion anderer Sessions und Transkripte
- Export-Funktion fĂĽr Workflows
- Fehlerbehebung bei falscher Tool-Konfiguration
Zukunftsvision: Workflows in Binärdateien bündeln
- Bündelung von Workflows in ausführbaren Binärdateien
- Kombination von Code und Agenten-Arbeit
- Beispiel: Reiseplanung mit Recherche und Logistik
- Nutzung von direkten API-Aufrufen zur Vermeidung von Halluzinationen
- Generierung von Berichten (HTML, PDF) am Ende des Prozesses
Zusammenfassung und Repository-Informationen
- Einladungen zum Experimentieren und Feedback
- Repository-Link in der Videobeschreibung
- Aktive Entwicklung und weitere Funktionen