CodeMidas, 소스코드 자체에서 RL 훈련 과제를 직접 추출
CodeMidas는 이슈나 커밋 없이 오직 소스코드만으로 코딩 에이전트용 실행 가능한 RL 환경을 구축해 3,185개 코드베이스에서 23개 언어에 걸친 5,545개 과제를 생성했고, 이슈 수정·프로그램 구축·터미널 작업 벤치마크 전반에서 성능을 끌어올렸다.
실제로 쓸모 있는 작업을 해내는 코딩 에이전트를 훈련하는 일은 애초에 더 큰 모델이나 더 많은 GPU만으로 되는 문제가 아니었다. 강화학습에는 과제가 필요하고, 특히 에이전트의 출력이 맞는지 틀린지를 자동으로, 신뢰성 있게 판정할 수 있는 과제, 즉 검증기가 딸린 과제가 필요하다. 검증기가 없으면 아무리 많은 훈련 궤적을 쌓아도 잡음에 지나지 않는다. 새 논문 「CodeMidas: Scaling Agentic Coding RL Environments from Code Itself」(arXiv:2609.22068)가 정면으로 겨냥한 병목이 바로 이것이다. 연산력 부족이 아니라, 실제로 발전을 가로막는 자원인 검증 가능한 코딩 과제 자체가 부족하다는 것이다.
이슈와 커밋만으로는 충분하지 않았던 이유
CodeMidas 이전에는 오픈소스 저장소를 RL 훈련 과제로 바꾸는 표준적인 방법이 이슈, 커밋, 풀리퀘스트 같은 개발 과정의 흔적을 캐내는 것이었다. 버그 리포트를 그것을 고친 커밋과 짝지어 과제와 검증 조건을 만드는 식이다. 이 방법은 작동은 하지만 천장이 낮은데, 세상에 이미 구현되어 실제로 동작하는 코드 중 압도적 다수는 연결된 이슈나 풀리퀘스트가 아예 없기 때문이다. 개발자가 남긴 메타데이터에만 의존하는 것은 광산에서 파기도 전에 광석 대부분을 버리는 것과 같다. CodeMidas는 이를 뒤집는다. 이슈, 커밋, 풀리퀘스트에 전혀 의존하지 않고 소스코드 자체만을 입력으로 사용한다. 이미 어떤 기능을 구현한 코드 조각이라면 원칙적으로 무엇이든 과제로 추출할 수 있게 되며, 이는 대상이 되는 과제 풀을 「기록이 남아 있는 일부 저장소」에서 「사실상 동작하는 모든 오픈소스 코드베이스」로 확장한다.
구축의 모든 단계에 에이전트 연산을 투입
CodeMidas는 훈련 단계뿐 아니라 환경 구축 파이프라인 전체에 걸쳐 에이전트 연산을 투입한다. 먼저 에이전트가 코드베이스 안에 이미 구현된 기능을 탐색해, 그 코드가 무엇을 해야 하는지를 기술하는 행동 명세를 만든다. 다음으로, 근거 없이 추측한 어서션이 아니라 원본 코드의 실제 실행 결과에 뿌리를 둔 테스트 케이스를 구성한다. 마지막으로 후보 과제는 실행 검사와 반복적인 해법 롤아웃을 통한 검증과 필터링을 거쳐, 명세가 모호하거나 테스트가 신뢰할 수 없거나 안정적으로 재현되지 않는 것들을 걸러낸다. 실행 그 자체를 이용해 과제의 신뢰성을 검증하겠다는 이 태도가 전체 파이프라인이 품질을 조용히 떨어뜨리지 않으면서 규모를 키울 수 있게 하는 핵심이다.
폭이 일반화의 지렛대인 이유
최종 데이터셋은 3,185개의 오픈소스 코드베이스에서 뽑아낸 5,545개의 훈련 과제로 구성되며, 23개 프로그래밍 언어와 15개 기술 영역에 걸쳐 있다. 이 폭은 장식이 아니라, 좁은 벤치마크 하나에서만 유능해 보이는 에이전트와 실제로 전이 가능한 코딩 능력을 갖춘 에이전트를 가르는 결정적 차이다. 좁은 범위의 언어나 프로젝트 구조만으로 훈련하면 특정 문법, 특정 버그 패턴, 특정 저장소 관행에 과적합되기 쉽다. 과제를 23개 언어와 15개 영역에 분산시키면 모델이 배우는 근본 능력은 「한 코퍼스에 대한 패턴 매칭」이 아니라 「낯선 코드베이스 안에서 방향을 잡고 자신의 작업을 검증하는」 더 일반적인 것이 될 수밖에 없다.
벤치마크 향상이 실제로 말해주는 것
연구팀은 GRPO를 이용해 MiMo-V2.5 모델을 이 과제들로 훈련시키고 다섯 개 벤치마크에서 평가했으며, 그중 세 가지 구체적 수치가 보고되었다. 이슈 수정 벤치마크인 DeepSWE는 11.7%, 전체 프로그램 구축 벤치마크인 ProgramBench는 17%, 터미널 작업을 다루는 Terminal-Bench v2.1은 8.5% 향상되었다. 가장 큰 폭으로 뛴 것은 ProgramBench인데, 이는 CodeMidas가 애초에 과제를 구축하는 방식과 정확히 맞아떨어진다. 파이프라인 자체가 좁은 범위의 버그 하나를 고치는 것이 아니라 이미 구현된 기능 전체를 이해하고 재현하는 데 초점을 두고 만들어졌기 때문에, 결과로 나온 에이전트가 좁은 수리 작업보다 처음부터 무언가를 만들어내는 작업에서 가장 크게 향상된 것은 놀랍지 않다. 절제 실험(ablation)에서는 고품질 훈련 과제의 수를 늘릴수록 성능이 계속 향상되는 것으로 나타나, 코드 자체로부터 검증기를 대규모로 만들어내는 이 접근법에 아직 확장의 여지가 남아 있음을 시사한다. 궤적 분석에서도 RL로 훈련된 에이전트가 더 많은 코드베이스 탐색과 더 다양한 자기 검증 행동을 보이는 것으로 나타났는데, 이는 모델이 배운 것이 단순히 정답을 맞히는 법만이 아니라 행동하기 전에 상황을 파악하고 행동한 뒤에 확인하는, 엔지니어의 습관에 가까운 무언가였음을 뜻한다.
앞으로 지켜봐야 할 지점
이 연구는 앞으로의 경쟁 구도에 대한 시사점도 담고 있다. 코드 자체로부터 검증 가능한 과제를 대규모로 만들어내는 접근이 통한다면, 다음 단계의 경쟁은 어느 기반 모델의 파라미터가 더 많은가가 아니라 코드베이스 탐색, 명세 작성, 테스트 구성, 실행 기반 검증이라는 파이프라인을 누가 더 안정적이고 저렴하게 돌릴 수 있는가로 옮겨갈 가능성이 크다. 절제 실험에서 이미 과제 수와 성능 사이에 양의 상관관계가 확인된 만큼, 이 파이프라인을 더 많은 코드베이스와 더 많은 언어 생태계로 먼저 확장하는 쪽이 다음 세대 코딩 에이전트 경쟁에서 유리한 고지를 차지할 가능성이 있다. 동시에 검증기 자체가 에이전트에 의해 자동으로 만들어진다는 점에서, 이렇게 자동 생성된 명세와 테스트가 실제로 신뢰할 만한지를 지속적으로 감사하는 절차가 이 접근법이 장기적으로 확장 가능한지를 가르는 전제 조건이 될 것이다.
Sources
FAQ
CodeMidas가 해결하는 핵심 문제는 무엇인가?
에이전트형 코딩 RL에서 검증 가능한 과제가 부족한 문제를 해결한다. 이슈와 커밋에만 의존하면 과제가 너무 적어, CodeMidas는 소스코드 자체에서 실행 가능한 검증 환경을 직접 구축한다.
CodeMidas는 훈련 과제를 몇 개, 어디서 생성했는가?
데이터셋은 3,185개의 오픈소스 코드베이스에서 뽑아낸 5,545개의 훈련 과제로 구성되며, 23개 프로그래밍 언어와 15개 기술 영역에 걸쳐 있다.
CodeMidas 데이터로 훈련한 뒤 어떤 벤치마크가 향상되었는가?
GRPO로 MiMo-V2.5를 훈련한 결과 이슈 수정 벤치마크 DeepSWE가 11.7%, 전체 프로그램 구축 벤치마크 ProgramBench가 17%, 터미널 작업 벤치마크 Terminal-Bench v2.1이 8.5% 향상되었다.