A Universidade de Princeton lançou o primeiro agente SWE do programador de IA de código aberto do mundo, que é baseado na tecnologia GPT-4 e pode corrigir bugs automaticamente nos repositórios GitHub. O agente SWE teve um bom desempenho no conjunto de testes de bancada SWE, resolvendo com sucesso 12,29% dos problemas, levando uma média de apenas 93 segundos e tendo uma precisão comparável à dos programadores de IA existentes. A sua natureza de código aberto permitiu-lhe ganhar rapidamente muita atenção, demonstrando o enorme potencial da IA na área da engenharia de software. Este artigo irá aprofundar o princípio de funcionamento, desempenho e impacto do agente SWE na futura engenharia de software.
A Universidade de Princeton lançou recentemente um programador de IA chamado SWE-agent, que é o primeiro programador de IA de código aberto do mundo. Ele é baseado na tecnologia GPT-4 e pode corrigir bugs automaticamente nos repositórios GitHub. O nascimento desta interface agente-computador marca um passo importante na aplicação da IA no campo da engenharia de software. O desempenho do agente SWE no conjunto de testes SWE-bench é impressionante. Ele resolveu com sucesso 12,29% dos problemas, levando uma média de apenas 93 segundos, e sua precisão foi comparável à do programador de IA lançado anteriormente, Devin. A natureza de código aberto do agente SWE significa que ele rapidamente ganhou 1,6 mil estrelas e 109 Forks no GitHub, mostrando o alto reconhecimento e interesse da comunidade de código aberto nesta tecnologia. O agente SWE funciona interagindo com um terminal especializado, que pode abrir, rolar e pesquisar arquivos, editar linhas específicas e realizar verificações de sintaxe, escrever e executar testes automaticamente. Este design é semelhante à IU projetada para humanos, evitando erros e fornecendo feedback. Por exemplo, ao lidar com um bug de operação de matriz, o agente SWE pode reproduzir o problema, localizar o código do problema, fazer modificações e resolver o problema com sucesso. Os pesquisadores da Universidade de Princeton projetaram um formato conciso de instrução e feedback para o agente SWE, tornando mais fácil para o modelo navegar no repositório de código, visualizar, editar e executar arquivos de código. O fluxo de trabalho do agente SWE é dividido em duas etapas: raciocínio e avaliação. Na fase de raciocínio, o agente SWE trata dos problemas no GitHub e gera soluções de reparo; na fase de avaliação, confirma se a solução realmente resolve o problema; Os principais autores deste estudo, John Yang e Carlos E. Jimenez, são assistentes de pesquisa e estudantes de doutorado na Universidade de Princeton. Seus interesses de pesquisa se concentram em fundamentos de linguagem, interação, benchmarking de LLM, engenharia de software e geração de código. Seu trabalho demonstra o potencial da IA no campo da engenharia de software e desencadeia uma reflexão aprofundada sobre as funções e capacidades da IA e dos humanos no processo de engenharia. Com o desenvolvimento da tecnologia de IA, temos visto o avanço da IA no campo da programação. Eles podem não apenas planejar e executar tarefas complexas de engenharia, mas também corrigir bugs e ser responsáveis por todo o processo de desenvolvimento do projeto. No entanto, apesar do progresso que a IA fez na escrita de códigos seguros, a supervisão humana continua crítica. Embora a ascensão da IA ainda não tenha atingido o estágio de substituir completamente os engenheiros de software, ela está mudando a face e a direção futura do campo tecnológico. Este programador de IA de código aberto da equipe de Princeton não apenas traz novas perspectivas de pesquisa e aplicação para o campo da engenharia de software, mas também nos dá a oportunidade de pensar sobre a cooperação entre a inteligência artificial e os humanos para criar um futuro. À medida que a tecnologia continua a avançar, poderemos ver a IA desempenhar um papel ainda mais importante no campo da engenharia de software.O surgimento do agente SWE marca um novo marco na programação assistida por IA Embora a supervisão humana ainda seja necessária, o seu potencial para melhorar a eficiência do desenvolvimento e a qualidade do código não pode ser ignorado. No futuro, a cooperação colaborativa entre IA e programadores humanos tornar-se-á uma tendência dominante no campo da engenharia de software, promovendo conjuntamente o progresso tecnológico.