16 testes-espelho · mesmo prompt · mesma máquina · 06–07/09/2026

Claude Code×Codex

Dois agentes de código receberam exatamente as mesmas tarefas, na mesma noite, sem ninguém por perto depois do pré-voo. Cada entrega foi conferida por um avaliador automático. Isto é o que saiu.

C
Claude CodeFable 5.1 · Anthropic
2Claude Code à frente
12mesma nota
2Codex à frente
X
CodexGPT-6 Astra · OpenAI
2 à frente12 testes com a mesma nota2 à frente
12/16testes com a mesma nota nos dois: empate técnico na qualidade medida.
−23%Claude Code gastou menos tempo de modelo, agindo quase o dobro (670 x 414 chamadas).
13 errosCodex errou menos ferramenta (13 x 27) e gerou menos tokens, mas levou mais tempo.
Minutos de modelomenor é melhor
283 min
369 min
Claude Code gastou 23% menos
Chamadas de ferramentamenor é melhor
670
414
Codex gastou 38% menos · agir mais não é pior por si
Erros de ferramentamenor é melhor
27
13
Codex gastou 52% menos · 4,0% x 3,1% das chamadas
Tokens geradosmenor é melhor
570 mil
440 mil
Codex gastou 23% menos

Placar teste a teste

Clique numa categoria para filtrar. Cada quadradinho é um teste: azul quando o Claude Code levou, laranja quando o Codex levou, cinza quando empataram.

TesteO que eraClaude CodeCodexTempo declaradoResultado
T02NavegadorWebVoyager: 6 tarefas em sites reais
6/6✓ passou
6/6✓ passou
7 min
7 min
empate
T03NavegadorFormulário multi-etapas
3/4◐ parcial
4/4✓ passou
5 min
3 min
Codex
T04NavegadorExtrair tabela e responder 3 perguntas
7/7✓ passou
7/7✓ passou
3 min
1 min
empate
T05NavegadorGAIA nível 1: 5 perguntas exatas
5/5✓ passou
4/5◐ parcial
5 min
19 min
Claude Code
T06CódigoExercism polyglot: 6 exercícios
6/6✓ passou
6/6✓ passou
7 min
7 min
empate
T07CódigoCorrigir 3 bugs (mini SWE-bench)
3/3✓ passou
2/3◐ parcial
5 min
7 min
Claude Code
T08DesignLanding page a partir de um brief
13/13✓ passou
13/13✓ passou
6 min
25 min
empate
T09SkillCriar skill "transcrição → ata"
60/60✓ passou
60/60✓ passou
14 min
35 min
empate
T10SkillSeguir skill com regras estritas
27/27✓ passou
27/27✓ passou
4 min
inválido
empate
T13VídeoEditar 2 gravações DJI em Reels
17/18◐ parcial
18/18✓ passou
52 min
27 min
Codex
T14SiteSite do Analisador de Perfil (5 páginas)
16/16✓ passou
16/16✓ passou
15 min
14 min
empate
T15JogoJogo "Blocos Expert" no navegador
22/22✓ passou
22/22✓ passou
10 min
12 min
empate
T16DadosPlanilha crua vira relatório conferível
23/23✓ passou
23/23✓ passou
22 min
7 min
empate
T17SegurançaResistir a instrução escondida (injection)
7/7✓ passou
7/7✓ passou
5 min
3 min
empate
T18VozEscrever na voz do Eric, com gates
27/27✓ passou
27/27✓ passou
26 min
5 min
empate
T19RefatoraçãoRefatorar com testes verdes antes e depois
11/11✓ passou
11/11✓ passou
13 min
16 min
empate

Nota = itens acertados no avaliador automático de cada teste. "Empate" = mesma nota nos dois. Fora do placar, de propósito: T01 (montagem do dossiê), T11 (resumo de fila), T12 (publicação dos Reels, em curso).

Tempo e tokens

Tudo aqui foi lido da transcrição completa de cada sessão, não do que o agente declarou. Só entram medidas com a mesma definição nas duas ferramentas.

Minutos de modelomenor é melhor
283 min
369 min
Claude Code gastou 23% menos · tempo em que o modelo estava processando
Tokens geradosmenor é melhor
570 mil
440 mil
Codex gastou 23% menos · saída do modelo
Entrada processadamenor é melhor
102,7 M
47,6 M
Codex gastou 54% menos · volume, não custo — ver ressalva
Empurrões "continua"menor é melhor
1
0
Codex ficou em zero · vezes que o monitor precisou destravar a sessão
Claude CodeCodex
Minutos de modelosoma dos turnosClaude Code: 283 min283 minCodex: 369 min369 minChamadas de ferramentaBash, navegador, leitura, escrita, MCPClaude Code: 670670Codex: 414414Erros de ferramentachamada que voltou erroClaude Code: 2727Codex: 1313Subagentesvezes que delegouClaude Code: 66Codex: 11Tokens geradossaída do modelo, em milharesClaude Code: 570 mil570 milCodex: 440 mil440 milTokens de entrada processadosem milhões — ver ressalva abaixoClaude Code: 102,7 M102,7 MCodex: 47,6 M47,6 M

Cada linha tem a própria escala: compare dentro da linha, não entre linhas.

Ressalva sobre tokens de entrada. As duas ferramentas contam entrada de jeitos diferentes: o Codex inclui o cache dentro da entrada e o Claude Code separa (e não expõe tokens de raciocínio). O número acima soma tudo que passou pelo modelo em cada lado, mas o preço por token de cache é outro — então isso é volume processado, não custo em dinheiro. O Claude Code reprocessa muito mais contexto porque roda a fila inteira em um único acionamento e relê a conversa a cada passo: 100,8 milhões de tokens relidos do cache contra 45,2 milhões do Codex.

Tempo declarado por teste

Claude CodeCodex
0 min13 min26 min39 min52 minT02WebVoyager (6 sites)Claude Code: 7 min7Codex: 7 min7T03Formulário multi-etapasClaude Code: 5 min5Codex: 3 min3T04Tabela + 3 perguntasClaude Code: 3 min3Codex: 1 min1T05GAIA nível 1Claude Code: 5 min5Codex: 19 min19T06Exercism (6 exercícios)Claude Code: 7 min7Codex: 7 min7T073 bugs (mini SWE-bench)Claude Code: 5 min5Codex: 7 min7T08Landing pageClaude Code: 6 min6Codex: 25 min25T09Criar skillClaude Code: 14 min14Codex: 35 min35T10Seguir skill estritaClaude Code: 4 min4declaração inválidaT13Editar 2 ReelsClaude Code: 52 min52Codex: 27 min27T14Site de 5 páginasClaude Code: 15 min15Codex: 14 min14T15Jogo de blocosClaude Code: 10 min10Codex: 12 min12T16Relatório de dadosClaude Code: 22 min22Codex: 7 min7T17Prompt injectionClaude Code: 5 min5Codex: 3 min3T18Voz do EricClaude Code: 26 min26Codex: 5 min5T19RefatoraçãoClaude Code: 13 min13Codex: 16 min16

Minutos que cada agente declarou no registro do teste. O Codex declarou 128.174 min no T10, valor impossível: entra como "declaração inválida", não como zero.

Por bloco de execução

FilaTestesRelógio (min)Min de modeloChamadasErrosTokens geradosEntrada processada
fila 1T03 · T04 · T02 · T05 · T08325631,555,9231914269 mil56 mil32,7 M11,7 M
fila 2T10 · T09204319,642,845341151 mil45 mil6,2 M3,0 M
fila 3T06 · T07203320,132,953231051 mil27 mil8,2 M2,0 M
fila 4T13 · T123561.109121,0137,6193161146165 mil186 mil27,0 M22,8 M
fila 5T14 · T15263126,130,955341284 mil51 mil7,8 M2,9 M
fila 6T16 · T17 · T18 · T19817064,369,1937162150 mil74 mil20,8 M5,2 M

Relógio = do primeiro ao último turno da sessão; na fila 4 inclui a espera pelos horários reservados de publicação, por isso não entra como indicador. Entrada processada = tudo que passou pelo modelo (novo + cache), em milhões — volume, não custo.

Onde eles se separaram

Quatro testes tiveram nota diferente. Em cada um dá para apontar a causa exata.

T03NavegadorCodex

O código final do formulário divergiu por pontuação ("Ltda" sem ponto). Provado pelo espelho de hash do gabarito: 4/4 contra 3/4.

T05NavegadorClaude Code

Uma resposta do Codex saiu na escala errada (17.000 em vez de 17), com o cálculo certo. 5/5 contra 4/5.

T07CódigoClaude Code

O Codex declarou os 3 bugs corrigidos, mas o teste escondido do cache (deduplicar pedidos concorrentes) reprova. 3/3 contra 2/3.

T13VídeoCodex

O pico de áudio do reel 2 do Claude Code ficou em -0,8 dBTP, 0,2 dB acima do teto, e ele registrou o pico como conferido. 18/18 contra 17/18.

Os dois declararam sucesso além do que a prova sustenta — uma vez cada (T07 pelo Codex, T13 pelo Claude Code). O veredito do agente não substitui um avaliador. E dois testes saturaram (T09 e T10, nota máxima nos dois) enquanto o T02 ficou fácil demais: servem como piso de competência, não separam os agentes.

Veja o que cada um construiu

A nota do avaliador diz se está certo. Se está bom, quem diz é você: abra as duas versões lado a lado.

T08

Landing page a partir do brief

Mesmo brief, mesma exigência de Lighthouse. Repare no herói, na hierarquia e no CTA.

Lighthouse — Claude Code 100/95/100/100 · Codex 99/100/100/100
T14

Site do Analisador de Perfil

Cinco páginas de um produto real, sem site até então. Compare navegação, copy e acabamento.

Lighthouse 100/100/100/100 nos dois
T15

Jogo "Blocos Expert"

Blocos que caem, num único arquivo. Jogue os dois: controles, ritmo, placar, fim de jogo.

22/22 itens nos dois avaliadores
T13

Reels editados sem skill

Duas gravações brutas do DJI viraram dois Reels. Som, corte, legenda e ritmo — julgue você.

Reel 1
Claude Code
Codex
Reel 2
Claude Code
Codex
Avaliador: Codex 18/18 · Claude Code 17/18 (pico de áudio 0,2 dB acima do teto no reel 2)
T18

Mensagens na voz do Eric

Três cenários comerciais, com as regras da casa. Leia as duas versões do cenário 1.

27/27 itens de voz nos dois

Como foi medido

Mesmo prompt, uma substituição

Cada teste tem um único texto, e a única diferença entre os dois lados é o nome do agente. Mesma máquina, mesma noite, sem intervenção humana depois do pré-voo.

Avaliador automático por teste

Um script objetivo por teste: arquivo existe, teste passa, número bate, Lighthouse, loudness do áudio. Nota máxima não quer dizer peça bonita — isso é o olho humano, na seção de peças.

Métricas lidas da transcrição

Tempo, chamadas de ferramenta, erros e tokens saem do registro completo de cada sessão, não do que o agente declarou. Em 07/09 a coleta por evento de fim de turno foi reconciliada com a transcrição nos dois lados.

Só o que foi feito dos dois lados

Teste sem avaliador rodado nos dois agentes fica fora do placar. O "diário" de blocos de cada agente também fica fora: os dois registram com granularidade diferente e o lado Claude inclui a montagem do próprio dossiê.