How Many Tries Does It Take? Iterative Self-Repair in LLM Code Generation Across Model Scales and Benchmarks
Este estudo demonstra que a correção iterativa autônoma, alimentada por erros de execução, melhora universalmente a taxa de sucesso na geração de código em modelos de linguagem modernos de diversas escalas e arquiteturas, com a maioria dos ganhos ocorrendo nas primeiras tentativas e erros de assertiva apresentando as maiores dificuldades de reparo.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine que você pediu para um assistente de IA escrever um código de computador para você. Na primeira tentativa, o código não funciona: ele dá erro. O que você faz? Você lê a mensagem de erro, explica o problema para o assistente e pede para ele tentar de novo. É assim que os programadores humanos trabalham o tempo todo!
Este artigo de pesquisa investiga exatamente esse processo: quanto tempo e quantas tentativas um "cérebro digital" (uma Inteligência Artificial) precisa para consertar seus próprios erros de programação?
Aqui está a explicação simplificada, usando analogias do dia a dia:
1. O Cenário: O Aluno que Precisa de uma Segunda Chance
Antigamente, os testes de IA mediam apenas a primeira tentativa (como uma prova sem rascunho). Se o aluno errasse, era zerado. Mas os pesquisadores descobriram que, se você der ao aluno a prova corrigida com as anotações do professor ("veja, aqui você esqueceu um ponto e vírgula"), ele consegue melhorar muito.
O estudo testou 7 modelos de IA diferentes (desde os menores e mais rápidos até os gigantes mais inteligentes) em dois "exames" famosos de programação (chamados HumanEval e MBPP).
2. A Grande Descoberta: "Quem Erra, Aprende"
A conclusão principal é surpreendente: quase todas as IAs melhoram quando podem tentar de novo.
- A Regra de Ouro: A maior parte do aprendizado acontece nas duas primeiras tentativas. É como se o aluno lesse a correção, entendesse o erro e resolvesse a maioria dos problemas imediatamente. Tentar uma 3ª ou 4ª vez traz poucos benefícios extras.
- O Milagre dos Pequenos: Antigamente, pensava-se que IAs menores (como a de 8 bilhões de "neurônios") eram tolas demais para se corrigir sozinhas. O estudo mostrou que, com os modelos modernos de 2024-2025, até o "aluno menor" consegue se consertar apenas com um bom pedido (prompt), sem precisar de aulas extras (treinamento especial).
3. Os Tipos de Erro: O Que é Fácil e o Que é Difícil
Os pesquisadores classificaram os erros como se fossem tipos de problemas em um quebra-cabeça:
- Erros de "Nome" (NameError): É como esquecer o nome de um amigo. A IA vê que o nome não existe e corrige facilmente. (Taxa de sucesso: ~77%).
- Erros de Sintaxe: É como escrever uma frase com a gramática errada. A IA geralmente acerta isso rápido. (Taxa de sucesso: ~66%).
- Erros de Lógica (Assertion Errors): Este é o vilão. A IA escreveu o código, ele roda, mas o resultado está errado (ex: "2 + 2 = 5"). A IA não sabe por que está errado, só sabe que o resultado não bate. É como tentar adivinhar onde está o erro em um raciocínio complexo. É muito difícil de corrigir sozinha (Taxa de sucesso: apenas ~45%).
4. Quem é o Melhor Aluno?
- O "Gênio Rápido" (Gemini 2.5 Flash): Foi o campeão. Começou bem e, com correções, chegou a acertar 96,3% dos problemas. Ele é rápido e conserta erros com maestria.
- O "Especialista em Correção" (Gemini 2.5 Pro): Embora tenha começado um pouco pior (talvez por pensar demais antes de escrever), ele foi o que mais melhorou com as correções, pulando de 73% para 90%.
- Arquiteturas Diferentes: O estudo comparou IAs "densas" (um cérebro grande e único) com IAs "MoE" (Mistura de Especialistas, como uma equipe de consultores). A IA "Scout" (com 16 especialistas) foi a campeã entre as de código aberto, mostrando que ter "especialistas" ajuda muito a encontrar o erro.
5. A Estratégia Inteligente: Consertar vs. Tentar de Novo
Existe um dilema: é melhor gastar o tempo pedindo para a IA consertar o erro que ela já fez, ou pedir para ela tentar 5 vezes novas (sorteando respostas diferentes)?
- Para IAs Fortes: Consertar o erro é muito mais eficiente. É como pedir para um mecânico consertar o carro que quebrou, em vez de comprar 5 carros novos e esperar que um deles não quebre.
- Para IAs Fracas: Às vezes, tentar de novo (sorte) funciona melhor, porque elas não entendem bem a mensagem de erro para consertar.
6. O Segredo do Sucesso: "Pense Antes de Agir"
O estudo testou diferentes formas de pedir a correção:
- Pedido Simples: "Conserte o erro."
- Pedido com Pensamento (Chain-of-Thought): "Primeiro, explique por que o erro aconteceu. Depois, explique como consertar. Por fim, dê o código."
- Resultado: Para as IAs mais inteligentes, pedir para elas pensarem e explicarem antes de consertar aumentou drasticamente o sucesso. É como se o aluno precisasse escrever o raciocínio no verso da folha para não errar de novo.
Resumo Final
Este estudo nos ensina que a IA moderna não precisa ser perfeita na primeira tentativa. Se nós (os humanos) dermos a ela o feedback do erro e a chance de tentar de novo, ela se torna incrivelmente competente.
Dica Prática: Se você usa IA para programar, não desista na primeira falha. Deixe a IA ler o erro, pense em como explicar o problema para ela (talvez pedindo para ela explicar o erro antes de corrigir) e dê uma ou duas chances extras. Você verá a qualidade do código subir como mágica, economizando tempo e dinheiro.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.