하이퍼에이전트: 규모에 맞게 코딩 작업을 해결하는 일반적인 소프트웨어 엔지니어링 에이전트
HyperAgent: Generalist Software Engineering Agents to Solve Coding Tasks at Scale
September 9, 2024
저자: Huy Nhat Phan, Phong X. Nguyen, Nghi D. Q. Bui
cs.AI
초록
대규모 언어 모델 (LLM)은 소프트웨어 공학 (SE)을 혁신적으로 변화시켜 왔으며, 다양한 코딩 작업에서 놀라운 능력을 보여주고 있습니다. 최근의 노력들은 LLM을 기반으로 한 자율 소프트웨어 에이전트를 만들어 end-to-end 개발 작업을 수행하였지만, 이러한 시스템들은 일반적으로 특정 SE 작업을 위해 설계됩니다. 우리는 HyperAgent를 소개합니다. 이는 새로운 종류의 다목적 다중 에이전트 시스템으로, 다양한 프로그래밍 언어를 통해 SE 작업의 넓은 스펙트럼을 다루기 위해 인간 개발자의 작업 흐름을 모방합니다. Planner, Navigator, Code Editor, 그리고 Executor로 구성된 네 가지 특화된 에이전트를 포함하고 있습니다. HyperAgent는 SE 작업의 초기 개념부터 최종 검증까지의 전체 수명주기를 관리합니다. 광범위한 평가를 통해 HyperAgent는 다양한 SE 작업에서 최첨단 성능을 달성합니다: SWE-Bench-Lite에서 25.01%의 성공률과 SWE-Bench-Verified에서 31.40%의 성과를 거두어 GitHub 이슈 해결에서 기존 방법을 능가합니다. 더 나아가, HyperAgent는 저장소 수준의 코드 생성 (RepoExec) 및 결함 위치 식별 및 프로그램 수리 (Defects4J)에서 최첨단 성능을 보여주며 종종 전문 시스템을 능가합니다. 본 연구는 다양한 도메인과 언어를 통해 복잡하고 다단계 SE 작업을 처리할 수 있는 다재다능하고 자율적인 에이전트로의 중요한 발전을 나타내며, 이는 AI 지원 소프트웨어 개발 방법을 변화시킬 수 있는 잠재력을 지닙니다.
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