Revisão de Código Híbrida com IA: Claude Opus 4.8 + Codex em Loop
Tech
AI
Claude Opus 4.8
Codex
GPT-5.5

Revisão de Código Híbrida com IA: Claude Opus 4.8 + Codex em Loop

Dois modelos de ponta em um loop: o Claude Opus 4.8 escreve cada correção, o Codex a revisa através da minha ponte de IA, e uma compilação real decide. 39 correções em produção, nenhuma feita à mão.

Uygar DuzgunUUygar Duzgun
Jun 20, 2026
Atualizado 24 de jun. de 2026
7 min read

Existe uma categoria de trabalho onde um único agente de IA falha silenciosamente: limpezas grandes e de múltiplas etapas, onde um único pressuposto errado se acumula em dezenas de edições. Minha resposta é a revisão de código híbrida com IA — dois modelos de ponta diferentes em um loop, um construindo e outro revisando — e, na semana passada, isso levou um protótipo SwiftUI bagunçado a zero bloqueadores para a App Store em uma tarde, sem que eu escrevesse uma linha do código.

Os dois modelos foram o Claude Opus 4.8 como engenheiro e o Codex (GPT-5.5) como revisor, passando cada tarefa pela minha ponte de IA até que passasse em uma compilação real. Na minha experiência, essa configuração de revisão de código híbrida com IA supera consistentemente qualquer um dos modelos trabalhando sozinho, e esta execução foi a prova mais clara até agora. Veja exatamente como funcionou.

Comece com um plano, não com um "feeling"

Você não entrega a um agente a tarefa de "deixar isso pronto para produção". É assim que você obtém absurdos confiantes.

Então, comecei com um plano. Pedi ao Claude que clonasse o repositório (um aplicativo iOS de memória infantil chamado Kiddays), lesse *todo* o código-fonte com subagentes paralelos e produzisse uma auditoria de prontidão para produção: 39 itens concretos — 9 bloqueadores rígidos da App Store, o restante de severidade alta e média. Cada item tinha um arquivo, uma linha, uma estimativa de esforço e uma correção proposta.

Essa auditoria tornou-se `PRODUCTION_READINESS.md` — uma lista de verificação em markdown com caixas `- [ ]`, classificadas com os bloqueadores primeiro. Um único arquivo, a única fonte da verdade. Cada tarefa nela era pequena, específica e *verificável*. Essa última palavra importa: se você não pode marcar uma caixa e provar isso, não é uma tarefa, é um desejo.

O loop de revisão de código híbrida com IA, passo a passo

Executei tudo em um loop auto-gerenciado (modo /loop do Claude Code). Cada iteração lidava com uma tarefa ou um cluster apertado de tarefas relacionadas, e sempre seguia o mesmo ritmo.

O ritmo de cinco passos

O Claude Opus 4.8 lê os arquivos reais e projeta a correção. Não de memória — ele abre o código real primeiro.
Ele entrega o projeto ao [Codex](https://github.com/openai/codex) para uma opinião independente através da minha ponte de revisão por pares de IA — a habilidade open-source ai-collab-bridge — via handoff de CLI:

bash codex exec --sandbox read-only -o /tmp/answer.txt <<'PROMPT' Pair-reviewing a fix for this SwiftUI app. Here are the files... Recommend the idiomatic iOS 17 approach, flag pitfalls, validate the diff. PROMPT

Eles rebatem. O Codex propõe a abordagem idiomática, aponta o que vai quebrar e valida (ou refuta) o plano. O Claude implementa, adapta-se ao feedback e contra-argumenta onde discorda.
Uma compilação real é o árbitro. Cada tarefa termina com `xcodebuild` verde, ou não está feita. Nada de "deveria compilar".
Marque a caixa, atualize a lista de verificação, vá para a próxima.

Então o loop dispara novamente, e de novo, por horas, sem supervisão. O ponto principal da revisão de código híbrida com IA é que esse ciclo roda sem que eu precise ficar vigiando — a compilação, não minha atenção, é o que define cada etapa.

Por que dois modelos superam um

Recomendado para você

A mágica não está em nenhum dos modelos individualmente — ambos são excelentes, e já escrevi antes sobre como o Claude Opus 4.8 superou o Codex no meu próprio código-fonte. A mágica é que eles têm pontos cegos diferentes, e um revisor que não escreveu o código não tem ego investido no diff.

As pegadinhas que justificaram a configuração

Alguns momentos reais desta execução:

Migração do Keychain. Mover tokens de autenticação do `UserDefaults` em texto simples parece trivial. O Codex sinalizou que uma troca ingênua quebraria silenciosamente a reatividade do SwiftUI e defendeu um store `@Observable` injetado através do environment. O Claude construiu isso em vez disso. Sem UI de logout quebrada.
Tratamento de erros. Eu tinha ~20 lugares engolindo erros de banco de dados com `try?`. O primeiro instinto do Claude foi alertas por view. O Codex argumentou por um apresentador de erros raiz único — uma superfície de alerta, cada salvamento roteado através dele. Mais limpo, e foi a versão que foi entregue.
StoreKit 2, versionamento de schema do SwiftData e verificações de proteção de arquivo em disco. Todos campos minados específicos do iOS 17 onde a segunda opinião salvou um erro sutil — exatamente o tipo de coisa que passa em uma leitura rápida e falha no mundo real.
Recomendado para você

Essa é a diferença entre um carimbo e uma revisão. O Codex refutou coisas; o Claude integrou as boas refutações e defendeu o resto. O diff ficou melhor na fronteira entre dois modelos que não compartilham um cérebro — que é toda a proposta por trás de fluxos de trabalho de agentes governados: handoffs estruturados superam um modelo falando consigo mesmo.

A parte honesta: agentes travam, então construa um watchdog

Duas vezes, a CLI do Codex travou para mim — não no pensamento, mas no desligamento, quando seus servidores MCP em segundo plano falharam em fechar limparmente. Rastreei a primeira parada no bootstrap do MCP eu mesmo, depois que o processo ficou morto por minutos. Em um loop sem supervisão, uma parada trava tudo.

A correção foi um watchdog rígido: um timer de eliminação em torno de cada consulta, além de desabilitar o MCP para a chamada inteiramente (`-c mcp_servers={}`) para que não houvesse nada em que travar. O loop detectou a parada, matou o processo zumbi, pegou a resposta que já estava escrita e continuou. "Nada fica travado" não é um "seria bom ter" no trabalho autônomo — é todo o jogo.

O resultado

39 de 39 itens feitos. Todos os 9 bloqueadores da App Store limpos.
Compilação limpa do zero (`xcodebuild clean build`, exit 0) no final — não apenas verde incremental.
13 novos arquivos. Armazenamento real no Keychain, compras reais no StoreKit 2, gravação de voz real, notificações locais reais, um registro de consentimento parental GDPR-K, versionamento de schema, uma interface para relatório de crashes.
Falso tornou-se real, ou honestamente removido. O toggle "premium" falso tornou-se um fluxo de assinatura real. O botão falso do Google e os convites familiares falsos — que geravam dados bogus — foram removidos, e o texto legal foi reescrito para parar de prometer um backend que ainda não existe.

O que resta é apenas o trabalho que nenhum modelo pode fazer por você: criar os produtos de compra no aplicativo no App Store Connect, levantar o backend real, conseguir que um advogado assine a política de privacidade. Cada um está sinalizado na lista de verificação com exatamente o que é necessário.

Método e fontes

Este é um relato em primeira mão de uma execução real no meu próprio código-fonte do Kiddays. O revisor foi a CLI do Codex (GPT-5.5); o handoff de modelo para modelo usou minha habilidade open-source ai-collab-bridge. As decisões específicas do iOS foram verificadas contra a documentação própria da Apple sobre StoreKit, SwiftData e proteção de arquivos — e, mais importante, cada única mudança foi confirmada por um `xcodebuild` limpo do zero antes que eu a considerasse feita. Não estou relatando o que os modelos afirmaram; estou relatando o que compilou.

A lição: uma equipe, não um assistente

Em todos os projetos onde dependi da revisão de código híbrida com IA, o desbloqueio nunca foi "encontrar o único modelo que faz tudo". Foi uma pilha:

um plano transformado em uma lista de verificação que você pode marcar,
Claude Opus 4.8 para construir cada tarefa,
Codex para revisá-la sem interesses envolvidos,
a ponte para conectá-los via um handoff limpo de CLI,
uma compilação que dá o voto final,
e um /loop para executá-lo até que a lista esteja vazia.

Um modelo escrevendo código é um assistente. Dois modelos revisando um ao outro contra uma compilação que pode dizer não está começando a parecer uma equipe — e nesta execução, essa equipe entregou 39 correções de produção enquanto eu assistia.