자기대전 기반 소프트웨어 에이전트 강화학습으로 초지능 훈련

SSR은 인간 라벨이 전혀 없는 실제 코드 저장소를 환경으로 삼아, 하나의 LLM 에이전트를 자기대전(self‑play) 방식으로 강화학습한다. 에이전트는 테스트 패치를 이용해 점진적으로 복잡한 버그를 삽입하고 복구함으로써 스스로 학습 데이터를 생성한다. SWE‑bench Verified와 Pro 벤치마크에서 각각 10.4점·7.8점의 성능 향상을 기록했으

자기대전 기반 소프트웨어 에이전트 강화학습으로 초지능 훈련

초록

SSR은 인간 라벨이 전혀 없는 실제 코드 저장소를 환경으로 삼아, 하나의 LLM 에이전트를 자기대전(self‑play) 방식으로 강화학습한다. 에이전트는 테스트 패치를 이용해 점진적으로 복잡한 버그를 삽입하고 복구함으로써 스스로 학습 데이터를 생성한다. SWE‑bench Verified와 Pro 벤치마크에서 각각 10.4점·7.8점의 성능 향상을 기록했으며, 인간 데이터 기반 베이스라인을 전체 학습 과정에서 지속적으로 앞섰다. 이는 인간 지식 의존도를 낮추고, 실세계 코드베이스에서 무한히 확장 가능한 학습 루프를 제공함으로써 초지능 소프트웨어 에이전트 개발의 첫 발걸음이 된다.

상세 요약

본 논문은 현재 LLM 기반 코딩 에이전트가 인간이 만든 이슈·테스트에 크게 의존한다는 근본적인 한계를 지적한다. 이러한 의존성은 데이터 편향과 스케일 한계로 이어져, 궁극적인 초지능 소프트웨어 에이전트 구현을 저해한다는 점이 핵심 논점이다. 이를 극복하기 위해 저자들은 “Self‑play SWE‑RL (SSR)”이라는 새로운 학습 패러다임을 제안한다. SSR은 최소한의 전제조건만을 요구한다. 즉, 샌드박스된 리포지토리와 그 의존성만 있으면 되며, 인간이 작성한 이슈나 테스트는 전혀 필요하지 않다.

기술적으로 SSR은 하나의 대형 언어 모델(LLM)을 에이전트로 설정하고, 이를 강화학습(RL) 프레임워크에 통합한다. 에이전트는 두 가지 역할을 번갈아 수행한다. 첫 번째는 현재 코드베이스에 의도적으로 버그를 삽입하는 “버그 생성자” 역할이며, 두 번째는 삽입된 버그를 테스트 패치를 통해 복구하는 “버그 복구자” 역할이다. 여기서 버그의 정의는 명시적인 테스트 패치(예: 실패하는 단위 테스트)로 표현되며, 자연어 이슈 설명이 아니라 정량적·형식적 사양으로 제공된다.

자기대전 구조는 다음과 같다. 초기에는 간단한 문법 오류나 논리적 결함 수준의 버그를 생성하고, 복구자는 이를 해결한다. 에피소드가 진행될수록 보상 함수가 점점 더 높은 복잡도의 버그(예: 의존성 충돌, 성능 저하, 보안 취약점)를 요구하도록 설계되어 있다. 보상은 (1) 버그 삽입 성공 여부, (2) 복구 성공 여부, (3) 생성·복구 과정에서 소요된 토큰 수·시간 등 효율성 지표를 종합해 계산된다. 이러한 보상 설계는 에이전트가 단순히 “많이 시도한다”가 아니라 “점진적으로 어려운 문제를 해결한다”는 방향으로 학습을 유도한다.

학습 과정에서 에이전트는 자체 생성한 데이터(버그·패치 쌍)를 경험 재플레이 버퍼에 저장하고, 이를 샘플링해 정책 업데이트에 활용한다. 이는 기존 데이터 중심 학습과 달리, 에이전트가 스스로 학습 데이터를 생산하고, 그 데이터가 점점 더 도전적인 형태로 진화한다는 점에서 혁신적이다. 또한, 테스트 패치를 정형화된 사양으로 사용함으로써, 자연어 이슈의 모호성을 회피하고, 자동화된 평가 파이프라인을 구축할 수 있다.

실험에서는 SWE‑bench Verified와 SWE‑bench Pro 두 벤치마크를 사용했다. 두 벤치마크 모두 실제 오픈소스 프로젝트에서 추출한 이슈·풀 리퀘스트를 기반으로 하며, 인간 라벨이 포함된 평가 세트를 제공한다. SSR은 학습 초기에 인간 데이터 기반 베이스라인(예: InstructGPT‑based 코딩 에이전트)과 비슷한 수준을 보였지만, 10~15 에피소드 이후부터 지속적인 성능 상승을 기록했다. 특히 Verified에서는 +10.4점, Pro에서는 +7.8점의 절대 점수 향상을 달성했으며, 전체 학습 궤적에서 베이스라인을 일관되게 앞섰다. 흥미롭게도, SSR이 학습에 사용한 자체 생성 버그·패치 쌍은 평가 시 사용된 자연어 이슈와 전혀 겹치지 않았음에도 불구하고, 일반화 능력이 뛰어났다는 점이 강조된다.

한계점으로는 (1) 현재는 단일 LLM 에이전트만을 사용했으며, 멀티‑에이전트 협업이나 계층적 정책 학습이 미탐색, (2) 보상 설계가 아직 경험적이며, 복잡도 조절이 자동화되지 않아 인간이 개입해야 하는 부분이 존재, (3) 테스트 패치 기반 버그 정의가 모든 종류의 소프트웨어 결함을 포괄하지 못한다는 점을 들 수 있다. 그럼에도 불구하고, SSR은 “데이터·환경 의존성을 최소화하고, 실세계 코드베이스에서 무한히 확장 가능한 자기주도 학습 루프”를 구현한 최초 사례로 평가된다. 향후 연구는 멀티‑모달 피드백(예: 실행 로그, 프로파일링 정보) 통합, 자동 복잡도 조절 메커니즘, 그리고 실제 제품 수준의 대규모 코드베이스에 대한 확장성을 탐색할 필요가 있다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...