SWE-Prime은 모든 성공적인 궤적(trajectory)을 모델에 입력하는 것보다, 신중하게 선택된 10%의 "pass" 실행 데이터로 학습시키는 것이 더 강력한 AI 에이전트를 생성한다는 것을 보여줍니다. 이는 pass 라벨을 신뢰할 수 있는 품질 필터로 취급해 온 오랜 관행에 의문을 제기합니다.
이 결과는 코드 생성 또는 자동 디버깅 에이전트를 구축하는 모든 이들에게 중요합니다. 데이터가 많다고 해서 반드시 성능이 향상되는 것은 아니며, pass/fail이라는 이진 플래그에 대한 순진한 의존은 모델이 추론보다는 방황하고, 무의미한 도구 호출을 반복하며, 운에 의존하도록 가르칠 수 있습니다.
"pass" 플래그가 신뢰받아 온 이유
대부분의 인간 피드백 기반 강화 학습(RLHF) 파이프라인에서 엔지니어들은 관찰, 행동, 도구 호출의 전체 시퀀스인 궤적(trajectory)의 최종 결과가 테스트 기준을 충족하면 이를 "pass"로 라벨링합니다. 가정은 간단합니다. 에이전트가 성공했다면, 전체 에피소드에 유용한 행동이 포함되어 있을 것이라는 점입니다. 그래서 모델이 성공으로 이끈 패턴을 흡수하기를 바라며 모든 통과된 실행 데이터를 학습 풀에 쏟아붓습니다.
이러한 가정은 수개월 동안 소프트웨어 엔지니어링(SWE) 에이전트를 위한 대규모 데이터 수집의 지침이 되어 왔습니다. 논리는 견고해 보입니다. pass는 에이전트가 문제를 해결했음을 나타내므로, 해당 에피소드는 그 결과를 만들어낸 정책(policy)을 강화해야 한다는 것입니다.
SWE-Prime이 다르게 접근한 방식
SWE-Prime 연구는 판도를 뒤집었습니다. 연구진은 코드 작성 작업의 표준 벤치마크를 가져와 성공적인 실행을 두 그룹으로 나누었습니다.
- 모든 pass 궤적 – 테스트를 통과한 모든 에피소드를 포함하는 기존의 학습 세트.
- 엄선된 10% 서브셋 – 전체 세트에서 수작업으로 선별한 데이터.
두 그룹 모두 동일한 모델 아키텍처를 미세 조정(fine-tune)했습니다. 별도의 테스트 문제(held-out problems)로 평가했을 때, 엄선된 서브셋으로 학습된 모델이 전체 pass 세트로 학습된 모델보다 더 뛰어난 성능을 보였습니다.
"pass" 라벨을 오염시키는 패턴들
이 연구는 pass 플래그 뒤에 숨겨진 몇 가지 반복적인 실패 모드를 분류했습니다.
- 반복적인 도구 남용(tool spamming) – 에이전트가 최종적으로 올바른 출력을 얻기 전까지 동일한 컴파일러나 린터를 수십 번씩 반복해서 사용할 수 있습니다. 최종적인 성공이 이러한 비효율성을 가려버립니다.
- 긴 방황 단계 – 에이전트가 올바른 해결책을 우연히 찾기 전까지 5단계 이상의 무관한 단계를 탐색하는 경우가 있습니다. 에피소드는 여전히 pass로 끝나지만, 궤적의 대부분은 교육적 가치가 없습니다.
- 사소한 테스트 – 일부 벤치마크는 너무 쉬워서 에이전트가 단 한 번의 추측이나 허점을 이용해 성공할 수 있습니다. pass 라벨은 진정한 추론과 운을 구분하지 못합니다.
이러한 에피소드가 다시 학습 루프에 들어가면, 모델은 무작위적인 방황과 도구의 과도한 사용을 성공과 연관시키도록 학습됩니다. 결과적으로 에이전트는 "무언가 작동할 때까지 계속 시도하라"는 휴리스틱을 내면화하게 되는데, 이는 효율성과 해석 가능성이 필요한 프로덕션급 시스템에서는 바람직하지 않습니다.
세그먼트 수준의 품질 vs 궤적 수준의 결과
SWE-Prime의 핵심 통찰은 궤적의 전체 결과와 이를 구성하는 세그먼트(segment)의 품질 사이의 구분입니다. 궤적은 거친(coarse) 라벨입니다. 최종 답변이 맞았는지는 알려주지만, 내부의 의사 결정 과정은 숨깁니다. 연구에서는 다음과 같은 현상을 관찰했습니다.
- 좋은 궤적에도 나쁜 세그먼트가 포함될 수 있음 – 효율적인 해결책이라 하더라도 최종 답변에 기여하지 않는 몇 가지 낭비되는 단계가 포함될 수 있습니다.
- 실패한 궤적에도 훌륭한 세그먼트가 숨어 있을 수 있음 – 에이전트가 완벽하게 추론된 계획을 생성했더라도, 관련 없는 오류로 인해 테스트가 실패할 수 있습니다.
연구진은 전체 실행 대신 세그먼트에 점수를 매김으로써, 에이전트가 첫 단계부터 의도를 가지고 행동한 에피소드만 남기고 나머지는 버렸습니다. 이를 통해 학습 신호를 모델이 실제로 모방하기를 원하는 추론 패턴과 일치시켰습니다.
비용 및 속도 이점
데이터의 10분의 1만 사용하여 학습함으로써 컴퓨팅 비용도 획기적으로 절감했습니다. 팀은 훨씬 적은 GPU 시간을 필요로 했으며, 파이프라인은 전체 pass 세트에 필요한 시간의 아주 일부 만에 완료되었습니다. 놀라운 역설은, 컴퓨팅 비용은 적게 들면서도 더 높은 성능을 달성했다는 점입니다. 예산이 한정되어 있거나 대규모 배포 목표를 가진 조직에게 이러한 절감 효과는 매우 큽니다.
큐레이션의 과제
이 접근 방식을 채택하는 데 있어 가장 큰 장애물은 무엇을 "좋은 세그먼트"로 간주할지 정의하는 것입니다. SWE-Prime 팀은 값비싼 보상 모델(reward model) 없이 세그먼트에 점수를 매기는 것은 어려우며, 영리하고 가벼운 메트릭(metric)이 필요하다고 언급했습니다.
시사점
SWE-Prime은 이진 "테스트 통과" 플래그가 학습 데이터를 위한 신뢰할 수 없는 필터임을 보여줍니다. 방황하는 에피소드, 중복된 도구 호출, 그리고 지나치게 쉬운 실행 과정을 제거함으로써, 개발자는 컴퓨팅 비용을 절감하는 동시에 더 유능하고 효율적인 에이전트를 학습시킬 수 있습니다. 교훈은 명확합니다. 양보다 질이 더 중요하며, 더 똑똑한 AI 에이전트로 가는 길은 각 단계가 실제로 무엇을 기여하는지에 대한 세밀한 평가에 있습니다.
