stamatios
← Voltar ao feed
Wealthfront mostra evolução de code review com IA multi-modelo
Dev & Engenharia · IA & Modelos

Wealthfront mostra evolução de code review com IA multi-modelo

resumo de ~3 min

Contexto e motivação

A Wealthfront começou a experimentar IA para code review quando um engenheiro colou um diff de branch no GPT-3.5 durante um post-mortem e o modelo encontrou instantaneamente um bug (filtro SQL ausente) que havia escapado tanto dos testes automatizados quanto da revisão humana. A partir daí, a empresa decidiu construir sua própria solução, rejeitando ferramentas prontas por considerá-las baratas demais (~$0,25/review) e genéricas demais para suas necessidades. A filosofia era: pagar $20 por review e esperar 15 minutos vale a pena se o review for bom.

Primeira versão: pesquisa estruturada com Gemini

O primeiro sistema foi construído em Java sobre o serviço interno IRIS. A arquitetura usava Gemini 2.5 Pro como modelo principal e agentes de pesquisa com Gemini 2.5 Flash:

  • O modelo principal recebia o diff e chamava uma ferramenta propose_research_questions para explorar o codebase (20+ milhões de linhas em 350+ repositórios).
  • Agentes de pesquisa com Flash respondiam perguntas com limites de custo e tempo.
  • Os agentes atribuíam scores de relevância (1-9) aos arquivos lidos, usando structured output com JSON schema gerado dinamicamente.
  • O modelo principal decidia entre encerrar a pesquisa ou recursar (até 3 rodadas de 3 perguntas cada).

Funcionou bem para encontrar bugs não óbvios por correlação ampla do codebase, mas tinha problemas: custo não correlacionado com complexidade do diff, descobertas "acidentais", e baixa razão sinal-ruído (LLMs forçados a encontrar problemas inventam problemas).

Versão atual: revisão antagônica multi-modelo

A nova arquitetura usa Opus 4 como "juiz" com ampla liberdade para explorar o código e delegar. Quando encontra um possível problema, chama propose_possible_problems, que dispara dois sub-agentes:

  • GPT-5 como "acusação": predispõe-se a investigar e encontrar evidência de que o problema é real (com permissão explícita para resultado nulo, reduzindo alucinações).
  • Gemini 3.0 Flash como "defesa": investiga evidências de que o problema não é real.

Ambos apresentam evidências com fontes primárias ao Opus, que pesa os argumentos e decide.

Táticas complementares

  • Freeform → Instructions → Structure: Opus escreve a revisão como texto livre, itera com str_replace_based_edit_tool, depois recebe instruções para chamar a ferramenta estruturada. Evita alucinações de JSON após loops longos.
  • Filosofia Unix: substituíram dezenas de ferramentas bespoke (MCP) por um sandbox filesystem ("AI reading room") com read_file simples e shell para o resto.
  • Pesquisa dirigida: três sub-agentes fixos no início - "project background" (contexto do projeto maior), "existing data" (consulta o banco para ver efeito do código em produção) e "checklist" (80 checks de qualidade escritos por engenheiros).

Resultados

Os engenheiros avaliam cada comentário de 1 a 5. Na primeira versão, as notas seguiam uma curva de sino centrada em 3. Na versão antagônica, virou uma "escada": leve aumento em 4s e 5s, mas queda dramática em 1s e 2s. A maioria dos PRs agora recebe zero comentários, e poucos recebem mais de um.

  • Tempo médio de review: 10 minutos
  • Custo médio: $4 por review

Posição sobre revisão humana

A Wealthfront não pretende eliminar a revisão humana. O fluxo é: self-review → review da IA (não bloqueante) → peer review (bloqueante). A IA é um revisor adicional, não substituto. A empresa vê o fim da era do "nitpicking" humano: se dá pra apontar um nit, dá pra escrever uma regra pra IA encontrar e corrigir.