Codex CLI vs Claude Code — head-to-head w polskim projekcie (3 zadania)
OpenAI Codex CLI i Anthropic Claude Code to dziś dwa najpoważniejsze narzędzia agentic coding. Wzięliśmy realny polski projekt (PHP/MySQL, panel CRM, 24 000 LOC) i daliśmy obu narzędziom te same trzy zadania. Bez teorii — surowe wyniki, kod, logi, decyzja końcowa.
Codex CLI i Claude Code to dwa narzędzia agentic coding, które w drugiej połowie 2025 zdominowały dyskusje deweloperów. Obie firmy obiecują "AI pisze kod za was". Wzięliśmy realny projekt klienta (anonimizowany panel CRM w PHP 8.3 + MariaDB, 24 174 linii kodu) i daliśmy obu narzędziom te same trzy zadania. Ten artykuł to surowa relacja z eksperymentu.
Setup eksperymentu
Identyczne środowisko Ubuntu 24.04, PHP 8.3, MariaDB 10.11. Te same prompty, ten sam git revision, te same testy końcowe. Czas mierzony stoperem, jakość oceniana przez senior dev z naszego zespołu (blind review).
Trzy zadania
- Dodać kolumnę `priority` (enum: low/medium/high) do tabeli `leads`, ze stosownym formularzem w panelu, walidacją server-side i refaktorem 4 widoków.
- Naprawić bug w kalkulatorze prowizji (handlowcy widzą zerowe prowizje, gdy klient ma `commission_type='procent+stala'`).
- Napisać endpoint `/api/leads-export.csv` zwracający lead-y z filtrami, z testami PHPUnit.
Zadanie 1 — kolumna priority
Claude Code
Czas: 11 min 42 s. Kroki: przeczytał `sql/`, przeczytał `helpers.php`, znalazł istniejące migracje, napisał nową migrację z `ADD COLUMN IF NOT EXISTS`, zlokalizował 4 widoki (`grep` po `leads.status`), dopisał dropdown, walidację, hook flash(). Bez błędów, testy przeszły. Kod wymagał drobnych korekt kosmetycznych (Polish labels) — Claude zapytał o nie sam.
Codex CLI
Czas: 14 min 18 s. Kroki: skanował projekt szerzej, dopisał migrację z poprawnym IF NOT EXISTS, ale w jednym widoku zapomniał o re-bindowaniu zdarzenia jQuery. Migracja działała, ale dropdown nie zapisywał. Po jednym poprawnym promptowanym pytaniu naprawił. Końcowa jakość kodu porównywalna z Claude.
Zadanie 2 — bug w prowizjach
Claude Code
Czas: 8 min 03 s. Najpierw odpalił `grep -r "commission_type"` (4 trafienia), zlokalizował logikę w `helpers.php::calc_commission()`. Bug okazał się w warunku `elseif`, który nie pokrywał wariantu `procent+stala`. Claude napisał fix z 3 nowymi testami jednostkowymi.
// Fix Claude Code — helpers.php
function calc_commission(array $deal, array $rep): float {
$type = $rep['commission_type'] ?? 'brak';
$mrr = (float) $deal['mrr'];
return match ($type) {
'procent' => $mrr * ($rep['commission_pct'] / 100),
'stala' => (float) $rep['commission_flat'],
'procent+stala' => $mrr * ($rep['commission_pct'] / 100)
+ (float) $rep['commission_flat'],
default => 0.0,
};
}
Codex CLI
Czas: 9 min 51 s. Też zlokalizował problem, ale dał poprawkę bez `match` (klasyczna kaskada if/elseif). Działa, ale styl mniej idiomatyczny dla PHP 8.x. Testy napisał, ale tylko dwa.
Zadanie 3 — endpoint CSV
Claude Code
Czas: 18 min 27 s. Pełna implementacja: routing, kontroler, sanitacja filtrów (whitelist), nagłówki Content-Type/Disposition, BOM dla Excela polskiego, testy PHPUnit z fixturami. Kod był production-ready w jednym ruchu.
Codex CLI
Czas: 21 min 09 s. Działa, ale brakowało BOM (UTF-8 BOM dla polskiego Excela — klasyczna pułapka). Po jednym promptowanym pytaniu naprawił. Testy PHPUnit kompletne.
Wyniki — tabela porównawcza
| Kryterium | Claude Code | Codex CLI |
|---|---|---|
| Łączny czas (3 zadania) | 38 min 12 s | 45 min 18 s |
| Liczba interwencji człowieka | 1 | 3 |
| Jakość kodu (1-5) | 4,6 | 4,2 |
| Idiomy PHP 8.x | tak | częściowo |
| Polski kontekst (BOM, labels) | tak | po podpowiedzi |
| Koszt API (USD) | 2,18 | 1,42 |
Rekomendacja
Claude Code wygrał na jakości i na pierwsze trafienie. Codex CLI był tańszy. Dla polskiego projektu z wymogami "production-ready od pierwszego strzału" wybieramy Claude Code. Dla zadań eksploracyjnych i dużej liczby krótkich tasków — Codex CLI ma sens cenowo.
Praktyka: jak wdrożyć w zespole
- Trzy tygodnie pilotażu na nie-krytycznych zadaniach.
- Jeden senior jako "AI champion" — pilnuje jakości promptów.
- Code review zawsze — AI nie zwalnia ze standardów.
- Mierzcie czas + liczbę interwencji — to wasze metryki ROI.
Podsumowanie
Obydwa narzędzia są produkcyjnie gotowe. Nasza domyślna rekomendacja: Claude Code dla projektów Symfony/Laravel/raw PHP z wymogami jakości, Codex CLI dla projektów front-end-heavy i prototypowania. Pokażemy wam wdrożenie obu narzędzi w waszym zespole — łącznie z konfiguracją hooks i MCP.
Chcesz przetestować, jak AI rozwiąże to u Ciebie?
30 minut rozmowy + pokaz działającego wdrożenia u klienta. Bez NDA.
Umów demo