실패 예측 모니터 StopLoss가 코딩 에이전트의 조기 중단 비용을 줄인다
StopLoss: Teaching Agents to Predict Failure and Stop Early
무엇인가
코딩 에이전트는 검증에 실패할 실행에도 계속 편집·테스트·도구 호출을 이어간다. 예산 상한 방식은 결국 성공할 실행을 잘라낼 수 있고, 범용 모델에게 매번 진행 상황을 심판시키는 방식은 심판 비용이 절약분을 잠식한다. 저자들은 조기 중단이 비용을 줄이려면 회피한 실행 비용이 모니터링 비용과 잘못 중단한 성공 실행의 손실을 합친 것보다 커야 한다는 조건을 중심에 둔다.
어떻게 동작하나
StopLoss는 실행기를 바꾸지 않는 작은 외부 모니터다. 완료된 궤적과 검증 결과를 이용해 7B~8B 언어모델을 LoRA로 학습한다. 실패한 실행의 모든 이전 창은 Abort, 성공한 실행의 마지막 두 도구 단계 창은 Deliver, 그 이전 성공 창은 Continue로 라벨링한다. 런타임에는 단계 수와 최근 세 개의 행동-관찰 쌍을 1,600토큰 한도로 읽고, Continue·Deliver·Abort 후보 토큰 로짓의 소프트맥스에서 Abort 확률을 바로 읽는다. 생성이나 추론 흔적 없이 한 번의 순전파면 된다. 앙상블은 구성원의 실패 점수를 평균하고 비용은 구성원 합으로 계산한다. 5, 8, 11단계처럼 예약된 검사점에서 점수가 임계값을 넘으면 중단하고, 임계값은 성공 궤적에서 최대 점수를 모아 목표 허위 중단률 5%에 맞춰 보정한다.
무엇과 다른가
훈련은 GPT 계열 실행기로 수집한 SWE-rebench 궤적 4,867개 과제 61,315개 창에서 하고, 219개 과제 1,858개 창을 모델 선택에 쓴다. 평가는 SWE-bench Verified 500개 과제와 SWE-bench Pro의 Python 266개 과제 일부, GPT-5.6 Luna와 Claude Sonnet 4.6 실행기에서 한다. 동일한 창을 읽는 GPT 계열 3개와 Claude 계열 3개, 총 6개 범용 심판과 비교한다. Qwen2.5-7B-Instruct의 평균 단일 모델 tier AUC는 Verified/Luna에서 0.491에서 0.606으로, Pro/Luna에서 0.148만큼 올랐고, 앙상블은 0.014~0.016을 더한다. 첫 검사점인 도구 5단계에서도 ordinary AUC가 Verified/Luna 0.642, Pro/Luna 0.645로 미세조정 전 0.494, 0.450보다 높다. 단계 수만 쓰는 베이스라인의 tier AUC 0.471~0.528보다도 높다.
어떻게 쓰나
비용 결과가 핵심이다. 기본 앙상블의 검사당 추정 비용은 0.000237달러로, 테스트한 GPT 심판보다 검사당 9~74배 싸다. GPT-5.6 Luna 궤적에서 기본 앙상블의 tier AUC는 각 심판 점추정치와 0.044 이내 차이다. Verified/Luna 독립 중단 코호트에서 누적 모니터링 비용은 0.44달러였고, 그대로 성공했을 실행의 99.0%를 유지하면서 해결당 비용을 전체 실행 대비 4.5% 낮췄다. 같은 조건에서 GPT 심판 정책들은 성공 실행을 89.5~91.8%만 유지했고, StopLoss의 모니터링 포함 해결당 비용은 이들보다 12~56% 낮았다. Pro/Luna는 24.2% 감소와 72.2% 유지, Pro/Sonnet은 30.6% 감소와 91.6% 유지를 보였고, Qwen3-8B 백본의 Pro/Sonnet은 83.2%를 유지하면서 48.1% 줄였다. 세 백본과 네 설정 모두에서 StopLoss의 해결당 비용이 모든 심판 정책보다 낮았다.
전제와 한계
저자들은 순위 성능만으로는 부족하다고 강조한다. Verified/Sonnet에서 Claude Opus 5는 연구 내 최고 AUC를 보였지만 모니터링 비용이 원래 실행 예산의 44.9%에 달해 해결당 비용을 34.7% 높였다. 중단 시점 분석에서는 Verified/Luna에서 올바르게 중단된 실패 8건의 중단 시점에 남은 실행 비용 비율 중앙값이 64.5%였고, 가장 큰 3건이 회피한 실행 비용의 65.8%를 차지했다. 저자들은 회피한 실행 비용 비율 g가 모니터링 비용 비율 m과 허위 중단률 r의 합보다 커야 CPS가 낮아진다고 정리한다(g > m + r). 반면 임계값 전이는 취약하다. GPT-5.6 Luna에서 tier AUC는 Verified 0.622, Pro 0.614로 비슷했지만, 독립 중단 코호트의 허위 중단률은 각각 1.0%와 27.8%였다. Pro의 성공 실행이 중앙값 16단계로 Verified의 13단계보다 길어 검사점이 더 많이 생기고 임계값을 넘을 기회가 늘어난 점이 원인으로 제시된다.
실무적으로 StopLoss는 코딩 에이전트 실행기를 감싸는 저비용 실패 감시기로 쓸 수 있다. 실행기 내부 은닉 상태에 접근하지 않고 관찰 가능한 텍스트만 읽으므로 폐쇄형 실행기나 외부 API 기반 에이전트에도 붙일 수 있다. 다만 도입 전에 자사 궤적의 성공 실행으로 임계값을 보정하고, 검사 비용과 허위 중단률을 함께 측정해야 한다. 특히 실행기 모델이나 벤치마크가 바뀌면 AUC가 비슷해도 허위 중단률이 크게 달라질 수 있으므로, 해결당 비용과 성공 유지율을 직접 재는 것이 필요하다.
저자들이 밝힌 한계는 분명하다. 모델은 GPT 계열 궤적만으로 학습해 Claude 실행으로의 일반화가 제한될 수 있고, 훈련과 평가가 Python 과제에 한정되며, SWE-bench Pro 평가도 공개 Python 하위 집합의 세 저장소만 다룬다. GPT용 임계값 보정은 모델 선택 과제를 재사용해 독립 인증 집합이 아니다. 비용 추정도 GPU 시간 프록시에 의존한다. Verified/Luna에서 모니터링 비용을 2배로 올리면 절감률은 -4.5%에서 -2.9%로, 5배로 올리면 +1.8%로 바뀌지만, Pro 설정들은 10배에서도 절감을 유지한다. 저자들은 교차 실행기 일반화와 임계값 전이 개선을 다음 과제로 남긴다.