In letzter Zeit häufen sich auf X und Discord spürbar die Beiträge à la „Claude Code und Codex zusammen nutzen“. Alle sagen, das sei gut, also habe ich etwa einen Monat lang beide Tools zusammen in einem Repo installiert und im Einsatz getestet, um zu sehen, ob das wirklich so ist. Als ich es tatsächlich einführen wollte, gab es jedoch eine ganze Menge Entscheidungspunkte: Wo fängt man mit dem Setup an, wie teilt man die Aufgaben zwischen den beiden Tools so auf, dass es nicht zu Konflikten kommt, und kann man AGENTS.md und CLAUDE.md einfach mit demselben Inhalt füllen? Damit diejenigen, die wegen derselben Fragen noch nicht loslegen konnten, weniger Trial-and-Error durchlaufen müssen, habe ich das Ganze in Form eines Curriculums mit 8 Kapiteln zusammengestellt.
Der Workflow mit zwei Agenten ist einfach. Wenn man dasselbe Modell seinen eigenen Code schreiben und anschließend selbst reviewen lässt, übernimmt es stillschweigend die eigenen Annahmen und entdeckt Lücken oft nicht. Deshalb stellt man ein anderes Modell als Advisory-Reviewer (ohne Blockierung) daneben. Claude Code ist der Hauptautor, Codex der Advisory-Reviewer. Entscheidend ist nicht, welche Seite „klüger“ ist, sondern dass es sich um unterschiedliche Modelle handelt. In dem Moment, in dem beide gegenseitig zu Gates werden, bricht der Workflow zusammen. Die wichtigste Regel ist daher, Advisory niemals in eine Blockierung zu verwandeln.
Hintergrund — Veränderungen, die ich beim Ordnen noch einmal nachvollzogen habe
• Früher lautete die Frage: „Welches AI-Coding-Tool ist am besten?“
• Heute lautet die Frage: „Wie teilt man zwei oder mehr Tools sinnvoll auf?“ und „Wie deckt man die Blind Spots eines Tools mit einem anderen ab?“
• Mit Slash-Commands und Sub-Agenten in Claude Code, der Trennung von review/exec in Codex und Kontextdateien wie AGENTS.md ist der Zeitpunkt gekommen, an dem es erstmals realistisch geworden ist, eine duale Struktur fest in den Workflow einzubauen
Kern des Dual-Pattern (der Teil, der mich nach einem Monat am meisten beeindruckt hat)
• Advisory ist niemals Blockierung — selbst wenn Codex etwas als CRITICAL markiert, geht ein Push trotzdem durch. Wenn man es auch nur einmal in eine Blockade verwandelt, steht bei einem Model-Down die gesamte Arbeit still, und schon ein einziges false positive führt dazu, dass Nutzer anfangen, mit --no-verify den gesamten Hook zu umgehen
• CLAUDE.md / AGENTS.md werden nicht mit demselben Inhalt gefüllt — für den Autor geht es um „wie wird es gebaut?“, für den Reviewer um „was sollte angezweifelt werden?“. Wenn sich beides zu mehr als 80 % überschneidet, ist das ein Zeichen dafür, dass in Wirklichkeit kaum Arbeitsteilung stattfindet
• codex review --base vs. codex exec wird nach Use Case getrennt — review liest Git direkt und ist elegant, führt bei großen PRs aber schnell zu Token-Explosionen; bei exec kann man den Diff direkt in den Prompt einfügen und die Kosten besser steuern. Bei Änderungen in mehr als 100 Dateien wechsle ich typischerweise zu exec
• Die zweistufige Secret-Abwehrlinie im pre-push-Hook — Dateimuster (.env, *.pem, secrets/) führen zum Push-Abbruch, Inline-Regexe (sk-, ghp_, AKIA …) erzeugen nur Warnungen. „Never block“ beim Advisory ist eine Regel für Model-Output; das Pushen von Secret-Dateien ist ein separater Sicherheitsvorfall, bei dem Blockierung die richtige Antwort ist
• Mit genau einem Wrapper für graceful degradation auffangen — standardmäßig JSON envelope + --raw Markdown, bash-native Timeouts, immer exit 0. Der Aufrufer verzweigt nur anhand des Status
Was sich nach einem Monat Nutzung verändert hat
• Kurz vor dem Merge werden mehr Bugs entdeckt. Gerade an Stellen, an denen Claude überzeugt sagt „gut gebaut“, weist Codex überraschend oft auf Race Conditions oder fehlende Null-Checks hin
• Das Gefühl, am Tag nach dem Erstellen eines PRs noch einmal hineinzusehen und zu denken „Warum habe ich das so gebaut?“, ist fast verschwunden. Weil einmal eine andere Perspektive hineingekommen ist, sinken die Kosten für spätere Regressionsprüfungen
• Die Ermüdung durch Self-Review, also den eigenen Code selbst noch einmal akribisch zu prüfen, ist deutlich zurückgegangen. Es fühlt sich an, als hätte man einen zusätzlichen menschlichen Reviewer
• Gerade vor schwer rückgängig zu machenden Änderungen wie Migrations-SQL oder Zahlungsabläufen macht psychologisch den größten Unterschied, dass noch einmal ein anderes Modell darübergeschaut hat
Aufbau des Curriculums (8 Kapitel, 5 Teile)
• Part 1 Denkweise für den kombinierten Einsatz zweier Agenten · 1 Kapitel — Blind Spots einzelner Agenten, Kriterien zur Kostenrechtfertigung
• Part 2 Umgebung und Kontext · 2 Kapitel — Basis-Setup mit VSCode + Claude Code + Codex CLI, Aufgabentrennung zwischen AGENTS.md und CLAUDE.md
• Part 3 Muster zur Review-Automatisierung · 3 Kapitel — Advisory-Wrapper-Skript, Multi-Phase-Pipeline mit Slash-Commands, pre-push-Hook-Automatisierung
• Part 4 Betriebsleitfaden · 1 Kapitel — Entscheidungsbaum zur Tool-Auswahl nach Aufgabentyp, Kosten- und Modellleitfaden, Abschnitt zu Security & Privacy
• Part 5 Boilerplate · 1 Kapitel — ein Paket aus Wrapper-, Hook- sowie CLAUDE.md/AGENTS.md-Templates, das sich direkt ins eigene Repo übernehmen lässt
Gedanken, die mir beim Zusammenfassen kamen
• Der wahre Wert der dualen Struktur liegt darin, „dass die beiden Tools nicht gegenseitig zu Gates werden“. Sobald man einmal Blockierung zulässt, steht bei einem Ausfall einer Seite die Arbeit still, und schon ein einziges false positive bringt Nutzer dazu, den gesamten Hook zu umgehen — womit der Hook selbst wirkungslos wird
• Je schneller AI-Tools werden, desto entscheidender scheint nicht mehr „welches Tool man benutzt“ zu sein, sondern „wie man die Blind Spots mehrerer Tools überlappend abdeckt“. Das ist dieselbe Struktur wie der Grund, warum man menschliche Code-Reviews von mehr als einer Person einholt
• Ich teile das hier für alle, denen es beim Arbeiten mit AI-Coding-Tools nicht ganz geheuer war, den eigenen Code selbst noch einmal zu prüfen, oder die noch aufgeschoben haben, Claude Code und Codex gemeinsam zu installieren. Wenn ich etwas falsch verstanden oder ungenau zusammengefasst habe, sagt mir bitte in den Kommentaren Bescheid; ich pflege es dann ein.
Noch keine Kommentare.