Claude Code vs Codex, Runde 2: 3 praxisnahe Aufgaben über mehrere Dateien, jeweils 3-mal getestet
In der ersten Messreihe erreichten beide Tools die volle Punktzahl bei kleinen Aufgaben in jeweils einer Datei. Diesmal haben wir ein kleines Shop-Projekt erstellt, das echtem Anwendungscode näherkommt (Preisberechnung, Lagerbestand, Bestellungen und Speicher, 6 Dateien). Die Aufgaben umfassten einen Fehler mit bloßer Symptombeschreibung wie in einer Kundenmeldung, eine Funktion nach Spezifikation und einen Fehler, der nur bei gleichzeitigen Bestellungen auftritt.
Ausgeführt am 2026-10-04
Auf einen Blick
- Erfolgsquote: Beide Tools bestanden erneut in allen 9 Durchläufen sämtliche versteckten Tests. Wegen zufälliger Verzögerungen wurde jeder Durchlauf der Nebenläufigkeitsaufgabe dreimal bewertet; kein einziger scheiterte.
- Geschwindigkeit: Gemessen am Median pro Aufgabe war Codex (GPT-6.1 Sol) etwa 1.3~1.9-mal so schnell wie Claude Code (Claude Opus 5). Der Unterschied betrug je nach Aufgabe 24~42 Sekunden.
- Tokens: Gemessen am Median pro Aufgabe benötigte Claude Code etwa 4~6-mal so viele Eingabetokens (einschließlich Cache-Wiederverwendung) und etwa 2.5~3.7-mal so viele Ausgabetokens wie Codex.
- Arbeitsweise: Codex ergänzte bei der Fehleraufgabe (T4) und der Nebenläufigkeitsaufgabe (T6) in allen 6 Durchläufen neue Regressionstestdateien und änderte einmal auch README und den Speichercode (store.js). Claude Code ergänzte in keinem der 9 Durchläufe Tests und änderte ausschließlich Quelldateien.
- Entwurfsentscheidung: Bei der Nebenläufigkeitsaufgabe nutzten beide Tools in allen 6 Durchläufen eine globale Sperre, die 'die Bestellverarbeitung in eine einzige Warteschlange einreiht'. Die Ergebnisse sind korrekt, aber auch Bestellungen verschiedener Produkte müssen aufeinander warten.
Ergebnisse
Die Zeit ist der Median aus 3 Durchläufen; in Klammern steht die Spanne vom schnellsten bis zum langsamsten Durchlauf.
| Aufgabe | Tool | Bestanden (alle 3 Durchläufe) | Benötigte Zeit | Eingabetokens | Ausgabetokens | Geänderte Zeilen (+/−) | |
|---|---|---|---|---|---|---|---|
| T4 Fehlerbehebung über mehrere Dateien · Claude Code | T4 Fehlerbehebung über mehrere Dateien | Claude Code | 3/3 | 60,6s (59,7–75,2) | 564.618 | 4.495 | +6 / −5 |
| T4 Fehlerbehebung über mehrere Dateien · Codex CLI | Codex CLI | 3/3 | 36,3s (31,9–44,2) | 94.160 | 1.363 | +4 / −4 | |
| T5 Funktion nach Spezifikation ergänzen · Claude Code | T5 Funktion nach Spezifikation ergänzen | Claude Code | 3/3 | 90,1s (89,8–110,6) | 592.485 | 7.366 | +42 / −2 |
| T5 Funktion nach Spezifikation ergänzen · Codex CLI | Codex CLI | 3/3 | 47,8s (47–49,3) | 95.745 | 2.002 | +41 / −2 | |
| T6 Nebenläufigkeitsfehler + API-Umstellung · Claude Code | T6 Nebenläufigkeitsfehler + API-Umstellung | Claude Code | 3/3 | 111,9s (104,4–147,4) | 660.107 | 9.554 | +87 / −16 |
| T6 Nebenläufigkeitsfehler + API-Umstellung · Codex CLI | Codex CLI | 3/3 | 85s (79–93,1) | 162.193 | 3.818 | +49 / −18 |
Die Eingabetokens enthalten überwiegend aus dem Cache wiederverwendete Tokens beim erneuten Lesen vorheriger Gesprächsschritte. Da die beiden CLIs Tokens unterschiedlich zählen, dienen die Werte nur als grober Größenvergleich.
Die von Claude Code gemeldeten 'auf API-Listenpreise umgerechneten Kosten' lagen diesmal bei etwa 0.78~1.25 USD pro Aufgabe. Bei Abokonten wird dieser Betrag nicht separat bezahlt; die Nutzung wird auf das Nutzungslimit des Tarifs angerechnet. Codex meldete keinen entsprechenden Wert, daher haben wir ihn nicht verglichen.
3 Aufgaben
T4 Fehlerbehebung über mehrere Dateien
ISSUES.md enthielt nur 4 Kundenmeldungen: Dezimalstellen bei Yen-Beträgen, kein Mengenrabatt beim Kauf von genau 10 Stück, eine Abweichung von 1 Cent bei einem 15%-Gutschein und eine negative Gesamtsumme durch einen Gutschein. Die korrekten Regeln mussten die Tools in README finden. Die Ursachen verteilen sich auf money.js und cart.js.
T5 Funktion nach Spezifikation ergänzen
Die Aufgabe bestand darin, Teilrückerstattungen (refundOrder) nach der Spezifikation in README zu implementieren. Versteckte Tests prüfen die Regel, dass die Erstattung sinkt, wenn Rückgaben die Mengenrabattbedingung aufheben, außerdem die Neuberechnung von Gutscheinen, die Wiederherstellung des Lagerbestands, mehrere Teilrückerstattungen, die Ablehnung überhöhter Rückerstattungen und die Bedingung, dass bei einem Fehlschlag nichts verändert werden darf.
T6 Nebenläufigkeitsfehler + API-Umstellung
Die Aufgabe bestand darin, einen Fehler zu beheben, bei dem mehrere gleichzeitige Käufer des letzten verfügbaren Artikels alle erfolgreich bestellen und der Lagerbestand negativ wird. Gleichzeitig sollte die API neben den bisherigen Callback-Aufrufen auch await unterstützen. Versteckte Tests prüfen gleichzeitige Bestellungen von 20 Personen, Deadlocks bei Bestellungen mehrerer Produkte, das Alles-oder-nichts-Prinzip und die Fehlerweitergabe.
Anweisung für alle Durchläufe
In der folgenden Anweisung ändert sich je nach Aufgabe nur der eine Satz nach 'Task:'. Anders als in der ersten Messreihe sollten die Tools 'README.md und andere Dokumente' lesen.
This folder is a small Node.js project (ES modules, no dependencies). Read the code, README.md and any other docs, and the tests. Task: {task} Do not modify existing test files. When you are done, make sure `node --test` passes.- T4 Fehlerbehebung über mehrere Dateien —
Fix the bugs reported in ISSUES.md. README.md describes the correct pricing rules. - T5 Funktion nach Spezifikation ergänzen —
Implement refundOrder in src/orders.js according to the Refunds section of README.md. - T6 Nebenläufigkeitsfehler + API-Umstellung —
Fix the problems described in the Orders section of README.md (overselling, and supporting both the Promise and the callback style).
So haben wir gemessen
- Ausgeführt am 2026-10-04 (nachts, koreanische Zeit), Apple M1 Pro · macOS 26.6 · Node.js 22. Derselbe Computer, dieselben Versionen und dieselben Einstellungen wie in der ersten Messreihe.
- Claude Code 2.1.250 — Standardmodell Claude Opus 5 (für kurze Hilfsaufgaben wurde zusätzlich Claude Haiku 4.5 aufgerufen). Codex CLI 0.159.2 — Modell GPT-6.1 Sol, Reasoning-Stufe medium.
- Beide Tools liefen über die persönlichen Abokonten des Betreibers im nicht interaktiven Modus (claude -p, codex exec). Dateiänderungen und node-Ausführungen waren automatisch erlaubt. Die Durchläufe erfolgten ohne Zusatzkosten innerhalb der bestehenden Abos.
- Für jede Aufgabe wechselte die Reihenfolge (1. Durchlauf Claude Code zuerst, 2. Durchlauf Codex zuerst, 3. Durchlauf Claude Code zuerst). Währenddessen liefen auf demselben Computer keine rechenintensiven Arbeiten wie Builds.
Bewertungsmethode
- Für jede Aufgabe gab es 3 für den Agenten sichtbare Tests und versteckte Tests (9~12), die erst zur Bewertung hinzugefügt wurden. Die versteckten Tests wurden vorab anhand der vom Betreiber geschriebenen Referenzlösung geprüft. Die Referenzlösung der Nebenläufigkeitsaufgabe wurde 10-mal ausgeführt, um gleichbleibende Ergebnisse zu überprüfen.
- Vor der Bewertung wurde der test-Ordner auf den Originalzustand zurückgesetzt. Vom Agenten neu hinzugefügte Testdateien wurden nicht für die Bewertung verwendet.
- Da Nebenläufigkeitsfehler nur gelegentlich auftreten können, wurde jedes Ergebnis zu unterschiedlichen Zeiten dreimal bewertet und die niedrigste Punktzahl erfasst.
Wie unterschied sich der Code der beiden Tools?
- T4: Beide Tools fanden alle 4 Fehler in money.js (Dezimalstellen bei Yen, Rundung) und cart.js (Schwelle von 10 Stück, Gutscheinobergrenze). Die Zahl geänderter Quellcodezeilen war mit 5~9 bei Claude Code und 4~5 bei Codex ähnlich. Codex erstellte in allen drei Durchläufen eine separate Regressionstestdatei, die die gemeldeten Probleme reproduzierte.
- T5: Beide Tools setzten die Spezifikation um, 'den Preis der verbleibenden Produkte nach den ursprünglichen Regeln neu zu berechnen und abzuziehen'. Auch die Zahl ergänzter Quellcodezeilen war mit 40~47 ähnlich.
- T6: Beide Tools serialisierten in allen 6 Durchläufen die gesamte Bestellverarbeitung über eine einzige Warteschlange (globale Sperre). Codex band die Sperre im 2. und 3. Durchlauf an den Speicher, sodass mehrere Bestelldienste mit demselben Speicher die Warteschlange teilen. Im 1. Durchlauf ergänzte es eine transaction-Funktion im Speicher und eine Erklärung in README. Claude Code änderte ausschließlich orders.js. Keines der Tools nutzte separate Sperren pro Produkt.
Grenzen dieses Praxistests
- Das Projekt ist mit etwa 200 Zeilen und 6 Dateien klein. Es ist praxisnäher als in der ersten Runde, aber wesentlich kleiner als ein echtes Anwendungsrepository.
- Da beide Tools die volle Punktzahl erreichten, zeigte sich kein Genauigkeitsunterschied. Bei größeren Repositories oder Aufgaben mit unklaren Anforderungen können die Ergebnisse anders ausfallen.
- Die benötigte Zeit hängt vom Serverzustand und vom Netzwerk ab. Abwechselnde Durchläufe in derselben Nacht haben diesen Einfluss nur verringert, nicht beseitigt.
- Codex lief mit der Reasoning-Stufe medium, Claude Code mit den Standardeinstellungen. Wie stark die Nutzungslimits der Abos beansprucht wurden, haben wir nicht gemessen.
Welches Tool eignet sich also?
Die folgenden Einschätzungen des Betreibers beruhen auf diesen Messergebnissen.
- Auch bei praxisnahen Aufgaben dieser Größe zeigte sich kein Unterschied in der Korrektheit der Ergebnisse. Es ist sinnvoll, zuerst das Tool zu nutzen, das im bereits bezahlten Abo enthalten ist.
- Wer schnell Ergebnisse sehen möchte: Codex war auch diesmal 1.3~1.9-mal so schnell.
- Wer den Änderungsumfang klein halten möchte, war mit Claude Code besser bedient (nur Quelldateien geändert). Codex ergänzt selbstständig Regressionstests, änderte aber in einem Fall auch ungefragt README und Speichercode; solche Änderungen sollten geprüft werden.
- Bei Problemen, die Entwurfsentscheidungen erfordern, etwa Nebenläufigkeit und Leistung, wählten beide Tools die einfachste korrekte Lösung. Wenn Anforderungen wie der Durchsatz wichtig sind, sollten sie ausdrücklich in der Anweisung stehen.
Alle 18 Durchlaufprotokolle
| Aufgabe | Tool | Durchlauf | Sekunden | Bestandene Tests | Eingabetokens | Ausgabetokens | Geänderte Zeilen (+/−) | |
|---|---|---|---|---|---|---|---|---|
| T4 · Claude Code · Durchlauf 1 | T4 | Claude Code | 1 | 59,7 | 15/15 | 567.694 | 4.495 | +9 / −5 |
| T4 · Claude Code · Durchlauf 2 | T4 | Claude Code | 2 | 75,2 | 15/15 | 496.174 | 4.638 | +5 / −5 |
| T4 · Claude Code · Durchlauf 3 | T4 | Claude Code | 3 | 60,6 | 15/15 | 564.618 | 4.458 | +6 / −5 |
| T4 · Codex CLI · Durchlauf 1 | T4 | Codex CLI | 1 | 44,2 | 15/15 | 95.606 | 1.850 | +5 / −5 |
| T4 · Codex CLI · Durchlauf 2 | T4 | Codex CLI | 2 | 36,3 | 15/15 | 94.160 | 1.363 | +4 / −4 |
| T4 · Codex CLI · Durchlauf 3 | T4 | Codex CLI | 3 | 31,9 | 15/15 | 89.421 | 1.168 | +4 / −4 |
| T5 · Claude Code · Durchlauf 1 | T5 | Claude Code | 1 | 89,8 | 12/12 | 654.717 | 7.366 | +42 / −2 |
| T5 · Claude Code · Durchlauf 2 | T5 | Claude Code | 2 | 90,1 | 12/12 | 585.062 | 7.327 | +47 / −2 |
| T5 · Claude Code · Durchlauf 3 | T5 | Claude Code | 3 | 110,6 | 12/12 | 592.485 | 9.232 | +40 / −2 |
| T5 · Codex CLI · Durchlauf 1 | T5 | Codex CLI | 1 | 49,3 | 12/12 | 95.745 | 2.054 | +40 / −2 |
| T5 · Codex CLI · Durchlauf 2 | T5 | Codex CLI | 2 | 47 | 12/12 | 95.683 | 1.989 | +41 / −2 |
| T5 · Codex CLI · Durchlauf 3 | T5 | Codex CLI | 3 | 47,8 | 12/12 | 116.203 | 2.002 | +43 / −2 |
| T6 · Claude Code · Durchlauf 1 | T6 | Claude Code | 1 | 147,4 | 12/12 | 1.100.259 | 10.403 | +105 / −16 |
| T6 · Claude Code · Durchlauf 2 | T6 | Claude Code | 2 | 111,9 | 12/12 | 660.107 | 9.554 | +87 / −16 |
| T6 · Claude Code · Durchlauf 3 | T6 | Claude Code | 3 | 104,4 | 12/12 | 646.651 | 8.335 | +63 / −16 |
| T6 · Codex CLI · Durchlauf 1 | T6 | Codex CLI | 1 | 85 | 12/12 | 173.381 | 3.818 | +64 / −25 |
| T6 · Codex CLI · Durchlauf 2 | T6 | Codex CLI | 2 | 93,1 | 12/12 | 162.193 | 4.385 | +49 / −18 |
| T6 · Codex CLI · Durchlauf 3 | T6 | Codex CLI | 3 | 79 | 12/12 | 157.801 | 3.694 | +44 / −17 |
Aufgaben- und Bewertungsdateien herunterladen
Das Paket enthält die ursprünglichen Aufgaben (Shop-Code), versteckte Tests, Referenzlösungen, Ausführungsskripte, eine Zusammenfassung der 18 Ergebnisse (JSON) und die Diffs jedes Durchlaufs.
coding-agents-round2-2026-10.zip herunterladen