daVinci-Dev: Agent-native Mid-training for Software Engineering
O artigo apresenta o daVinci-Dev, um framework para mid-training agêntico que aproveita uma nova estratégia de dados "agent-native" combinando trajetórias contextualmente e ambientalmente nativas para superar desajustes de distribuição, permitindo que modelos de 32B e 72B alcancem o estado da arte em desempenho no SWE-Bench Verified com significativamente menos tokens de treinamento do que métodos anteriores.
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
A Grande Ideia: Ensinar um Robô a Ser um Programador de Verdade
Imagine que você quer ensinar um robô a consertar um carro quebrado.
O Jeito Antigo (Pós-Treinamento):
A maioria dos modelos de IA atuais são como estudantes que leram todos os manuais de carros na biblioteca (Pré-treinamento), mas nunca tocaram em uma chave de fenda. Para ensiná-los a consertar carros, pesquisadores mostram a eles alguns vídeos de especialistas consertando carros (Ajuste Fino Supervisionado) e depois os deixam praticar em uma garagem, corrigindo-os apenas quando cometem um erro (Aprendizado por Reforço).
- O Problema: A "garagem" é pequena e cara de construir. Você só pode praticar em alguns carros. Além disso, o estudante vê apenas o carro consertado no final, não o processo bagunçado de tentar, falhar, checar o motor e tentar novamente.
O Novo Jeito (daVinci-Dev / Mid-Training Nativo de Agente):
Os autores deste artigo dizem: "Vamos ensinar o robô antes de enviá-lo para a garagem". Eles introduzem um estágio intermediário chamado Mid-Training (Treinamento Intermediário).
Em vez de apenas mostrar o carro pronto, eles alimentam o robô com uma biblioteca massiva de registros de reparo reais de milhões de mecânicos de verdade. Eles não mostram apenas o resultado final; eles mostram a história inteira:
- O mecânico olhando para o carro quebrado.
- O mecânico abrindo o capô e lendo o manual.
- O mecânico tentando um conserto, ouvindo um barulho estranho e percebendo que não funcionou.
- O mecânico tentando um conserto diferente até que funcione.
Eles chamam isso de "Agente-Nativo" porque imita a experiência real de ser um agente (um trabalhador) no mundo real, em vez de apenas memorizar fatos estáticos.
Os Dois Ingredientes Especiais
Para construir esta biblioteca de treinamento, a equipe criou dois tipos de "histórias" (dados) a partir do GitHub (um site gigante onde programadores compartilham código):
1. As Histórias "Contextualmente-Nativas" (A Biblioteca Ampla)
- O que é: Eles pegaram milhões de "Pull Requests" (pedidos para alterar código) e reconstruíram toda a história.
- A Analogia: Imagine o arquivo de um caso de detetive. Ele não mostra apenas o crime resolvido; mostra o detetive lendo o diário do suspeito, encontrando o arquivo correto, fazendo uma suposição e depois mudando de ideia com base em novas pistas.
- Por que ajuda: Isso ensina à IA o fluxo de trabalho. Ela aprende que, antes de editar um arquivo, você precisa encontrá-lo e lê-lo primeiro. Isso cobre uma enorme variedade de linguagens e situações (68,6 bilhões de palavras de dados).
2. As Histórias "Ambientalmente-Nativas" (A Simulação ao Vivo)
- O que é: Eles não apenas leram registros; eles realmente executaram o código. Eles colocaram um agente de IA dentro de um ambiente de computador real e funcional (um contêiner Docker) e o deixaram tentar corrigir bugs.
- A Analogia: Isso é como colocar o estudante em uma garagem real com um motor real. O estudante tenta girar um parafuso e o motor faz um clanc alto (um erro). O estudante ouve o erro, para e tenta uma ferramenta diferente.
- Por que ajuda: Isso ensina a IA como reagir ao feedback real. Ela aprende que "se eu digitar este comando, o computador vai gritar comigo com uma mensagem de erro", algo que livros estáticos não podem ensinar. Esta parte é menor (3,1 bilhões de palavras), mas de altíssima qualidade porque é "real".
Os Resultados: O Quão Bem Funcionou?
A equipe testou seu novo "estudante" (o modelo daVinci-Dev) em um exame famoso chamado SWE-Bench Verified, que é como um teste de direção final para engenheiros de software.
- A Pontuação: Seu modelo de 72 bilhões de parâmetros obteve uma taxa de sucesso de 58,5%.
- A Comparação: Isso superou o melhor método de código aberto anterior (Kimi-Dev), que pontuou cerca de 48,6%.
- A Eficiência: Eles alcançaram isso usando menos da metade da quantidade de dados de treinamento (tokens) que o recordista anterior usou. É como tirar um A+ em uma prova estudando 50 horas em vez de 100, porque o material de estudo era muito melhor.
- A Surpresa: Embora tenham começado com um modelo base "geral" (Qwen2.5-Base) que não foi treinado especificamente para codificação, o novo método de treinamento o tornou melhor em programação do que modelos que começaram como "especialistas em codificação".
Por Que Isso Importa (Segundo o Artigo)
O artigo argumenta que o maior erro ao ensinar IA a programar tem sido tratá-la como um estudante que apenas lê livros didáticos. A engenharia de software real é um ciclo: Encontrar o problema → Ler o código → Tentar um conserto → Ver se quebra → Consertar de novo.
Ao alimentar a IA com dados que preservam esse ciclo (tanto a história do trabalho quanto o feedback em tempo real do computador), eles construíram uma base que é muito mais forte.
Em resumo: Eles não apenas ensinaram à IA como o código se parece; eles ensinaram como pensar como um programador, simulando o processo bagunçado de tentativa e erro do desenvolvimento de software real.
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.