notícias

No topo da lista de engenheiros de software de IA de código aberto, a solução sem agente da UIUC resolve problemas reais de programação

2024-07-15

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

A coluna AIxiv é uma coluna onde a Machine Heart publica conteúdo acadêmico e técnico. Nos últimos anos, a coluna Heart of the Machine AIxiv recebeu mais de 2.000 relatórios, abrangendo os principais laboratórios das principais universidades e empresas de todo o mundo, promovendo efetivamente o intercâmbio e a divulgação acadêmica. Se você tem um trabalho excelente que deseja compartilhar, sinta-se à vontade para contribuir ou entre em contato conosco para reportar. E-mail de envio: [email protected]; [email protected];

Os autores deste artigo são todos da equipe do professor Zhang Lingming da Universidade de Illinois em Urbana-Champaign (UIUC), incluindo: Steven Xia, um estudante de doutorado do quarto ano, cuja direção de pesquisa é o reparo automático de código baseado em IA grande modelos; Deng Yinlin, estudante de doutorado do quarto ano, cuja direção de pesquisa é geração de código baseada em grandes modelos de IA; Soren Dunn, estagiário de pesquisa científica, atualmente estudante júnior na UIUC; O professor Zhang Lingming é atualmente professor associado do Departamento de Ciência da Computação da UIUC, principalmente envolvido em pesquisas relacionadas à engenharia de software, aprendizado de máquina e grandes modelos de código.

Para informações mais detalhadas, visite a página pessoal do professor Zhang: https://lingming.cs.illinois.edu/

Desde que Devin (o primeiro engenheiro de software de IA totalmente automático) foi proposto, o design do Agente de IA para engenharia de software tornou-se o foco da pesquisa. Cada vez mais engenheiros de software automáticos de IA baseados em agentes foram propostos e alcançaram resultados no banco SWE. conjunto de dados. Ele alcançou um bom desempenho e corrigiu automaticamente muitos problemas reais do GitHub.

No entanto, um sistema de agente complexo trará sobrecarga e incerteza adicionais. Será que realmente precisamos usar um agente tão complexo para resolver problemas do GitHub? As soluções que não dependem de agentes podem chegar perto do seu desempenho?

A partir desses dois problemas, a equipe do professor Zhang Lingming, da Universidade de Illinois em Urbana-Champaign (UIUC), propôs o OpenAutoCoder-Agentless, uma solução simples, eficiente e de código aberto, sem agente, que pode resolver um problema real do GitHub por apenas US$ 0,34. Agentless atraiu mais de 300 estrelas do GitHub no GitHub em apenas alguns dias e foi classificado entre os três primeiros na lista semanal de artigos de ML mais populares do DAIR.AI.



Tag: AGENTLESS: Desmistificando agentes de engenharia de software baseados em LLM

Endereço do artigo: https://huggingface.co/papers/2407.01489

Código-fonte aberto: https://github.com/OpenAutoCoder/Agentless

O cientista pesquisador da AWS, Leo Boytsov, disse: "A estrutura Agentless superou todas as soluções de agente de código aberto e quase atingiu o nível mais alto no SWE Bench Lite (27%). Além disso, superou todas as soluções de código aberto a um custo significativamente menor. A estrutura usa A abordagem de consulta hierárquica (fazer perguntas ao LLM para encontrar arquivos, classes, funções, etc.) aproveita o LLM, mas não permite que o LLM tome decisões de planejamento."



Agentless é uma abordagem automatizada para problemas de desenvolvimento de software que usa uma abordagem simples de duas fases para localizar e corrigir bugs em sua base de código. Na fase de localização, o Agentless usa uma abordagem hierárquica para restringir gradualmente arquivos suspeitos, classes/funções e locais de edição específicos. Para reparo, ele usa um formato diff simples (referenciado na ferramenta de código aberto Aider) para gerar vários patches candidatos, filtrá-los e classificá-los.



Os pesquisadores compararam o Agentless com os agentes de software de IA existentes, incluindo projetos de código aberto e comerciais/de código fechado de última geração. Surpreendentemente, o Agentless pode superar todos os agentes de software de código aberto existentes a um custo menor! O Agentless resolve 27,33% dos problemas, o mais alto entre as soluções de código aberto, e custa apenas US$ 0,29 em média para resolver cada problema, e custa apenas cerca de US$ 0,34 em média para todos os problemas (incluindo solucionáveis ​​e não resolvidos).



Não só isso, mas o Agentless tem potencial para melhorar. O Agentless pode resolver 41% dos problemas ao considerar todos os patches gerados, um limite superior que indica espaço significativo para melhorias nos estágios de classificação e seleção de patches. Além disso, o Agentless é capaz de resolver alguns problemas únicos que mesmo a melhor ferramenta comercial (Alibaba Lingma Agent) não consegue resolver, sugerindo que pode ser utilizado como um complemento às ferramentas existentes.



Análise do conjunto de dados SWE-bench Lite

Os pesquisadores também realizaram inspeção manual e análise detalhada no conjunto de dados SWE-bench Lite.

O estudo descobriu que 4,3% dos problemas no conjunto de dados SWE-bench Lite deram respostas completas diretamente na descrição do problema, que é o patch de correção correto. Os outros 10% das questões descrevem as etapas exatas para a solução correta. Isto sugere que alguns problemas no SWE-bench Lite podem ser mais fáceis de resolver.

Além disso, a equipe de pesquisa observou que 4,3% dos problemas incluíam soluções propostas pelos usuários ou etapas na descrição do problema, mas essas soluções não eram consistentes com os patches reais dos desenvolvedores. Isto revela ainda um problema potencial com este benchmark, uma vez que estas soluções enganosas podem fazer com que a ferramenta de IA gere soluções incorretas simplesmente seguindo a descrição do problema.

Em termos de qualidade da descrição do problema, os pesquisadores observaram que embora a maioria das tarefas do SWE-bench Lite contenha informações suficientes, e muitas tarefas também forneçam exemplos de falhas para reproduzir erros, ainda existem 9,3% dos problemas que não incluem informações suficientes. Por exemplo, você precisa implementar uma nova função ou adicionar uma mensagem de erro, mas o nome da função específica ou a sequência específica da mensagem de erro não são fornecidos na descrição do problema. Isso significa que mesmo que a funcionalidade subjacente seja implementada corretamente, o teste falhará se o nome da função ou a sequência da mensagem de erro não corresponderem exatamente.



Pesquisadores da Universidade de Princeton e um dos autores do SWE-Bench confirmaram suas descobertas ao Ofir Press: "Agentless realizou uma boa análise manual do SWE-bench Lite. Eles acreditam que a pontuação máxima teórica no Lite pode ser de 90,7%. Acho que o o limite superior real é provavelmente inferior (cerca de 80%). Algumas questões têm informações insuficientes e outras são demasiado rigorosas.”



SWE-bench Lite-S: um subconjunto estrito e filtrado de problemas

Em resposta a esses problemas, os pesquisadores propuseram um subconjunto estrito de problemas SWE-bench Lite-S (contendo 252 questões). Especificamente, excluímos do SWE-bench Lite (contendo 300 questões) aquelas questões que continham patches exatos, soluções enganosas ou que não forneciam informações suficientes na descrição do problema. Isso elimina questões irracionais e padroniza o nível de dificuldade do benchmark. Comparado ao SWE-bench Lite original, o benchmark filtrado reflete com mais precisão as verdadeiras capacidades das ferramentas automatizadas de desenvolvimento de software.

Conclusão

Embora o desenvolvimento de software baseado em Agentes seja muito promissor, os autores acreditam que é hora de a comunidade de tecnologia e pesquisa parar e pensar sobre seus principais métodos de design e avaliação, em vez de se apressar para lançar mais Agentes. Os pesquisadores esperam que o Agentless possa ajudar a redefinir a linha de base e a direção dos futuros agentes de engenharia de software.