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.
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.
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.
| Teste | O que era | Claude Code | Codex | Tempo declarado | Resultado |
|---|---|---|---|---|---|
| T02Navegador | WebVoyager: 6 tarefas em sites reais | 6/6✓ passou | 6/6✓ passou | ■ 7 min ■ 7 min | empate |
| T03Navegador | Formulário multi-etapas | 3/4◐ parcial | 4/4✓ passou | ■ 5 min ■ 3 min | Codex |
| T04Navegador | Extrair tabela e responder 3 perguntas | 7/7✓ passou | 7/7✓ passou | ■ 3 min ■ 1 min | empate |
| T05Navegador | GAIA nível 1: 5 perguntas exatas | 5/5✓ passou | 4/5◐ parcial | ■ 5 min ■ 19 min | Claude Code |
| T06Código | Exercism polyglot: 6 exercícios | 6/6✓ passou | 6/6✓ passou | ■ 7 min ■ 7 min | empate |
| T07Código | Corrigir 3 bugs (mini SWE-bench) | 3/3✓ passou | 2/3◐ parcial | ■ 5 min ■ 7 min | Claude Code |
| T08Design | Landing page a partir de um brief | 13/13✓ passou | 13/13✓ passou | ■ 6 min ■ 25 min | empate |
| T09Skill | Criar skill "transcrição → ata" | 60/60✓ passou | 60/60✓ passou | ■ 14 min ■ 35 min | empate |
| T10Skill | Seguir skill com regras estritas | 27/27✓ passou | 27/27✓ passou | ■ 4 min ■ inválido | empate |
| T13Vídeo | Editar 2 gravações DJI em Reels | 17/18◐ parcial | 18/18✓ passou | ■ 52 min ■ 27 min | Codex |
| T14Site | Site do Analisador de Perfil (5 páginas) | 16/16✓ passou | 16/16✓ passou | ■ 15 min ■ 14 min | empate |
| T15Jogo | Jogo "Blocos Expert" no navegador | 22/22✓ passou | 22/22✓ passou | ■ 10 min ■ 12 min | empate |
| T16Dados | Planilha crua vira relatório conferível | 23/23✓ passou | 23/23✓ passou | ■ 22 min ■ 7 min | empate |
| T17Segurança | Resistir a instrução escondida (injection) | 7/7✓ passou | 7/7✓ passou | ■ 5 min ■ 3 min | empate |
| T18Voz | Escrever na voz do Eric, com gates | 27/27✓ passou | 27/27✓ passou | ■ 26 min ■ 5 min | empate |
| T19Refatoração | Refatorar 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.
Cada linha tem a própria escala: compare dentro da linha, não entre linhas.
Tempo declarado por teste
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
| Fila | Testes | Relógio (min) | Min de modelo | Chamadas | Erros | Tokens gerados | Entrada processada |
|---|---|---|---|---|---|---|---|
| fila 1 | T03 · T04 · T02 · T05 · T08 | 3256 | 31,555,9 | 23191 | 42 | 69 mil56 mil | 32,7 M11,7 M |
| fila 2 | T10 · T09 | 2043 | 19,642,8 | 4534 | 11 | 51 mil45 mil | 6,2 M3,0 M |
| fila 3 | T06 · T07 | 2033 | 20,132,9 | 5323 | 10 | 51 mil27 mil | 8,2 M2,0 M |
| fila 4 | T13 · T12 | 3561.109 | 121,0137,6 | 193161 | 146 | 165 mil186 mil | 27,0 M22,8 M |
| fila 5 | T14 · T15 | 2631 | 26,130,9 | 5534 | 12 | 84 mil51 mil | 7,8 M2,9 M |
| fila 6 | T16 · T17 · T18 · T19 | 8170 | 64,369,1 | 9371 | 62 | 150 mil74 mil | 20,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.
Uma resposta do Codex saiu na escala errada (17.000 em vez de 17), com o cálculo certo. 5/5 contra 4/5.
O Codex declarou os 3 bugs corrigidos, mas o teste escondido do cache (deduplicar pedidos concorrentes) reprova. 3/3 contra 2/3.
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.
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.
Landing page a partir do brief
Mesmo brief, mesma exigência de Lighthouse. Repare no herói, na hierarquia e no CTA.
Site do Analisador de Perfil
Cinco páginas de um produto real, sem site até então. Compare navegação, copy e acabamento.
Jogo "Blocos Expert"
Blocos que caem, num único arquivo. Jogue os dois: controles, ritmo, placar, fim de jogo.
Reels editados sem skill
Duas gravações brutas do DJI viraram dois Reels. Som, corte, legenda e ritmo — julgue você.
Relatório de dados
Mesma planilha suja (1.545 linhas), mesmas 8 perguntas. Os dois acertaram tudo; o gráfico e o texto são diferentes.
Mensagens na voz do Eric
Três cenários comerciais, com as regras da casa. Leia as duas versões do cenário 1.
Marcelo, vc escreveu no formulário que o cliente desiste antes de vcs responderem o orçamento. Foi a frase que ficou comigo. Com 14 funcionários e 2 pessoas na recepção, quanto tempo leva hoje do pedido até o orçamento chegar no cliente?Claude Code ler os 3 cenários ↗
Marcelo, aquela demora no orçamento que vc comentou no formulário: trava pra levantar o preço ou pra responder no whats?Codex ler os 3 cenários ↗
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ê.

