Kozuchi Agent: A Language-Agnostic Open-Weight Agent for Software Repair
O Kozuchi Agent é um sistema de reparo de software agnóstico a linguagem e de pesos abertos que aproveita um pipeline operado por CI com estado persistente para alcançar desempenho de estado da arte nos benchmarks SWE-bench Verified e Multi-SWE-bench sem ajuste fino, demonstrando que suas limitações remanescentes derivam primariamente de erros de correção semântica e de seleção, em vez de formatação ou acesso a modelos proprietários.
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
No vasto e intrincado mundo da engenharia de software, o código é a base sobre a qual a vida moderna é construída, mas é propenso a quebrar. Quando um programa apresenta uma falha, ele gera um relatório descrevendo o erro, e um desenvolvedor humano deve então diagnosticar o problema, localizar a falha dentro de milhares de linhas de texto e escrever uma correção que resolva o problema sem quebrar nada mais. Esse processo é lento, difícil e caro. Recentemente, surgiu uma nova geração de inteligência artificial que pode ler esses relatórios e tentar escrever as correções por conta própria. Esses sistemas, frequentemente chamados de agentes, agem como aprendizes digitais que podem navegar pelo sistema de arquivos de um computador, executar testes e editar código. No entanto, ensinar esses agentes a trabalhar de forma confiável por períodos longos tem sido um grande obstáculo. Eles frequentemente se perdem nos detalhes, esquecem o que aprenderam em etapas anteriores ou cometem erros ao tentar usar as ferramentas necessárias para corrigir o código. O desafio para os pesquisadores tem sido construir um sistema que mantenha esses trabalhadores digitais focados, organizados e responsáveis, permitindo que resolvam problemas complexos sem supervisão humana constante.
Uma equipe de pesquisadores da Fujitsu Research abordou esse desafio criando um sistema chamado Kozuchi Agent. O trabalho deles foca em um tipo específico de inteligência artificial que não requer treinamento especial em novos dados, mas que, em vez disso, depende de uma estrutura cuidadosamente projetada para guiar seu comportamento. Os pesquisadores construíram um ambiente digital onde o agente opera em estágios distintos e claramente definidos. Em vez de deixar o agente vagar livremente por um problema, o sistema o força a percorrer uma sequência de etapas: primeiro, reproduzir o erro para confirmar que ele existe, depois localizar a fonte exata do problema e, finalmente, escrever e testar a correção. Em cada estágio, o agente deve produzir um resultado específico antes de passar para o próximo, e o sistema mantém um registro permanente de tudo o que o agente faz. Essa estrutura impede que o agente se confunda ou repita os mesmos erros, transformando uma busca caótica em um processo disciplinado e auditável.
A equipe testou este sistema em uma grande coleção de problemas de software do mundo real, visando especificamente um conjunto de quinhentos problemas da linguagem de programação Python. Eles utilizaram um modelo de inteligência artificial poderoso e de código aberto que não foi modificado ou retreinado para esta tarefa específica. Para garantir que os resultados fossem robustos, eles executaram o agente oito vezes separadamente para cada problema, gerando oito soluções potenciais diferentes. O sistema então comparou essas soluções entre si usando um método de seleção inteligente. Em vez de depender de uma chave de resposta oculta para escolher a melhor correção, o sistema usou os testes gerados por cada uma das oito execuções para avaliar os outros. Se uma correção passava nos testes criados por outra tentativa, ela era considerada uma candidata forte. Essa abordagem permitiu que o sistema identificasse a solução mais confiável sem precisar saber a resposta corre never de antemão.
Os resultados foram significativos. O Kozuchi Agent resolveu trezentos e setenta e quatro dos quinhentos problemas de Python, uma taxa de sucesso de quase setenta e cinco por cento. Esse desempenho colocou o sistema entre os melhores do setor, classificando-o em décimo segundo lugar geral quando comparado a todos os envios, mas ocupando o primeiro lugar entre os sistemas que utilizam modelos abertos e publicamente disponíveis. Os pesquisadores também testaram o mesmo sistema em um conjunto diferente de problemas escritos na linguagem de programação Java. Apesar das diferenças entre as duas linguagens, o sistema apresentou consistência semelhante, resolvendo quarenta e um de cento e vinte e oito problemas de Java. Isso demonstrou que a estrutura não estava presa a uma única linguagem, mas poderia ser aplicada amplamente a diferentes tipos de software.
Uma descoberta fundamental do estudo foi que as falhas que ocorreram não se deviam ao fato de o agente escrever código desorganizado ou quebrado. Na verdade, quase todos os patches produzidos pelo agente foram aplicados de forma limpa ao software. Os problemas residiam na própria lógica da correção; o agente frequentemente escrevia uma correção que parecia correta, mas que não resolvia de fato a questão subjacente. Essa distinção é crucial porque sugere que a principal barreira para a melhoria não é o formato do código ou a capacidade de usar ferramentas, mas sim a compreensão profunda do significado do problema. Os pesquisadores também descobriram que o sistema foi altamente eficiente em suas operações. Ao automatizar o fluxo de trabalho e permitir que diferentes partes do processo fossem reutilizadas, eles reduziram o esforço humano necessário para executar esses testes de cinco etapas manuais distintas para uma única ação automatizada.
O estudo excluiu explicitamente a ideia de que o sucesso do sistema veio simplesmente de adivinhação ou do uso de um modelo proprietário massivo que apenas poucas empresas poderiam acessar. O agente utilizou um modelo com vinte e sete bilhões de parâmetros, que é grande, mas muito menor do que os modelos mais poderosos disponíveis hoje, e alcançou seus resultados sem qualquer ajuste fino especial. Os pesquisadores também mostraram que o sistema não dependeu da sorte; o desempenho foi consistente em diferentes execuções e diferentes tipos de repositórios de software. Embora o sistema não seja perfeito e ainda lute contra os problemas semânticos mais difíceis, ele representa um grande passo à frente para tornar a inteligência artificial uma parceira confiável na engenharia de software. Ao combinar um fluxo de trabalho estruturado com um processo de seleção inteligente, o Kozuchi Agent mostrou que a tecnologia aberta e acessível pode competir com os sistemas mais avançados na resolução de desafios de codificação do mundo 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.