Probe-and-Refine Tuning of Repository Guidance for Coding Agents
Este artigo introduz o "probe-and-refine tuning", um método que otimiza iterativamente arquivos de orientação de repositório (AGENTS.md) usando sondas sintéticas de correção de bugs para melhorar significativamente o desempenho de agentes de codificação no SWE-bench Verified ao expandir a cobertura de patches avaliáveis em vez de aumentar a precisão por patch.
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ê contrata um aprendiz brilhante, mas inexperiente, para consertar uma biblioteca enorme e antiga (o repositório de código). O aprendiz é inteligente o suficiente para ler livros e consertar páginas rasgadas, mas ele não conhece as regras secretas da biblioteca: qual prateleira guarda os mapas raros, como pedir ajuda ao bibliotecário sem acordar os gatos adormecidos ou quais escadas são seguras para subir.
Sem esse "conhecimento local", o aprendiz vaga sem rumo, sobe a escada errada ou tenta consertar um livro na seção errada, muitas vezes quebrando coisas no processo.
Este artigo apresenta um método chamado "Probe-and-Refine Tuning" (Ajuste por Sondagem e Refinamento) para resolver este problema. Veja como funciona, usando analogias simples:
O Problema: O Manual "Tamanho Único"
Engenheiros costumam escrever uma "folha de dicas" (como um arquivo AGENTS.md) para seus agentes de codificação de IA.
- O Jeito Antigo (Conhecimento Estático): Eles pedem a uma IA inteligente para escrever um manual genérico: "Sempre verifique o índice antes de consertar" ou "Procure pelo ponto de entrada principal". Isso é como dar ao aprendiz um mapa de todas as bibliotecas do mundo. É útil, mas não diz a ele onde o estoque secreto daquela biblioteca específica está escondido.
- O Resultado: O aprendiz até se sai bem, mas ainda se perde com frequência.
A Solução: O Treinador de "Tentativa e Erro"
Os autores criaram um novo processo chamado Probe-and-Refine. Em vez de apenas escrever um manual uma única vez, eles tratam o manual como um documento vivo que é treinado através dos erros.
Pense nisso como um treinador treinando um novo jogador:
- As Sondagens (Os Exercícios): O treinador gera 10 problemas falsos, inventados, específicos para esta biblioteca (sondas).
- A Tentativa: O aprendiz tenta resolver esses problemas falsos usando o manual atual.
- O Diagnóstico: O treinador observa a tentativa. "Ah, você tentou consertar o encanamento na cozinha, mas os canos estão, na verdade, no porão. E você esqueceu de verificar as plantas primeiro."
- O Refinamento: O treinador atualiza o manual imediatamente com uma regra específica: "Para esta biblioteca, o encanamento fica no porão e sempre verifique as plantas primeiro."
- Repetir: Eles fazem isso de 3 a 5 vezes. O manual evolui de um guia genérico para um guia de "especialista interno" hiperespecífico.
Crucialmente, todo esse processo de treinamento acontece sem que o agente realmente conserte bugs reais. É um loop de simulação onde a IA escreve o manual, testa-o em problemas falsos e corrige o manual com base nos resultados.
O Que Eles Descobriram
Os pesquisadores testaram isso em um famoso benchmark de codificação (SWE-bench) com quatro execuções diferentes. Aqui está o que aconteceu:
- Sem Guia: O aprendiz resolveu 25,5% dos problemas.
- Guia Genérico: O aprendiz resolveu 28,3% dos problemas.
- Guia Probe-and-Refine: O aprendiz resolveu 33,0% dos problemas.
O Grande Segredo: Trata-se de Encontrar a Porta Certa, Não de Consertar Melhor
Você pode pensar que o manual melhorado tornou o aprendiz mais inteligente ou melhor em consertar coisas. Não foi isso.
- Quando o aprendiz realmente consertava algo, a qualidade do conserto era exatamente a mesma (cerca de 59% de taxa de sucesso) independentemente de qual manual usava.
- A verdadeira magia foi a "Cobertura". O manual melhorado ajudou o aprendiz a encontrar o arquivo certo para consertar com muito mais frequência.
- Analogia: O manual genérico fez o aprendiz bater em 100 portas, mas apenas 40 eram as certas. O manual refinado fez o aprendiz bater em 100 portas, e 56 delas eram as certas. Uma vez que ele encontrava a porta certa, sua habilidade de consertar a fechadura era a mesma.
A Armadilha do "Orçamento de Passos" (Step Budget)
O artigo também descobriu que o guia só funciona se você der tempo suficiente ao aprendiz.
- Se você der ao aprendiz apenas 25 passos para resolver um problema, o manual sofisticado não ajuda. Ele não tem tempo para seguir as instruções complexas.
- Se você der a ele 200 passos, o manual sofisticado brilha. Ele indica um fluxo de trabalho (Reproduzir -> Rastrear -> Consertar) que leva tempo, mas funciona. Sem o manual, eles apenas se apressam e falham.
- Analogia: Se você disser a alguém: "Pegue uma rota panorâmica para evitar o trânsito", mas der apenas 5 minutos para chegar ao trabalho, a pessoa apenas se perderá. Você precisa dar tempo suficiente para que ela possa realmente fazer a rota panorâmica.
O Aviso de "Descompasso de Modelo" (Model Mismatch)
A descoberta mais surpreendente foi que este guia não é universal.
- Eles tentaram usar o guia treinado em um modelo de IA (Qwen) com um modelo diferente e ligeiramente mais fraco (Nemotron).
- Resultado: O segundo modelo travou. Ele ficou tão confuso com as instruções específicas que parou de funcionar completamente.
- Analogia: É como dar um manual de corrida de alta velocidade para um motorista em um carro antigo e lento. As instruções são complexas demais para o carro, e o motorista congela. O guia deve ser "ajustado" especificamente para o cére (modelo) que irá lê-lo.
Resumo
Este artigo prova que a forma como você escreve as instruções importa mais do que apenas ter instruções.
Ao usar um loop simples de "criar um problema falso, tentar resolvê-lo e corrigir as instruções com base na falha", você pode transformar um guia genérico em um manual de especialista especializado. Isso não torna a IA mais inteligente em consertar código; apenas impede que ela procure no lugar errado, permitindo que ela use todo o seu potencial para resolver mais problemas.
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.