Immersion in the GitHub Universe: Scaling Coding Agents to Mastery
O artigo apresenta o ScaleSWE, um fluxo de trabalho automatizado de agentes múltiplos que gera o maior conjunto de dados de engenharia de software do mundo (100 mil instâncias verificadas) a partir de 6 milhões de pull requests, permitindo o treinamento de um agente que alcança uma taxa de resolução de 64% no SWE Bench Verified, representando uma melhoria de quase três vezes em relação ao modelo base.
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ê quer ensinar um robô superinteligente a ser um engenheiro de software mestre, capaz de consertar bugs complexos em qualquer programa do mundo. O problema é que, para aprender, esse robô precisa de milhões de "lições" reais: exemplos de problemas reais, o código quebrado, o teste que falha e a solução correta.
Até hoje, conseguir essas lições era como tentar montar um quebra-cabeça gigante com as peças espalhadas no fundo do mar: difícil, demorado e muitas vezes as peças não se encaixavam.
O artigo "Immersion in the GitHub Universe" (Imersão no Universo do GitHub) apresenta uma solução brilhante chamada Scale-SWE. Vamos explicar como isso funciona usando uma analogia de uma fábrica de treinamento de super-heróis.
1. O Problema: A Escassez de "Treinadores"
Antes, para criar dados de treinamento, humanos tinham que ir manualmente ao "GitHub" (o maior repositório de código do mundo), encontrar um problema, tentar configurar o ambiente do computador para rodar aquele código, escrever testes e explicar o que estava errado. Era como se você precisasse contratar um professor particular para cada aluno, e só conseguia ensinar 100 alunos por vez. Isso limitava o quanto o robô podia aprender.
2. A Solução: A Fábrica Automática (Scale-SWE)
Os autores criaram um sistema automatizado, uma espécie de linha de montagem de robôs, que funciona como uma equipe de três especialistas trabalhando juntos 24 horas por dia. Eles pegaram 6 milhões de pedidos de alteração (Pull Requests) do GitHub e transformaram isso em um banco de dados gigante com 100.000 lições perfeitas.
Como funciona essa equipe de três robôs?
O Construtor de Cenários (Environment Builder):
Imagine que cada programa é uma casa com móveis específicos e regras estranhas. Antes de treinar o robô, você precisa montar a casa exatamente como ela era no momento do problema.- O que ele faz: Este agente entra no código, lê as instruções, instala as ferramentas certas e monta um "laboratório isolado" (um container Docker) onde o código pode rodar sem quebrar. Ele resolve os problemas de instalação que até humanos experientes teriam dificuldade.
O Criador de Testes (Unit-test Creator):
Um professor não pode apenas dizer "está errado". Ele precisa de um teste que mostre exatamente onde está o erro.- O que ele faz: Este agente olha para a mudança no código e cria dois tipos de testes:
- Teste de "Falha para Aprovação": Um teste que falha no código original (mostrando o bug) e passa depois que o robô conserta.
- Teste de "Aprovação para Aprovação": Testes que já funcionavam e devem continuar funcionando (para garantir que o conserto não quebrou nada novo).
- Ele roda esses testes no laboratório montado pelo primeiro agente, ajusta o código do teste até funcionar perfeitamente e garante que o teste seja robusto.
- O que ele faz: Este agente olha para a mudança no código e cria dois tipos de testes:
O Redator de Problemas (Problem Statement Writer):
Às vezes, a descrição original do problema no GitHub é confusa, técnica demais ou até revela a solução (o que não pode acontecer no treinamento).- O que ele faz: Este agente lê o código, o teste criado e a descrição original, e escreve um novo problema, claro e objetivo, como se fosse um usuário comum reclamando de um bug. Ele garante que o problema faça sentido e que o robô tenha que pensar para resolver, sem "vazamento" de dicas sobre como consertar.
3. O Resultado: O Banco de Dados "Scale-SWE-Data"
Com essa fábrica rodando, eles criaram o maior conjunto de dados de engenharia de software já visto: 100.000 exemplos reais, vindos de mais de 5.000 repositórios diferentes.
- Diversidade: Diferente de outros bancos de dados que focam apenas em erros de lógica simples, este cobre desde erros de segurança até problemas de conexão com servidores e arquivos. É como ter um treino que vai desde "trocar uma lâmpada" até "reconstruir a rede elétrica de uma cidade".
4. O Treinamento: Criando o "Scale-SWE-Agent"
Com esse material de treino de alta qualidade, eles pegaram um modelo de inteligência artificial chamado Qwen-30B e o treinaram usando esses 100.000 exemplos (e mais de 71.000 trajetórias de como os robôs especialistas resolveram os problemas).
O resultado foi o Scale-SWE-Agent.
- O Milagre: Antes de ser treinado, o modelo resolvia apenas 22% dos problemas difíceis de um teste padrão (SWE-Bench).
- Depois do treino: Ele saltou para 64% de resolução!
- Isso significa que, ao dar ao robô "livros didáticos" de alta qualidade e variados, ele aprendeu a pensar como um engenheiro de software sênior, superando modelos muito maiores e mais caros.
Resumo em uma Metáfora Final
Imagine que antes, para aprender a dirigir, você só tinha um manual de instrução escrito por uma pessoa que nunca dirigiu na chuva (dados sintéticos ou poucos exemplos reais).
Com o Scale-SWE, os autores criaram uma simulação de realidade virtual onde o aluno (o robô) pode dirigir em 100.000 situações diferentes: chuva, neve, trânsito caótico, estradas de terra, todas com instrutores (os agentes) que garantem que o carro esteja funcionando e que o aluno saiba exatamente onde errou.
Isso transformou um robô mediano em um piloto de corrida de nível mundial, provando que a qualidade e a escala dos dados são a chave para dominar a engenharia de software com Inteligência Artificial.
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.