Claude Code contra Codex: uma IA escreve, a outra caça os erros
Me diz uma coisa: você confia num código que a IA escreveu sem ninguém revisar? Eu não. E se eu colocar uma outra inteligência artificial para procurar os erros que passaram batidos na hora de programar?
Foi isso que eu fiz. O Claude Code escreve um código e o Codex revisa. Depois a gente inverte: o Codex escreve e o Claude Code vai atrás das falhas. Uma constrói, a outra questiona. A pergunta que me interessava era outra, mais incômoda: será que uma consegue achar o erro da outra, ou as duas vão concordar com o mesmo código errado?
A segunda opinião de outra escola
Deixa eu te contar uma coisa que todo mundo já viveu. Quando um médico te dá um diagnóstico difícil, o que você faz? Procura uma segunda opinião. E repara num detalhe: você não vai no colega de consultório dele, que estudou na mesma faculdade, leu os mesmos livros e tem os mesmos vícios. Você procura alguém de outra escola, justamente para que os pontos cegos não sejam os mesmos.
É exatamente essa a lógica da revisão cruzada entre dois modelos. O Claude e o GPT têm capacidade parecida, mas foram treinados com bases de dados diferentes, por equipes diferentes, com escolhas diferentes. Não tem nada de igual no treinamento dessas redes. Então, quando os dois olham o mesmo código, são caminhos diferentes da rede percorrendo o mesmo problema. Onde um passa reto, o outro tropeça. Guarde essa imagem da segunda opinião, porque o vídeo inteiro é ela em ação.
Os dois harness sabem se chamar
A parte que destrava tudo é simples, e eu nem precisei decorar. Perguntei ao Claude Code que comando de terminal ele usaria para chamar o Codex no modo de permissão livre, e ele me devolveu o comando. Perguntei ao Codex o mesmo sobre o Claude Code, e ele foi na documentação oficial e trouxe o dele. Os dois ficam assim:
codex --yolo "diga olá Sandeco"
claude --dangerously-skip-permissions "diga olá Sandeco"
Testei os dois num terminal limpo, cada um abriu, respondeu e fechou. Parece bobagem, mas é isso que permite uma IA chamar a outra do lado de dentro de uma sessão, sem eu ficar copiando e colando relatório de um lado para o outro. Funciona com Claude Code, Codex e OpenCode. O Antigravity, infelizmente, não: mesmo com o cliente de linha de comando dele, o Google não liberou uma forma decente de chamar. Já tentei várias vezes. Se você conseguiu, me conta nos comentários do vídeo, porque isso me interessa demais.
Uma constrói, a outra questiona
Abri o VS Code com os dois lado a lado e dei um algoritmo chato para cada um. Para o Claude Code, o algoritmo de Edmonds: encontrar a maior quantidade possível de pares numa rede de conexões sem repetir participante, reorganizando combinações anteriores quando isso permite incluir mais gente. Para o Codex, uma árvore B+: buscar, inserir e excluir registros com eficiência e responder consulta por intervalo. Dois problemas de verdade, dos que dão trabalho até para quem sabe.
Com os dois arquivos prontos, veio a parte boa. Pedi ao Claude Code: chame o Codex para revisar o seu código, peça para ele procurar problemas e erros e te devolver um relatório. Do outro lado, pedi ao Codex que chamasse o Claude Code para revisar o código dele buscando problemas e pontos de melhoria. Nenhum dos dois alterou arquivo do outro. Cada um só leu, apontou e devolveu.
A Figura abaixo resume as duas rodadas, e o que cada revisor achou no código do outro.

O que cada um achou
O Codex revisou o Edmonds do Claude e achou erro na lógica. Classificou os problemas por gravidade: um alto, índice sem validação; um médio, lentidão quando o grafo não tem arestas; e dois baixos, número negativo de vértices aceito e arestas duplicadas. O próprio Claude Code leu o relatório e me perguntou se eu queria aplicar as correções. Eu disse que sim. Ele aplicou as quatro, testou com força bruta em 500 grafos, com arestas duplicadas, invertidas e laços, e todos deram o resultado certo. As entradas inválidas passaram a levantar o erro esperado.
Do outro lado, o Claude Code revisou a árvore B+ do Codex e não encontrou bug funcional. Considerou corretos o balanceamento, a exclusão e o encadeamento das folhas. Mas apontou melhorias em quatro frentes: desempenho, chaves personalizadas, memória e compatibilidade. Mandei aplicar. O Codex atualizou os separadores sem percorrer de novo as subárvores, criou um iterador de intervalo que entrega um registro por vez, documentou os requisitos das chaves e do Python, e rodou quatro testes, incluindo 24.000 operações aleatórias com verificação de balanceamento. Tudo passou.
Você tá vendo o padrão? Num caso a segunda opinião achou um erro real. No outro, confirmou que estava certo e ainda deixou melhor. Nos dois, eu não abri uma linha de código.
O gargalo agora é a gente
E é aqui que eu quero chegar. Na geração de código com IA, a quantidade de código está ficando impraticável para um ser humano avaliar com propriedade em tempo hábil. O ideal seria você abrir o Edmonds, abrir a árvore B+, entender cada um e procurar os problemas. Só que isso não escala mais. A revisão humana virou o gargalo do processo.
A revisão adversarial, com um harness chamando o outro, tira esse gargalo do caminho e deixa a coisa muito mais rápida. Não é para você deixar de olhar, é para você olhar o relatório em vez de olhar cada linha. É esse o estilo que eu estou usando agora para criar os meus códigos, e se você quer entender como organizar esse fluxo de construir com IA e revisar com IA dentro de um projeto de verdade, é disso que trata o meu livro de engenharia de software com IA: https://physia.com.br/aieng/.