Hyperagent: Generalist software engineering agents to solve coding tasks at scale

저자: H. N. Phan, Phong X. Nguyen, Nghi D. Q. Bui | 날짜: 2024 | DOI: 미제공


Essence

Figure 1

그림 1: 소프트웨어 엔지니어링 작업을 해결하기 위한 개발자의 전형적인 워크플로우 (분석 & 계획 → 기능 위치 파악 → 코드 편집 → 실행)

HYPERAGENT는 인간 개발자의 워크플로우를 모방하는 멀티에이전트 시스템으로, 플래너(Planner), 네비게이터(Navigator), 코드 에디터(Code Editor), 실행기(Executor)의 네 가지 전문화된 에이전트로 구성되어 다양한 프로그래밍 언어와 소프트웨어 엔지니어링 작업을 일반적으로 해결할 수 있는 최초의 통합 시스템이다.

Motivation

Achievement

Figure 2

그림 2: HYPERAGENT의 개요 - 네 가지 에이전트(Planner, Navigator, Code Editor, Executor)로 구성된 확장 가능한 멀티에이전트 시스템

  1. 범용성과 성능의 동시 달성: HYPERAGENT는 Python(SWE-Bench), Java(Defects4J), Repository-level 코드 생성(RepoExec) 등 다양한 언어와 작업에서 SOTA(State-of-the-Art) 성능을 달성하는 최초의 off-the-shelf 시스템임. GitHub 이슈 해결에서 강력한 베이스라인들을 초과 달성.
  2. 전문화된 에이전트 설계의 효율성: Planner와 Navigator는 경량 LLM을 사용하고, Code Editor와 Executor는 고급 모델을 사용함으로써, 계산 비용을 최소화하면서도 복잡한 코드 작업에서 높은 성능 유지. 이는 에이전트별 작업 특성에 따른 최적화된 리소스 할당.
  3. 광범위한 적용 가능성: Task-specific 적응 없이도 다양한 소프트웨어 엔지니어링 벤치마크에서 일관되게 우수한 성능을 발휘하며, 이는 실제 소프트웨어 개발 환경으로의 전이 가능성을 강력히 입증함.

How

Figure 3

그림 3: 에이전트 간 상호작용 예시 - Planner의 사고(Thought)와 요청(Request)이 Navigator, Code Editor, Executor를 차례로 호출하는 협력 과정

Originality

Limitation & Further Study

Evaluation

Novelty: 4.5/5 Technical Soundness: 4/5 Significance: 4.5/5 Clarity: 4/5 Overall: 4.2/5

총평: HYPERAGENT는 인간 개발자의 워크플로우를 체계적으로 모방하는 설계 철학으로 범용성, 효율성, 확장성을 모두 달성한 실용적이고 혁신적인 멀티에이전트 시스템이며, 다양한 벤치마크에서의 강력한 성능 입증으로 실제 소프트웨어 개발 환경으로의 즉시적 적용 가능성을 보여주는 의미 있는 기여이다.

같이 보면 좋은 논문

다른 접근
소프트웨어 개발 자동화를 위한 다른 오픈 플랫폼 접근 방식
후속 연구
범용 소프트웨어 엔지니어링 에이전트로 개발 자동화를 확장한다
응용 사례
실제 GitHub 이슈 해결을 통한 소프트웨어 에이전트 성능 평가
← 목록으로 돌아가기