도구를 쓰는 AI 에이전트의 실패는 실행 전 근거 확보에서 갈린다

From Evidence to Action: How Tool-Using Agents Fail

HF Daily2610.07753

Hongzhan Lin, Shidong Cao, Ziyang Luo2026-10-06

무엇인가

LLM 기반 에이전트가 환불을 실행하거나 문서를 발송하거나 레코드를 갱신하는 일은 이제 흔하다. 이 논문은 그런 결과를 바꾸는 행동(consequential action)을 평가할 때 정답 여부만 보는 방식이 놓치는 지점을 파고든다. 환불이 성공했더라도, 그 환불이 중복 청구라는 사실을 실행 전에 실제로 확인했는지는 별개 문제라는 것이다. 저자들은 관찰 가능한 궤적에서 근거에서 행동으로 이어지는 사슬이 어디서 끊기는지를 측정 대상으로 삼는다. 특히 근거가 올바른 개체와 상태에 결합되었는지, 실행 시점이 전제조건 충족 이후인지, 앞선 행동의 반환값이 뒤 행동에 실제로 전달되었는지를 본다.

어떻게 동작하나

이를 측정하기 위해 제안하는 것이 SafeActBench다. 656개 케이스로 구성되며 운영 도메인은 고객·정책(112), 엔지니어링·인프라(109), 법률·금융(144), 연구 보조(97), 스마트홈 제어(96), 헬스케어(98) 여섯 개다. 프로토콜은 다섯 단계로 난이도가 올라간다. Legacy는 고정된 후보 행동에 Allow/Block/Defer를 판단하는 정적 결정이고, V0는 실행하지 않기로 한 이유를 정당화할 만큼 조사한 뒤 멈추는 조사된 비행동(investigated non-action)을 요구한다. V1은 정확히 하나의 행동을 실행하기 전 필요한 근거를 모두 확보하는 단일 행동, V2는 앞선 실행 결과를 뒤에서 소비하는 선형 워크플로, V3는 의존성 그래프(DAG)에 맞는 임의의 위상 순서를 허용하는 다중 행동이다. 핵심 장치는 두 가지다. 출처를 보존하는 Evidence Ledger가 어떤 사실이 어느 상호작용에서, 어느 개체와 상태에 대해 확립되었는지를 묶고, 결정적 평가기가 궤적을 재생해 조사 완료 여부, 도구·타깃·인자, 실행 영수증, 의존성, 최종 상태 변화를 검사한다. 판정 기준은 모든 요구사항 r이 행동 a 실행 이전에 확립되어 있을 때만 그 행동이 지원된다고 보는 것이며, 숨은 추론을 들여다보거나 LLM 심사자를 쓰지 않는다. C1에서 읽은 금액이 C2와 값이 같더라도 C2에 대한 근거로 인정되지 않는다는 식이다.

무엇과 다른가

실험은 5개 모델 패밀리(Claude Opus 5, GPT-5.6 Sol, DeepSeek-V4-Flash, Qwen3.8-Flash, GLM-5.2)를 각각 패밀리 전용 하네스(Claude Code, Codex, DSH, Qwen Code, ZCode)와 Inspect AI로 구현한 공용 ReAct 하네스에 짝지어 총 10개 구성으로 돌렸다. 케이스-구성 쌍마다 3회 반복했고 인프라 실패 없이 커버리지 100%다. 주 지표는 ECS(exact_case_success) 이진값이다. 결과의 핵심은 정적 판단 성능과 상호작용 실행 성능의 괴리다. GLM–ZCode와 DeepSeek–DSH는 Legacy에서 96%를 넘지만 V1–V3에서는 갈린다. DeepSeek–DSH는 약 60%를 유지하는 반면 GLM–ZCode는 12.1~34.1%로 떨어진다. 동일한 V1 케이스로 세 구성을 다시 평가해도 정적 정확도는 95% 이상인데 상호작용 ECS는 52% 이하다.

어떻게 쓰나

실패 위치를 국소화한 진단이 더 흥미롭다. V0에서 조사 미완료를 뜻하는 BSR은 21.7~62.9%, V1에서 행동 시도가 있었던 에피소드의 전제조건 미해결 비율 PAR은 37.0~66.9%다. 반면 근거 확보 후 행동을 시도한 조건부 성공률 CAS는 10개 구성 중 9개가 93.2~100%이고, DeepSeek–Inspect만 83.3%로 낮다. 즉 실패는 실행 단계가 아니라 그 앞, 조사가 끝나기 전에 멈추거나 근거가 서기 전에 행동하는 데서 주로 발생한다. 다중 행동(V2·V3)에서는 미해결 전제조건(Gap)과 워크플로 미완료(Part.)가 추가로 드러나는데 그 비중은 구성마다 다르다. GLM–ZCode는 V2에서 Gap 80.3% 대 Part. 33.3%로 Gap이 압도적이지만, Qwen–Inspect는 27.3% 대 29.5%로 비슷하다. 두 지표는 겹칠 수 있어 단순 합산 분해가 아니다.

전제와 한계

하네스 선택의 효과도 모델 의존적이다. 동일 모델·케이스(570개 V0–V3)로 짝지어 비교하면 DeepSeek는 DSH가 Inspect보다 4.4%p 높고, GLM은 ZCode가 Inspect보다 6.8%p 낮으며 두 신뢰구간 모두 0을 배제한다. Claude·GPT·Qwen은 구간이 0을 포함하거나 0에 닿는다. 흥미롭게도 DeepSeek의 조사 완료율은 DSH 58.9% 대 Inspect 59.5%로 비슷한데 성공률은 갈린다. Qwen의 두 하네스는 570개 중 134개(23.5%)에서 판정이 엇갈린다(75개는 Qwen Code만, 59개는 Inspect만 성공). V1에서 GLM은 Inspect와 ZCode 사이에서 조기 행동 실패(0.66에서 0.29)를 무행동 실패(0.01에서 0.37)로 맞바꿔 전체 실패율은 거의 그대로다. 통제 개입 실험도 있다. 43개 V1 케이스에서 결정적 레코드를 감춘 Withheld 조건은 행동 확률을 37.2~45.2%p 낮추지만, 완료된 Withheld 에피소드의 46.5~53.5%에서 에이전트는 여전히 행동한다. 22개 케이스에 만든 Contradicted 조건은 54.5~70.0%p 낮춘다. 행동이 일어난 Withheld 에피소드 66개 중 65개는 해당 도구를 호출하기도 했다. 근거를 패키지로 제시하면 행동 제출이 DeepSeek 23/43에서 18/43, GLM 20/43에서 14/43, Qwen 23/43에서 13/43으로 줄지만 Qwen만 구간이 0을 배제한다. 반면 요청자가 그 레코드는 이미 확인됐다고 주장하는 조건은 6/43, 10/43, 6/43으로 더 크게 줄이고 세 구성 모두 구간이 0을 배제한다. 긴급성 큐나 시스템 경고는 효과가 없었고, 무관한 방해 레코드를 넣으면 정보 호출은 에피소드당 1.0~1.2회 늘지만 행동 확률 변화는 0을 포함한다.

실무적으로 이 논문이 주는 메시지는 명확하다. 에이전트 평가를 최종 상태나 함수 호출 정확도로만 하면, 성공한 것처럼 보이는 실행이 사실은 근거 없이 이뤄졌을 수 있다는 위험을 놓친다. 특히 환불·권한 변경·레코드 갱신처럼 외부 상태를 바꾸는 도구를 붙일 때는 실행 전에 필요한 사실이 올바른 개체와 상태에 대해 확립되었는지, 앞선 호출의 반환값이 뒤 호출에 실제로 전달되는지, 근거가 없을 때 멈추는지 그리고 멈추기 전에 충분히 조사했는지를 궤적 수준에서 검사해야 한다. 또 하네스 교체가 성공률을 수 퍼센트포인트 단위로, 때로는 실패 유형 자체를 바꾼다는 점, 그리고 사용자의 이미 확인됐다는 주장이 부재한 근거보다 행동을 더 강하게 유도한다는 점은 배포 전 점검 항목으로 삼을 만하다.

저자들이 밝힌 한계부터 보면, 이 분석은 관찰 가능한 지원을 측정할 뿐 모델이 내부적으로 무엇에 의존했는지는 포착하지 못한다. SafeActBench는 가상의 개체·레코드·정책으로 만든 합성 환경이고 실제 사용자 데이터나 개인식별정보를 포함하지 않는다. 여섯 도메인은 통제된 실험이며 그 결과를 실제 배포 시스템의 안전성 인증으로 해석해서는 안 된다고 명시한다. 개입 실험은 V1 43개 케이스로 제한되어 있고, 다중 행동 프로토콜로 확장해 각 행동 체크포인트마다 근거를 바꿔보는 것이 다음 과제로 남아 있다. 또한 개입 실험은 행동 반응을 측정한 것이지 에이전트가 부재한 근거를 내부적으로 어떻게 해석했는지를 측정한 것이 아니다.