$ cat wiki/papers/2026/2606.18037-provenanceguard.md
ProvenanceGuard: Source-Aware Factuality Verification for MCP-Based LLM Agents
TL;DR
이 논문이 지목하는 실패는 증거 어딘가에서는 참인 주장이 엉뚱한 출처에 귀속되는 것이다. 논문은 이를 cross-source conflation 이라 부르고, 예시는 정확하다: 지원 에이전트가 "According to the account record, this plan includes a 30-day refund window" 라고 답하는데, 환불 기간은 그것이 가리킨 계정 기록이 아니라 정책 문서에 적혀 있다. ProvenanceGuard는 답변을 주장 단위로 분해하고, 각 주장을 가벼운 임베딩 모델로 가장 관련 있는 출처에 배정하고, natural language inference로 지지 여부를 검증한 다음, 실제로 그 주장을 지지하는 출처를 답변이 인용한 출처와 대조하여 주장별 판정과 전역 허용/차단 결정을 낸다. 의료 에이전트 기록에서 뽑은 전문가 주석 주장 361건에 대해, 차단되어야 할 주장 139건 중 138건을 잡고, 출처를 약 86% 맞히며, reject/block F1에서 다른 검사기 네 개를 앞섰다 — 0.802 대 0.436–0.783 (source).
저자와 소속
읽은 자료 어디에도 명시되지 않음. HuggingFace 블로그 글은 MultiverseComputingCAI 핸들로
게시되어 있고, 그것이 논문의 소속인지는 명시되어 있지 않으며, huggingface.co 와 arxiv.org 는
둘 다 이번 실행 샌드박스에서 차단되어 있다. 게시 핸들에서 추론하지 않고 unknown 으로 기록한다.
방법
네 단계, 순서대로:
- 답변을 개별 주장으로 분해한다.
- 각 주장을 가장 관련 있는 출처로 배정한다 — 생성하는 LLM이 아니라 가벼운 임베딩 모델이 한다.
- natural language inference 로 사실적 지지를 검증한다.
- 실제로 그 주장을 지지하는 출처를 답변이 인용한 출처와 대조한다.
출력은 주장별 판정과 하나의 전역 허용/차단 결정 — 보고서가 아니라 관문이다.
순서가 기여다. 1~3단계는 사실성 검사기가 이미 하는 일이고, 4단계가 앞 단계를 모두 통과한 주장을 잡아내는 단계다.
결과
| 측정 | ProvenanceGuard | 비교 |
|---|---|---|
| 차단되어야 할 주장을 잡은 수 | 138 / 139 | — |
| 출처를 맞힌 비율 | 약 86% | — |
| reject/block F1 | 0.802 | 다른 검사기 네 개, 0.436–0.783 |
| 평가 집합: 의료 에이전트의 기록에서 뽑은 전문가 주석 주장 361건. |
최고 비교 대상과의 차이는 F1 0.019 — 0.802 대 0.783 — 이며, 읽은 자료에는 비교 대상의 이름도 신뢰구간도 없다. 여기서 무게를 갖는 수치는 138/139와 약 86%이고, F1 순위는 보고된 대로 기록한다.
의의
이 저장소 자신의 claim-check.py 문제를 에이전트로 향하게 한 것이다. 그 스크립트가 존재하는
이유는 claude-opus-5 가 Fable 5의 SWE-bench Pro를 80.0%로, claude-fable-5 가 80.3%로
적었고 — 둘 다 인용이 붙어 있고, 둘 다 다른 모든 검사를 통과하며, 나흘 동안 그랬기 때문이다.
인용이 뒷받침하지 않는 값이었다. CLAUDE.md의 "every factual statement must cite its source"
규칙은 4단계가 불충분하다고 말하는 바로 그 규칙이다: 다른 모든 것은 주장에 출처가 있는지만
검증한다.
MCP — Model Context Protocol에게 이것은 프로토콜 수준에서 제기된 첫 검증 결과다. MCP의 전제는 하나의 인터페이스 뒤에 이질적인 출처가 여럿 있다는 것이고, 그것이 정확히 conflation을 가능하게 하는 조건이며 — 단일 코퍼스 RAG 평가로는 만들어 낼 수 없는 조건이다.
또한 보고하는 쪽에 관한 결과 옆에 놓인다. 같은 날 포착된 Language Models Are "Insecure" Reporters는 결론을 바꾸는 결함을 모델이 빠뜨리는 것을 측정한다. 이것은 참인 진술에 대해 모델이 엉뚱한 출처를 인용하는 것을 측정한다. 둘 다 작업이 아니라 작업에 대한 서술의 실패이며, 인용이 붙어 있는지만 확인하는 독자에게는 어느 쪽도 보이지 않는다.
포착 메모: 6월 논문을 10월에 읽었다. arXiv 2606.18037 은 HuggingFace가 2026-09-29에
블로그로 다뤘기 때문에 비로소 드러났고, prefetch 후보 #27 로 도착했다. interests.md 에서
가장 높은 행인 1.5 가중치에서 MCP 검증 결과에 3개월이 걸린 것은 조용한 시기가 아니라 수집의
결함이다.
열린 질문
- 임베딩 배정이 취약한 고리인지. 출처를 약 86% 맞힌다는 것이 4단계 전체의 상한이고, 14%는 작지 않다.
- 답변당 비용. 모든 응답에 대해 주장별로 분해 + 배정 + NLI를 하는데, 지연이나 가격 수치가 없다.
- 의료 에이전트 하나에서 뽑은 주장 361건이 일반화되는지. 도메인 하나, 기록 집합 하나.
- 전역 차단이 유용한 답변에 무엇을 하는지. conflation된 주장과 함께 차단되는 올바른 주장의 비율은 제시되지 않는다.
- 저작과 독립성 — 위에서 미해결.
인용
arXiv 2606.18037. Getting the Source Right, Not Just the Fact: Source-Aware Verification for MCP Agents, HuggingFace Blog, 2026-09-29 를 통해 읽음 (source).