Outcome Monitors: 조용한 툴 실패에서 에이전트가 복구하도록 돕는 방법
Outcome Monitors: Recovery Affordances for Silent Tool Failures
TL;DR Highlight
툴 결과 위반을 감지해 복구 툴 목록을 붙였더니 ToolMaze 완료율 10.9→28.1%
Who Should Read
툴 응답이 정상 형식으로 오지만 값이 틀려(음수 재고 등) 에이전트가 그대로 믿어버려 고민인 에이전트 개발자
Core Mechanics
- 조용한 실패가 더 위험하다
- 타임아웃은 에이전트가 알아채고 우회한다.
- 캐시된 에러 페이지나 음수 가격은 정상 형식으로 와서 사실처럼 소비된다.
- 결과는 막지 않고 영수증만 붙인다
- 툴 결과가 규칙(outcome contract)을 어기면 원본 결과는 그대로 두고 권고용 receipt를 덧붙인다.
- receipt에는 어긴 속성과 쓸 수 있는 복구 툴 목록이 들어가고, 행동은 제한하지 않는다.
- 규칙은 정상 로그나 공개 스키마에서 자동으로 뽑는다
- ToolMaze는 정상 실행 기록에서 불변 조건을 마이닝한다.
- AppWorld는 공개 API 응답 스키마를, τ-bench는 공개 DB(orders.json)를 쓴다.
- 모델 호출은 0번이고 빌드는 2초 안쪽이다.
- 효과는 복구 툴 목록에서 나왔다
- 복구 툴 목록을 빼면 baseline 수준으로 떨어지고, 다시 넣으면 효과가 돌아왔다.
- 위반 상세 설명이나 전달 타이밍은 눈에 띄는 차이가 없었다(단, 표본이 작아 약 18%p 이하 차이는 못 잡는다).
- 실패가 완료를 막을 때만 효과가 크다
- 실패가 없어도 baseline이 이미 잘 끝나는 경우엔 효과가 거의 없었다.
Evidence
- ToolMaze 완료율 10.9→28.1%
- 4개 모델(DeepSeek, Qwen) 합산 baseline 35/320에서 90/320으로 올랐고 +17.2%p다.
- 별도로 돌린 MiniMax M3는 5/80에서 20/80으로 +18.75%p다.
- τ-bench retail 완료율 +14.0%p, +12.0%p
- DeepSeek V4 Flash는 41/100에서 55/100, Pro는 +12.0%p다.
- 범주형 status 위반은 6/50에서 20/50으로 +28.0%p였고, conservation 위반은 35/50 그대로 0%p였다.
- 복구 툴 목록을 뺀 대조 실험
- 114쌍 기준 receipt에서 복구 툴을 뺀 것과 비교하면 +11.4%p(p=.028)였다.
- 복구 툴을 뺀 receipt는 baseline 대비 +0.9%p로 차이가 없었다.
- Reinforced Agent 리뷰어 대비 비용
- 80개 워크플로 비교에서 receipt는 리뷰어 포트보다 +11.25%p 높았다.
- 비용은 receipt가 baseline 대비 +7%($0.13)였고 리뷰어는 +498%($9.24)였다.
How to Apply
- 툴 결과에 복구 툴 이름을 붙이는 래퍼 만들기
- 오늘 30분 안에 툴 호출 래퍼에서 결과가 이상하면 원본 결과와 대체 가능한 툴 이름 목록을 JSON으로 함께 돌려주게 만들어라.
- 기존 툴 결과는 지우지 말고 그대로 둬라.
- 값 범위 규칙부터 5개 정하기
- 가격·재고는 양수, 상태값은 허용 목록, 요청 인자와 응답의 에코 필드 일치 같은 단순 규칙만 먼저 넣어라.
- 공개 스키마나 정상 로그에서 뽑으면 라벨 없이 만들 수 있다.
- 툴별 대체 툴 매핑 표 만들기
- 같은 일을 하는 툴을 사전에 묶어 두고, 현재 에이전트에 노출된 툴만 receipt에 넣어라.
- 정상 트래픽 오탐률과 장애 비율 측정하기
- 배포 전에 정상 응답에서 receipt가 얼마나 나오는지 세어라.
- 오탐이 많으면 정상 완료가 오히려 깨질 수 있다.
Try It
# Claude 또는 ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 프롬프트로 receipt 흉내)
당신은 툴을 쓰는 에이전트다. 아래 툴 결과는 규칙 검사에서 위반이 나왔다.
{"tool_result": {{툴 결과 JSON}},
"outcome_contract": {
"status": "inconsistent",
"violation": {"tool": "{{툴 이름}}", "property": "{{위반 속성}}", "path": "{{필드}}", "expected": "{{기대값}}", "observed": "{{관측값}}"},
"admissible_recovery_tools": [{{대체 툴 목록}}]
}}
이 알림은 강제가 아니다. 모든 행동이 여전히 가능하다. 결과를 믿을지, 재시도할지, 대체 툴로 바꿀지 정하고 이유를 한 줄로 설명한 뒤 다음 툴 호출을 써라.
이어서 해 볼 것: admissible_recovery_tools 줄만 지우고 같은 입력으로 다시 돌려 행동이 어떻게 달라지는지 비교해 보세요.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓
Original Abstract (Expand)
When a tool call times out, the agent sees the failure and can route around it. A cached error page or negative price can instead arrive in the expected format and be consumed as fact. We introduce Outcome Monitors, which detect violations of outcome contracts mined from task-disjoint traces or derived from public schemas. On a violation, the monitor preserves the result and issues a nonbinding receipt naming the violated property and public recovery tools. In frozen, prespecified evaluations with injected failures, Outcome Monitors raise ToolMaze completion from 10.9% to 28.1% across four models in two provider families and replicate in a third. In tau-bench retail, completion improves by 14.0 and 12.0 points on two tiers. In separate ToolMaze controls, removing the recovery-tool list eliminates the measured gain and restoring it recovers the effect; diagnostic detail and timing produce no detectable differences. Gains concentrate where the fault blocks completion. On a suite transcribed from a published incident taxonomy, detection outside the mined vocabulary falls to 46%, though delivery continues and completion is unchanged. Recovery tools are the active receipt content in these controls; extending detection beyond the contract vocabulary remains open.