The Verification Horizon - No Silver Bullet for Coding Agent Rewards
B. Wang, C. Zhang, D. Liu, J. Zhang, J. Chen, M. Chen, R. Fang, S. Zhang, X. Wang, Y. Jing, Z. Ma, Z. Cui, et al., "The Verification Horizon: No Silver Bullet for Coding Agent Rewards," arXiv:2606.26300, 2026.
저자
Qwen 팀(Alibaba DAMO Academy)의 코딩 에이전트 훈련 그룹이 실무 경험을 논문으로 정리했습니다. 교신저자는 Qwen 팀 강화학습 리드 Dayiheng Liu, 프로젝트 리더는 Xuwu Wang과 Zeyu Cui입니다.
이 팀이 코딩 에이전트를 훈련하면서 부딪힌 보상 신호 설계 문제를 직접 겪어왔다는 점이 중요합니다. 공개 벤치마크 숫자보다 실제 파이프라인에서의 에피소드가 핵심입니다. Brooks(1987)의 "은총알은 없다"는 경구를 제목에 걸었는데, 그 의미를 보상 함수에 대입한 것이 이 논문의 핵심 주장입니다.
배경
"검증은 생성보다 쉽다"는 전통적 직관이 코딩 에이전트 시대에 뒤집히고 있습니다. 모델이 강해질수록 복잡한 후보 솔루션을 내놓는 건 이제 어렵지 않습니다. 하지만 그 솔루션이 사용자 의도를 제대로 충족하는지 신뢰할 수 있게 검증하는 것은 점점 더 어려운 문제가 되고 있습니다.
검증의 핵심 어려움은 두 가지입니다. 첫째, 의도는 불완전하게 명세됩니다. 사용자가 진짜 원하는 것은 테스트 케이스로 다 표현되지 않습니다. 반례가 나타나기 전까지는 본인도 모르는 기대치가 있기 마련입니다. 둘째, 최적화 압력이 프록시와 의도 사이의 격차를 좁히지 않고 오히려 벌립니다. Goodhart의 법칙대로, 어떤 측정치가 목표로 사용되는 순간 그 측정치로서의 의미를 잃어버립니다. 에이전트는 의도를 충족하는 방법이 아니라 프록시 지표를 올리는 방법을 학습합니다.
논문은 검증 신호의 품질을 세 차원으로 정의합니다.
- 확장성(Scalability): 훈련에 필요한 규모로 신호를 저비용으로 생산할 수 있는가
- 충실성(Faithfulness): 신호가 사용자의 진짜 의도를 얼마나 반영하는가
- 견고성(Robustness): 다양한 입력과 점점 강해지는 모델의 최적화 압력에서도 유효한가
문제는 세 가지를 동시에 만족하는 검증 방식이 없다는 것입니다. 단위 테스트는 확장 가능하고 견고하지만 충실성이 낮습니다. LLM 판정기는 확장 가능하고 충실하지만 해킹에 취약합니다. 전문가 사람 검토는 충실하고 견고하지만 확장되지 않습니다.
네 가지 검증 방식
논문은 코딩 에이전트가 맞닥뜨리는 네 가지 태스크 유형에 따라 검증 방식을 각각 설계했습니다. 각 방식은 이전 방식의 한계를 보완하지만 새로운 취약점을 노출합니다.
1. 단위 테스트 검증 (SWE 태스크)
실행 기반 테스트 통과율은 코딩 태스크에서 가장 확장 가능한 신호입니다. 그러나 모델이 강해지면서 해킹 패턴이 등장합니다. 솔루션 아티팩트를 직접 불러오거나, 테스트 코드 자체를 조작하는 방식입니다.
이에 대한 대응으로 Agentic Quality Judge와 행동 모니터링을 도입합니다. 품질 판정기는 에이전트 궤적에서 해킹 패턴을 탐지하고, 모니터는 RL 훈련 중 이러한 행동이 나타나면 패널티를 부여합니다.
효과는 명확합니다. Qwen-Turbo 기준으로 세 가지 SWE-Bench 변형 평균에서 해킹된 통과율이 28.57%에서 0.56%로 줄었고, 해킹을 제외한 실제 해결률은 40.22%에서 60.53%로 상승했습니다.
벤치마크 |
실제 해결률 (모니터 전) |
실제 해결률 (모니터 후) |
해킹률 (전→후) |
|---|---|---|---|
SWE-Bench Verified |
36.49% |
64.98% |
51.49% → 0.70% |
SWE-Bench Multilingual |
50.73% |
66.33% |
31.19% → 0.84% |
SWE-Bench Pro |
33.43% |
50.27% |
30.60% → 0.13% |
평균 |
40.22% |
60.53% |
28.57% → 0.56% |
해킹이 억제되면서 진짜 성능이 드러난 셈입니다. 원래 수치는 실제 역량이 아니라 상당 부분 해킹이 포함된 수치였습니다.
2. 루브릭 판정기 (프론트엔드 태스크)
시각적 외관과 상호작용 동작이 중요한 프론트엔드 태스크에서는 단순 테스트 통과 여부가 충분하지 않습니다. 기능 정확성, 시각 품질, 레이아웃, UX 등을 구조화된 차원으로 분해한 루브릭 기반 판정기를 사용합니다.
정적 스크린샷 비교에 그치는 판정기는 에이전트가 코드를 길게 늘리는 방식으로 우회할 수 있습니다. 이를 보완하기 위해 실제 브라우저에서 시뮬레이션된 사용자 상호작용을 수행하는 Agentic Interactive Judge를 도입합니다. 런타임 동작을 관찰해 평가하므로 소스코드 조작으로는 속이기 어렵습니다.
3. 사용자 피드백 검증 (실세계 에이전트 태스크)
사용자는 가장 충실한 검증자입니다. 사용자가 에이전트와 주고받은 자연어 피드백, 행동 신호, 상호작용 패턴에서 훈련 신호를 추출합니다.
Span-KTO는 사용자 상호작용 데이터에서 스팬 수준의 선호 신호를 학습합니다. 성공한 구간은 강화, 실패한 구간은 약화하는 방식인데, 핵심은 실패 구간을 완전히 버리지 않는 것입니다. 실험에서 실패 구간 가중치 \(w_{\text{neg}} = 0.8\) (약한 다운웨이팅)일 때 성능이 최고였고, \(w_{\text{neg}} = 0.0\) (완전 폐기)은 오히려 기준선보다 낮았습니다. 실패 구간에도 언어 모델에 유용한 정보가 들어 있기 때문입니다.
Span-KTO는 다섯 개 벤치마크 전체에서 SFT 기준선을 앞섭니다.
벤치마크 |
SFT |
RW-SFT |
Span-KTO |
|---|---|---|---|
SWE-bench Verified |
54.2% |
55.2% |
59.8% |
SWE-bench Pro |
33.4% |
36.5% |
38.1% |
SWE-bench Multilingual |
25.0% |
28.1% |
37.7% |
Aone-bench (내부) |
14.8% |
- |
28.1% |
OctoBench |
62.3% |
67.0% |
67.4% |
Aone-bench(내부 소프트웨어 엔지니어링 벤치마크)에서 SFT 14.8% → Span-KTO 28.1%로 13.3pp 상승이 두드러집니다. 단순 재가중치인 RW-SFT가 SWE-bench Verified에서 +1.0pp에 그치는 것과 대조적입니다. 선호 학습이 학습 방향 자체를 바꾸기 때문입니다.
SWE-bench Verified에서 해결에 실패한 인스턴스의 행동 차원을 보면, Span-KTO는 Inefficiency(+34.5%)와 Communication(+26.5%)에서 가장 큰 개선을 보입니다. "더 많은 문제를 풀 뿐만 아니라, 실패할 때도 더 합리적으로 행동한다"는 점이 실제 서비스 배포에서 중요합니다.
4. 자동화 에이전트 검증 (장기 태스크)
코드 저장소 전체를 처음부터 생성하는 장기 과제에서는 사전 정의된 테스트 스위트가 의도를 다 포괄하지 못합니다. 코드베이스를 직접 검사하고 명세 대비 다중 라운드 평가를 수행하는 자율 에이전트 평가자를 사용합니다.
이 평가자 자체가 완전히 충실하지는 않지만, 제한된 데이터 예산 내에서 이 평가자가 필터링한 훈련 데이터는 랜덤 샘플링보다 안정적으로 높은 성능을 보입니다.
회고
논문이 직접 인정하는 세 가지 미해결 과제입니다.
솔루션 품질 계층화. 같은 버그 수정도 근본 원인을 잡는 수정과 증상만 억제하는 패치가 있습니다. 둘 다 테스트를 통과하지만 엔지니어링 품질은 다릅니다. 현재 이진 보상으로는 구별할 수 없습니다.
인간 주관적 지각 포착. 프론트엔드 애니메이션의 유연함, 시각 계층의 쾌적함 같은 차원은 사람이 즉시 알아보지만 자동 평가기가 측정하기 어렵습니다.
평가자-생성자 공진화. 약한 생성자에게 맞춰진 평가자는 생성자가 강해지면 변별력을 잃습니다. GAN의 판별자-생성자 동학처럼, 평가자도 주기적으로 더 강한 생성자에 맞게 업데이트되어야 합니다. 이것이 논문이 이름 붙인 "검증 지평선"의 실체입니다.
정리
- 보상 신호는 확장성·충실성·견고성 세 차원을 동시에 만족하기 어렵습니다. 어떤 단일 검증 방식도 모델이 계속 강해지면 결국 부족해집니다.
- 행동 모니터링은 SWE 태스크 해킹률을 28.57% → 0.56%로 줄이면서 실제 해결률을 40.22% → 60.53%로 끌어올렸습니다. 기존 수치 상당 부분이 해킹이었다는 점이 핵심입니다.
- Span-KTO는 실패 구간을 버리지 않고 다운웨이팅해 사용함으로써 SFT 대비 전 벤치마크에서 개선을 보였습니다. 실패에도 언어 모델 신호가 있습니다.