📄 AI 코딩 에이전트 실패, 실행 전에 미리 잡는다
터지고 나서야 알게 되는 문제
AI 코딩 에이전트를 실무에 붙여본 팀이라면 익숙한 장면이 있다. 에이전트는 확신에 찬 말투로 계획을 세우고, 파일을 고치고, 명령어를 실행한다. 그런데 뭔가 잘못되었다는 사실은 테스트가 깨지거나 빌드가 무너진 뒤에야 드러난다. 그때는 이미 토큰도 쓰고, 시간도 쓰고, 되돌리는 비용까지 물어야 한다. 2026년 9월 4일 arXiv에 공개된 이 논문의 첫 문장이 그 상황을 정확히 짚는다. "소프트웨어 엔지니어링에 배포된 LLM 에이전트는 비싸게 실패한다. 자신 있게 틀리고, 나쁜 행동은 값비싼 실행과 재시도 뒤에야 인식된다."
무엇을 했는가
연구진이 제안한 방법은 Speculative Uncertainty, 줄여서 SU다. 이 행동이 실패할 것 같은지를 실행 전에 점수로 매긴다. 흥미로운 것은 방법 자체보다 스스로 건 제약이다.
| 쓰지 않는 것 | 쓰는 것 |
|---|---|
| 모델의 로짓(토큰 확률 원시값) | 에이전트가 이미 생성한 출력 토큰 |
| 가중치·내부 활성값 접근 | 작은 오픈웨이트 초안 모델 1회 순방향 연산 |
| 같은 요청 반복 샘플링 | 추론 구간·행동 구간 분리 특징 |
이 제약이 왜 중요한지는 분명하다. 상용 API로 서비스되는 폐쇄형 모델은 로짓을 내주지 않는다. 반복 샘플링으로 답의 흔들림을 재는 방식은 비용을 몇 배로 불린다. 둘 다 쓰지 않겠다는 것은 실제 배포 환경에서 그대로 돌아가는 방법을 만들겠다는 뜻이다.
결과는 이렇다. 실행 전 거부 게이트로 적용했을 때 Qwen3-Coder-480B와 폐쇄형 모델인 Claude 3.5 Sonnet 기반 에이전트 모두에서 실행 오류율이 68%포인트 떨어졌고, 토큰 비용은 1419% 줄었다. 재학습 없이 분포 밖 벤치마크로도 전이됐다.
어떻게 작동하는가
SU는 추측 디코딩(speculative decoding)을 거꾸로 쓴다. 원래 추측 디코딩은 작고 빠른 초안 모델이 토큰을 먼저 뽑고 큰 모델이 그것을 검증해 속도를 올리는 기법이다. SU는 순서를 뒤집는다. 큰 에이전트가 이미 다 써놓은 궤적을 작은 초안 모델이 한 번의 순방향 연산으로 훑으며 채점한다. "내가 썼다면 이 자리에 이 토큰을 놓았을까"를 묻는 셈이다. 초안 모델이 계속 놀라는 구간이 있다면, 그 궤적은 뭔가 이상하다는 신호다.
여기서 나온 교차 우도를 그대로 쓰지는 않는다. 에이전트의 출력은 성격이 다른 두 구간으로 나뉜다. 무엇을 할지 따져보는 추론 구간과, 실제로 명령을 내리는 행동 구간이다. SU는 둘을 분리해 각각의 특징을 뽑고, 검증 가능한 목표, 즉 실제로 실행이 성공했는지에 맞춰 보정한다.
그렇게 나온 실패 확률 점수 자체는 정책이 아니다. 값싼 모델로 라우팅하든, 사람에게 넘기든, 추론 연산을 더 태우든 하위 정책이 알아서 소비하면 된다. 논문은 그중 하나로 실행 전 거부 게이트를 구현해 보였을 뿐이다.
그래서 진짜 의미하는 것
가장 눈에 띄는 점은 오류율과 비용이 같은 방향으로 움직였다는 사실이다. 보통 안전장치를 도입하면 검증 과정이 늘어나 비용이 상승하기 마련이다. 그런데 여기서는 실패할 행동을 미리 걷어내니, 실패 후 재시도에 들어갈 토큰이 통째로 사라졌다. 안전과 절약이 충돌하지 않는 드문 구간이다.
다만 과장은 경계해야 한다. 6~8%포인트는 실행 오류율의 절대 감소폭이지 오류가 사라졌다는 뜻이 아니다. 게이트는 여전히 막아야 할 것을 통과시키고, 통과시켜야 할 것을 막는다. 논문도 이 점수를 확실성이 아니라 신호로 다룬다. 그리고 이 방법은 실패를 예측할 뿐 고쳐주지 않는다. 거부당한 행동을 어떻게 처리할지는 여전히 사람이나 상위 정책의 몫이다. 초안 모델을 하나 더 굴려야 한다는 운영 부담, 그 초안 모델이 에이전트가 다루는 코드베이스와 너무 동떨어지면 신호가 흐려질 수 있다는 점도 실무에서는 따로 확인이 필요하다.
그럼에도 방향은 분명하다. 지금 AI 코딩 도구 경쟁은 "얼마나 잘하는가"에 쏠려 있다. 그런데 실제 배포에서 발목을 잡는 것은 "언제 못하는지를 아는가"다. 조금 더 똑똑하지만 언제 틀릴지 모르는 에이전트보다, 자기가 틀릴 것 같은 순간을 먼저 알려주는 에이전트가 쓸 만하다.
마무리
에이전트에게 자율성을 더 줄수록, 되돌릴 수 없는 행동을 하기 전에 멈춰 세우는 장치의 값어치가 올라간다. 이 논문은 그 장치를 모델 내부에 손대지 않고, 이미 나온 텍스트만으로 만들 수 있다는 것을 보였다. 폐쇄형 API를 쓰는 대부분의 팀에게 이 조건이 곧 실현 가능성이다.
출처: Konstantin Grotov, Valentin Malykh, 「How to Speculate about Uncertainty in Agentic Coding? A Draft-Model Gate Method」, arXiv:2609.05274, 2026년 9월 4일. EMNLP 2026 Industry track.