HyperAgente: Agentes de Engenharia de Software Generalistas para Resolver Tarefas de Codificação em Escala
HyperAgent: Generalist Software Engineering Agents to Solve Coding Tasks at Scale
September 9, 2024
Autores: Huy Nhat Phan, Phong X. Nguyen, Nghi D. Q. Bui
cs.AI
Resumo
Os Modelos de Linguagem de Grande Escala (LLMs) revolucionaram a engenharia de software (SE), demonstrando capacidades notáveis em várias tarefas de codificação. Enquanto esforços recentes têm produzido agentes de software autônomos baseados em LLMs para tarefas de desenvolvimento de ponta a ponta, esses sistemas são tipicamente projetados para tarefas específicas de SE. Apresentamos o HyperAgent, um novo sistema multiagente generalista projetado para abordar um amplo espectro de tarefas de SE em diferentes linguagens de programação, imitando os fluxos de trabalho de desenvolvedores humanos. Composto por quatro agentes especializados - Planejador, Navegador, Editor de Código e Executor - o HyperAgent gerencia todo o ciclo de vida das tarefas de SE, desde a concepção inicial até a verificação final. Através de avaliações extensivas, o HyperAgent alcança um desempenho de ponta em diversas tarefas de SE: ele atinge uma taxa de sucesso de 25,01% no SWE-Bench-Lite e 31,40% no SWE-Bench-Verified para resolução de problemas do GitHub, superando métodos existentes. Além disso, o HyperAgent demonstra um desempenho de ponta na geração de código em nível de repositório (RepoExec) e na localização de falhas e reparo de programas (Defects4J), frequentemente superando sistemas especializados. Este trabalho representa um avanço significativo em direção a agentes autônomos e versáteis capazes de lidar com tarefas complexas de SE em vários domínios e linguagens, potencialmente transformando as práticas de desenvolvimento de software assistido por IA.
English
Large Language Models (LLMs) have revolutionized software engineering (SE),
demonstrating remarkable capabilities in various coding tasks. While recent
efforts have produced autonomous software agents based on LLMs for end-to-end
development tasks, these systems are typically designed for specific SE tasks.
We introduce HyperAgent, a novel generalist multi-agent system designed to
address a wide spectrum of SE tasks across different programming languages by
mimicking human developers' workflows. Comprising four specialized agents -
Planner, Navigator, Code Editor, and Executor. HyperAgent manages the full
lifecycle of SE tasks, from initial conception to final verification. Through
extensive evaluations, HyperAgent achieves state-of-the-art performance across
diverse SE tasks: it attains a 25.01% success rate on SWE-Bench-Lite and 31.40%
on SWE-Bench-Verified for GitHub issue resolution, surpassing existing methods.
Furthermore, HyperAgent demonstrates SOTA performance in repository-level code
generation (RepoExec), and in fault localization and program repair
(Defects4J), often outperforming specialized systems. This work represents a
significant advancement towards versatile, autonomous agents capable of
handling complex, multi-step SE tasks across various domains and languages,
potentially transforming AI-assisted software development practices.Summary
AI-Generated Summary