Sauron은 에이전트 루브릭 채점을 증거 검증 우선으로 바꾼다
Evidence-First Agentic Verification
무엇인가
장기 호라이즌 에이전트 작업은 완전 자동 검증이 불가능한 준검증(semi-verifiable) 영역이다. 그래서 흔히 루브릭, 즉 명시적 채점 기준 목록으로 성공 여부를 판정한다. 문제는 그 판정에 필요한 증거가 에이전트의 최종 응답, 환경의 최종 상태, 실행 트레이스 세 곳에 흩어져 있다는 점이다. LLM 심사자는 자신의 입력에 들어온 것만 보므로 엉뚱한 곳을 뒤지거나, 관찰이 뒷받침하지 않는 결론에 도달하거나, 심지어 에이전트가 스스로 "성공했다"고 보고한 말을 액면 그대로 받아들일 수 있다. 이 논문이 이 문제를 중요하게 보는 이유는 루브릭 판정이 강화학습 보상으로 쓰이기 때문이다. 잘못된 판정은 허위 성공 보고를 보상하는 쪽으로 정책을 학습시켜 보상 해킹을 강화한다.
어떻게 동작하나
제안 시스템 Sauron의 핵심은 조사(investigation)와 검증(verification)의 분리다. 먼저 작은 모델이 두 가지 가벼운 계획을 세운다. 하나는 증거를 공유할 가능성이 높은 기준들끼리 묶어 클러스터로 만드는 것이고, 다른 하나는 과제 요지(gist)를 만드는 것이다. 요지는 조사 방향을 잡아줄 뿐 증거로는 쓸 수 없다. 이어 클러스터마다 병렬 조사관(investigator)이 하나씩 붙어 상태와 트레이스를 적응적으로 질의하며 기준 충족 여부를 조사한다. 조사관이 던진 주장은 별도의 증거 검증기(evidence verifier)로 넘어가 원출처와 대조되고, 그 결과가 클러스터의 공유 증거 저장소에 쌓인다. 마지막으로 판정 확정기(verdict finalizer)가 검증된 주장이 충분한 근거를 제공할 때만 조사관이 제안한 판정을 받아들인다.
무엇과 다른가
증거는 (주장, 증거 유형, 출처 로케이터) 세 쌍의 '증거 원자'로 다뤄진다. 예컨대 "저장된 하우스펀드 목표는 2만 달러"라는 주장에는 state_value_match 유형과 budget.house_fund.goal이라는 로케이터가 붙는다. 증거 검증기는 로케이터로 원문에서 인용된 내용을 다시 가져온 뒤 증거 유형에 맞는 검사를 고른다. 정확한 값 비교 같은 주장은 기계적으로 대조하고, 해석이 필요한 주장은 격리된 충실성 검사기(faithfulness checker)로 보내는데 이 검사기는 주장과 인용문만 보고 판단하므로 조사관의 사전 추론에서 오는 편향을 줄인다. 거부된 원자는 이유와 함께 조사관에게 돌아가 수정되고, 저장소는 수용·거부 원자를 모두 기록해 감사 추적을 남긴다. 최종 판정에는 사용된 원자 목록이 '영수증'으로 따라붙는다. 조사 세션은 모든 기준이 결정되거나 예산이 소진되면 끝나고, 이때 미해결 기준은 기본값으로 unmet 처리된다.
어떻게 쓰나
비용은 두 가지 방식으로 줄인다. 전체 트레이스와 상태는 검증기 컨텍스트 밖에 두고, 광범위 질의로 위치를 찾은 다음 표적 질의로 값이나 짧은 트레이스 구간만 읽는 '경계 있는 질의(bounded queries)'를 쓴다. 또한 증거를 공유하는 기준을 한 세션에서 함께 조사해 중복 질의와 중복 검증을 없앤다. 다만 조사는 공유해도 각 기준의 판정과 영수증은 독립적으로 산출된다.
전제와 한계
실험은 100개의 개인 비서 에피소드에 인간이 라벨링한 2,586개 기준으로 구성한 PA100에서 이뤄졌다. 에피소드당 평균 26개 기준, 약 30%가 unmet 라벨이고, 실행은 중앙값 53개 트레이스 이벤트와 20회 도구 호출로 이뤄진다. 비교 대상은 Gandalf, Agent-as-a-Judge(AAAJ), Archipelago, Autorubric 네 가지 검증기다. GPT-5.6 Sol 백본에서 Sauron은 F1 0.96으로 Gandalf의 0.92를 23% 더 낮은 비용에 앞섰고, 정밀도 0.94 대 0.90, 재현율 0.97 대 0.94였다. 상태 스냅샷만 보는 Archipelago는 F1이 0.04 낮으면서 비용은 6.9배였고, 응답만 보는 Autorubric은 어떤 백본에서도 F1 0.70을 넘지 못했다. 테스트한 8개 백본 전부에서 Sauron이 최고 F1을 기록했으며, 평균적으로 Gandalf보다 F1 0.03 높으면서 약 20% 저렴하다. 비용 우위의 근거는 명시적이다. 트레이스까지 쓰면서도 GPT-5.6 Sol 기준 Gandalf의 절반 이하 입력 토큰만 읽고, 10개 에피소드 슬라이스에서 17분 대 71분으로 끝났다.
기준 유형별로 나누면 차이가 더 벌어진다. 프로세스 기준 411개(PA_Proc)와 결과 기준 2,175개(PA_Out)로 분리했을 때 Sauron은 PA_Proc에서 Gandalf보다 F1 0.07 앞섰고, 이 우위는 8개 백본 모두에서 나타났다. 흥미롭게도 Gandalf는 트레이스 접근 없이도 PA_Proc에서 F1 0.90에 도달하는데, 저자들은 이를 에이전트의 최종 응답 자기 보고에 기대는 취약점으로 지적한다. 이를 검증하기 위해 만든 PA_Fault는 637개의 오류-정상 쌍으로, 13개 오류 계열 중 12개가 실제 에이전트 실패 분류 체계에 근거하며 명세 게이밍·평가 인식 지름길·허위 주장 같은 보상 해킹 시뮬레이션을 포함한다. 여기서 Sauron은 주입된 실패의 97%를 잡아내면서 정상 대조군은 2%만 오탐했다(Δ_fault 0.95). AAAJ는 트레이스 접근이 있는데도 0.36이었고 나머지는 0.10 미만이었다. 트레이스를 추가로 준 Gandalf와 Autorubric도 각각 0.67, 0.71에 그쳤고, Gandalf는 변형당 비용이 4.7배, 소요 시간이 2배였다. 상태-트레이스 불일치 계열에서는 Gandalf(트레이스) -0.27, Autorubric(트레이스) -0.94로 정상 대조군을 오히려 더 많이 의심했지만 Sauron은 0.90이었고, 조용한 쓰기 실패에서는 두 기준선이 -0.10, -0.20인 반면 Sauron은 1.00이었다. 실제 에이전트 오류를 다루는 TRAIL(148개 트레이스, 1,987개 스팬에 841개 오류, 21개 카테고리)에서도 Sauron은 wF1, 위치 정확도, 결합 정확도 세 지표 모두에서 Gandalf와 TRAIL 자체 심사자를 앞섰다. GAIA 분할에서 GPT-5.6 Sol 기준 최고 기준선 대비 wF1 0.07, 위치 정확도 0.18, 결합 정확도 0.19 우위다.
절제 실험은 각 장치의 값을 분리한다. 트레이스 접근을 끄면 F1이 0.15 떨어져 가장 큰 손실이었고, 경계 질의를 전체 트레이스 컨텍스트로 바꾸면 F1은 0.01 오르는 대신 비용이 3배, 조사 턴이 2배 이상 늘었다. 요지를 빼면 F1은 그대로지만 비용 15%, 턴 16%가 증가해 요지는 정확도가 아니라 효율에 기여한다. 주장 검증을 끄면 F1이 0.03 떨어지고 비용이 40% 줄며, 충실성 검사기만 끈 경우도 같은 하락이 나와 검증 이득이 해석적 주장 검사에서 온다는 것을 보여준다. 클러스터링을 끄고 기준마다 세션을 따로 돌리면 F1은 0.01 떨어지고 비용은 63%, 턴은 약 2.5배 늘어난다. 인간 판정과 어긋난 65건을 수작업으로 분류한 결과 48건(약 4분의 3)이 기준을 더 엄격하게 읽은 데서 발생했고, 나머지 세 건을 제외하면 모든 불일치가 "증거가 무엇을 보여주는가"가 아니라 "기준을 어떻게 읽는가"의 문제였다.
개발자 관점에서 이 논문의 실용적 메시지는 평가기를 '심사자'가 아니라 '조사관 + 증거 검증기 + 판정 확정기'로 쪼개라는 것이다. 특히 에이전트의 자기 보고를 신뢰하지 않고 상태와 트레이스를 서로 대조하는 설계는, 에이전트 산출물을 보상 신호로 쓰는 파이프라인에서 보상 해킹 표면을 줄이는 직접적인 방법이 된다. 도입할 때 확인할 것은 세 가지다. 첫째, 판정마다 영수증(어떤 원자가 어떤 출처에서 검증됐는지)이 남는지. 둘째, 예산 소진 시 미해결 기준이 unmet으로 떨어지는 기본값이 자신의 도메인에서 허용 가능한지. 셋째, TRAIL처럼 트레이스만 주어지는 환경에서는 비용이 기준선의 2~3배로 뛴다는 점이다. 저자들도 이 비용 증가를 인정하며, TRAIL에서는 오류 카테고리를 배제하려면 트레이스 전체를 봐야 해서 경계 질의의 절감 효과가 PA100만큼 나오지 않는다고 밝힌다. 또한 이 연구는 검증기 자체의 정확도까지 다루며, 더 나은 보상 신호로 실제 RL 학습을 돌리는 일은 향후 과제로 남겨두고 있다.