HyperAgente: Agenti di Ingegneria del Software Generalisti per Risolvere Compiti di Codifica su Larga Scala
HyperAgent: Generalist Software Engineering Agents to Solve Coding Tasks at Scale
September 9, 2024
Autori: Huy Nhat Phan, Phong X. Nguyen, Nghi D. Q. Bui
cs.AI
Abstract
I Large Language Models (LLM) hanno rivoluzionato l'ingegneria del software (SE), dimostrando notevoli capacità in vari compiti di codifica. Mentre sforzi recenti hanno prodotto agenti software autonomi basati su LLM per compiti di sviluppo end-to-end, questi sistemi sono tipicamente progettati per compiti SE specifici. Presentiamo HyperAgent, un nuovo sistema multi-agente generalista progettato per affrontare un'ampia gamma di compiti SE in diversi linguaggi di programmazione imitando i flussi di lavoro degli sviluppatori umani. Composto da quattro agenti specializzati - Pianificatore, Navigatore, Editor di Codice ed Esecutore. HyperAgent gestisce l'intero ciclo di vita dei compiti SE, dall'idea iniziale alla verifica finale. Attraverso valutazioni approfondite, HyperAgent raggiunge prestazioni all'avanguardia in vari compiti SE: ottiene un tasso di successo del 25,01% su SWE-Bench-Lite e del 31,40% su SWE-Bench-Verified per la risoluzione dei problemi di GitHub, superando i metodi esistenti. Inoltre, HyperAgent dimostra prestazioni all'avanguardia nella generazione di codice a livello di repository (RepoExec) e nella localizzazione dei difetti e nella riparazione dei programmi (Defects4J), spesso superando i sistemi specializzati. Questo lavoro rappresenta un significativo progresso verso agenti autonomi e versatili capaci di gestire compiti SE complessi e multi-step in vari domini e linguaggi, potenzialmente trasformando le pratiche di sviluppo software assistite dall'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