Dual-Agent Pattern
Übersicht
Abschnitt betitelt „Übersicht“Das Dual-Agent Pattern ist die einfachste und gleichzeitig effektivste Form von Multi-Agent-Koordination im CC-Stack. Dokumentiert aus der Praxis (Medium, Juli 2025).
Zwei Agenten, ein Dateisystem, kein API-Overhead.
Gemini CLI (Scanner) Claude Code Tab (Fixer)───────────────────── ─────────────────────────Scannt kontinuierlich Codebase Monitort postbox/todo.md↓ ↓Schreibt Findings in todo.md Übernimmt offene Tasks↓ ↓"Never stop scanning. Never solve." Fixiert Code, committed ↓ Verschiebt Task nach done.mdShared State: ./postbox/todo.md und ./postbox/done.md — beide Agenten lesen und schreiben ins selbe Dateisystem.
Warum diese Rollenteilung?
Abschnitt betitelt „Warum diese Rollenteilung?“- Gemini CLI: Großes Context Window → ideal für vollständige Codebase-Scans
- Claude Code Tab: Tiefes Code-Verständnis + Filesystem-Zugriff → ideal für präzise Fixes
- Spezialisierung vermeidet Konflikte: Scanner ändert nie Code, Fixer scannt nie
1. Postbox initialisieren
Abschnitt betitelt „1. Postbox initialisieren“mkdir -p postboxecho "# Todo — Offene Tasks" > postbox/todo.mdecho "" >> postbox/todo.mdecho "| ID | Task | Priorität | Quelle | Datei:Zeile |" >> postbox/todo.mdecho "|----|------|-----------|--------|-------------|" >> postbox/todo.mdecho "" >> postbox/todo.md
echo "# Done — Erledigte Tasks" > postbox/done.mdecho "" >> postbox/done.mdecho "| ID | Task | Agent | Commit | Datum |" >> postbox/done.mdecho "|----|------|-------|--------|-------|" >> postbox/done.md
git add postbox/ && git commit -m "feat: postbox pattern initialisiert"2. Gemini CLI als Scanner starten (im ZED Agent Panel)
Abschnitt betitelt „2. Gemini CLI als Scanner starten (im ZED Agent Panel)“Du bist der Scanner-Agent für dieses Projekt. Lies zuerst AGENTS.md.
Deine Aufgaben:1. Scanne src/ vollständig nach [Bugs / Code-Smells / TODO-Kommentaren / deprecated APIs]2. Schreibe jeden Fund als neue Zeile in postbox/todo.md Format: | #ID | [Beschreibung] | [hoch/mittel/niedrig] | Gemini-Scan | [Datei:Zeile] |3. Löse NIEMALS selbst einen Task — nur scannen und dokumentieren4. Beginne sofort nach dem Schreiben mit dem nächsten Scan-Durchlauf
Starte jetzt mit dem ersten Scan.3. Claude Code Tab als Fixer starten
Abschnitt betitelt „3. Claude Code Tab als Fixer starten“Du bist der Fixer-Agent. Lies zuerst CLAUDE.md.
Deine Aufgaben:1. Lies postbox/todo.md2. Wähle den offenen Task mit höchster Priorität3. Trage deinen Namen unter "In Bearbeitung" ein4. Fixe den Code, schreibe Tests wenn sinnvoll5. Committe mit: fix: [Task-Beschreibung] (#ID)6. Verschiebe den Task nach postbox/done.md (mit Commit-Hash)7. Beginne sofort mit dem nächsten Task
Starte jetzt.Praktisches Beispiel
Abschnitt betitelt „Praktisches Beispiel“Ausgangssituation
Abschnitt betitelt „Ausgangssituation“postbox/todo.md:| #001 | Fehlende Fehlerbehandlung in parse_config() | hoch | Gemini-Scan | src/config.py:89 || #002 | Deprecated json.load ohne encoding | mittel | Gemini-Scan | src/utils.py:34 |Claude Code Tab arbeitet #001 ab
Abschnitt betitelt „Claude Code Tab arbeitet #001 ab“- Liest todo.md → wählt #001 (höchste Priorität)
- Öffnet
src/config.py:89 - Implementiert Fehlerbehandlung
git commit -m "fix: Fehlerbehandlung in parse_config() (#001)"- Schreibt in done.md:
| #001 | ... | Claude Code Tab | abc1234 | 2026-02-24 | - Entfernt #001 aus todo.md
Gemini CLI scannt weiter
Abschnitt betitelt „Gemini CLI scannt weiter“Während Claude Code Tab #001 fixt, hat Gemini CLI bereits #003, #004 in todo.md geschrieben.
Kein Synchronisationsaufwand. Kein API-Call. Nur Dateien.
Variante: Mensch als dritter Akteur
Abschnitt betitelt „Variante: Mensch als dritter Akteur“Das Pattern funktioniert auch mit einem Menschen in der Schleife:
Gemini CLI (Scanner) → todo.md ← Mensch (Prioritätssetzung) → Claude Code Tab (Fixer)Der Mensch prüft todo.md, setzt Prioritäten, löscht Falsch-Positive — und lässt Claude Code Tab dann die priorisierten Tasks abarbeiten.
Häufige Fehler vermeiden
Abschnitt betitelt „Häufige Fehler vermeiden“Scanner löst Tasks → Systemprompt explizit: “Never solve. Only scan.”
Fixer setzt keine Commit-Referenz → done.md ohne Hash ist nutzlos für Debugging
Zu viele Tasks auf einmal → Gemini schreibt 50 Einträge, Claude kommt nicht nach → Scan-Intervall oder Batch-Größe limitieren