한 줄 요약
SWE-Gym을 활용한 소프트웨어 엔지니어링 에이전트 학습 환경 구축과 32.0% 성능 달성.
핵심 기여도
- SWE-Gym: 2,438개의 실제 Python 태스크를 포함한 첫 실무 SWE 에이전트 학습 환경.
- 32B Qwen-2.5 모델을 491개의 트래젝토리로 학습하여 SWE-Bench Verified에서 20.6% → 32.0% 성능 향상.
- 인퍼런스 타임 스케일링을 통해 32.0% (Verified), 26.0% (Lite) 달성, 오픈웨이트 기준 최고 성능.
- 에이전트와 베리파이어 모델 모두 학습 가능하며, 베리파이어는 트래젝토리의 성공 확률을 추정하여 최적 선택.
핵심 아이디어
SWE-Gym은 기존 SWE-Bench와 달리 실행 가능한 런타임 환경, 단위 테스트, 자연어로 명시된 태스크를 포함한 실제 소프트웨어 엔지니어링 환경을 제공한다. 이는 기존 학습 환경이 의존하는 합성 데이터나 단일 태스크 중심의 문제를 극복한다. 핵심 아이디어는 **에이전트-환경 상호작용 트래젝토리**를 기반으로 **자연스러운 학습 신호**를 생성하여, 언어 모델이 실제 개발 환경에서의 문제 해결 능력을 향상시키는 것이다. 특히, **SWE-Gym의 실행 환경**은 테스트 실패/성공 여부를 명확히 제공하여, 보상 신호를 학습에 반영할 수 있다.
기술적 접근법
- **SWE-Gym**: 11개 오픈소스 레포지토리에서 2,438개의 Python 태스크를 포함. 각 태스크는 실행 가능한 런타임 환경, 단위 테스트, 자연어로 명시된 문제를 포함.
- **에이전트 학습**: OpenHands 에이전트 프레임워크를 기반으로 32B Qwen-2.5 모델을 491개의 트래젝토리로 학습.
- **베리파이어 학습**: SWE-Gym에서 수집된 성공/실패 트래젝토리를 기반으로 **결과 감독 보상 모델**을 학습.
- **인퍼런스 타임 스케일링**: 여러 트래젝토리를 샘플링하고, 베리파이어를 사용해 최고 보상을 가진 트래젝토리를 선택.
주요 결과
- SWE-Bench Lite: 15.3% → 26.0% (베이스라인 대비 +10.7%)
- SWE-Bench Verified: 20.6% → 32.0% (베이스라인 대비 +11.4%)
- 32B Qwen-2.5 모델 기반 에이전트가 491개의 트래젝토리로 학습하여 성능 향상.
- Moatless 에이전트 프레임워크에서도 19.7% (32B), 10.0% (7B) 성능 개선.
의의 및 한계
SWE-Gym은 기존 SWE-Bench가 제공하지 못한 실행 환경과 보상 신호를 포함한 **실무 중심 학습 환경**을 제공하며, 오픈웨이트 기반 에이전트의 성능 기준을 제시한다. 또한, **트래젝토리 기반 학습**과 **베리파이어 활용**은 인퍼런스 타임 성능 향상을 가능하게 한다. 그러나 현재 학습 성능은 **트래젝토리 샘플링 컴퓨팅 리소스**에 제한되며, 더 많은 데이터나 컴퓨팅이 추가될 경우 성능이 지속적으로 향상될 것으로 예상된다.
실용적 활용
SWE-Gym은 오픈소스 레포지토리에서 발생하는 실제 개발 문제를 해결하는 자동화 에이전트 개발에 활용 가능하다. 특히, **소프트웨어 유지보수**, **버그 수정**, **테스트 자동화** 등에 적용할 수 있으며, **모델 학습 및 평가 프레임워크**로도 활용 가능하다.