Inteligência artificial· Como trabalho com IA · parte 9
Outro agente de IA revisou meu código 71 vezes e criou dois defeitos.
O que 71 rodadas de revisão por IA e 448 commits mudaram no Currículo para Vaga, os dois defeitos que entraram e o roteiro de auditoria que ficou.

Em 7 e 8 de novembro, o Currículo para Vaga passou por 71 rodadas seguidas de revisão feitas por outro agente de IA, em esforço alto. O ciclo inteiro gerou 448 commits em dois dias.
Quando a fila parou, fiz uma auditoria comparando o produto com o estado anterior às rodadas. Eu precisava conferir se todo aquele trabalho tinha afastado o sistema de o método de SRS, removido o que devia continuar lá ou piorado o uso.
O tamanho de 448 commits e a queda de retorno após a rodada 50
Somando todas as frentes do repositório, os 448 commits mexeram em centenas de arquivos e em dezenas de milhares de linhas. O levantamento por área mostra onde as alterações se concentraram:
- Código da API: 107 arquivos, com 7.661 linhas a mais e 2.313 a menos.
- Código do painel: 93 arquivos, com 5.667 linhas a mais e 1.908 a menos.
- Testes do painel e da API: 144 arquivos, com 27.355 linhas a mais e 378 a menos.
- SRS: 23 arquivos, com 160 linhas a mais e 140 a menos.
- Site, admin, extensão, CLI e pacotes: 132 arquivos, com 6.338 linhas a mais e 841 a menos.
Fora dessa lista, as migrações somaram 53.575 linhas, quase tudo snapshot gerado pelo Drizzle. O ganho por rodada, no entanto, caiu bastante no terço final. Da rodada 50 à 71, a maior parte tratou corridas de tempo raras no painel: resposta que chega depois de a pessoa sair da tela, duplo clique, duas gravações do mesmo registro e foco dos diálogos. Esse trecho teve retorno baixo perto do volume mexido.
Como auditar um produto revisado por IA contra o estado anterior
Quem roda revisões automatizadas em sequência precisa auditar o resultado com a mesma disciplina aplicada a código inédito. O roteiro prático compara o produto com o estado anterior às rodadas em cinco frentes:
- Preços e textos legais, que exigem estabilidade total.
- Texto dos prompts e esquemas de saída da IA.
- Migrações de banco, conferindo se todas são aditivas.
- Arquivos, procedimentos, rotas e escopo do produto, procurando remoções ou criações indevidas.
- Mensagens da interface, separando o que saiu, o que mudou e o que entrou.
No Currículo para Vaga, a auditoria encontrou essa estrutura íntegra. Preços e textos legais continuaram sem mudança, e o texto dos prompts também ficou igual, mudando apenas um esquema de saída. As migrações foram todas aditivas, nenhum procedimento ou rota saiu do ar, nenhum produto novo apareceu fora do escopo e o único arquivo removido foi trocado por outro com o mesmo comportamento.
Nas mensagens em português, 5 saíram, 24 entraram e 1 mudou. As 24 mensagens novas são de erro ou de estado para casos que antes falhavam sem explicação para quem usava o painel.
Os dois estragos reais que entraram durante as rodadas
A auditoria também pegou dois defeitos criados pelas próprias rodadas. O mais grave mexeu na reserva de descontos: uma tentativa de compra não paga passou a reservar o uso do cupom e o desconto de indicação. Quem gerava um PIX, voltava e tentava comprar com outro currículo ou outra vaga perdia o desconto por até 7 dias, prazo em que o pedido abandonado expira.
Na correção, as tentativas não pagas da própria pessoa deixaram de contar contra ela, enquanto a tentativa aberta de outra pessoa ainda segura o último uso de um cupom. A reserva da indicação foi desfeita e o SRS voltou ao que dizia antes das revisões.
O segundo estrago entrou na rodada 71, a última da sequência. Restaurar uma versão anterior do currículo perdia as edições que a gravação automática tinha salvado desde a última versão. Com a correção, essas edições automáticas viram uma versão própria antes da restauração.
A ordem de decisão após a auditoria e o ponto de parada
Para arbitrar cada achado depois da auditoria, segui uma prioridade explícita quando dois objetivos batiam de frente: segurança, usabilidade ou venda, sempre nesta ordem. Essa hierarquia separa proteção real de ajuste cosmético.
A compra em lote e o reajuste mostram essa escolha na prática: os dois continuam reservando no início do pagamento porque isso impede que a mesma cobertura pague duas tentativas, evitando perda direta na cobrança. O atrito de usabilidade aparece só numa combinação rara, e mexer outra vez nas travas do pagamento traria mais risco que ganho.
A regra que ficou encerra o ciclo antes do desgaste: todas as rodadas de revisão passam por triagem, e a rodada em que nada passa pela triagem é a última. Decidir onde a automação para continua entre as decisões que continuo tomando.