Evidence Provenance ≠ Claim Entailment
Evidence provenance 只能证明 claim/observation 引用了哪条来源,不能自动证明最终自然语言完全由该来源推出;正确引用仍可能伴随 claim expansion。
[!info] related notes
- 所属 MOC: agent-evals-moc
- 前置概念: agent-evidence-consistency-contract
- 并列概念:
- 易混淆概念:
- 关系笔记:
Evidence Provenance ≠ Claim Entailment
一句话定义
Evidence Provenance
回答:这句话声称“引用了哪里”?
Claim Entailment
回答:这个来源“真的足以支持这句话吗”?
因此:
正确的 evidence_ref / citation 只证明来源身份正确,不自动证明最终 claim 没有超出来源语义。
最小例子
权威 evidence:
日常活动以久坐为主
模型输出:
久坐为主,可能对整体健康产生长期影响。
并且引用:
body_state:fact:123
于是:
ref exists ✅
ref points to correct fact ✅
source is admissible ✅
final claim fully supported? ❌
“长期影响整体健康”并没有包含在那条用户事实里。
这叫 claim expansion。
Provenance 证明什么
良好的 provenance 可以证明:
- 使用了哪个 evidence ID;
- evidence 来自哪个 source;
- 版本 / timestamp;
- 哪个 run/configuration 使用了它;
- replay 时应取哪份 frozen evidence。
它对:
audit
traceability
replay
incident investigation
非常重要。
但它不自动证明:
自然语言解释没有增加新含义
Entailment / Faithfulness 证明什么
Claim entailment 关心的是:
Evidence E
是否足以支持
Claim C
可以粗略写成:
E ⊨ C ?
典型错误:
Evidence:
用户说“最近睡眠 6 小时”
Claim:
用户长期睡眠不足导致免疫力下降
即使 citation 指向真实用户记录,claim 仍可能同时加入:
- “长期”;
- “不足”;
- “导致”;
- “免疫力下降”。
这些都需要额外依据。
为什么 Citation UI 很容易制造虚假的可信感
用户看到:
“长期健康风险增加” [来源 1]
很容易直觉认为:
来源 1 明确写了这件事
但系统可能只是:
模型写了一句更强的话
→ 顺便附上最相关的 ref
因此 citation correctness 至少应该区分:
reference identity correctness
vs
claim support correctness
与 Evidence Consistency 的关系
Evidence Consistency Contract 可以先做确定性检查:
ref exists
source allowed
kind compatible
ref admissible
但如果模型仍能自由写 description,还剩:
这个 description 是否超出 evidence?
这时需要:
- field-level faithfulness;
- semantic entailment evaluator;
- 或者直接减少模型 prose authority。
三种处理方式
方案 A · Semantic Entailment Check
model claim
+ evidence
→ semantic checker / Judge
适合必须保留自由文本的任务。
方案 B · Claim Decomposition
先把长文本拆成 atomic claims:
claim 1: 用户久坐
claim 2: 用户长期久坐
claim 3: 久坐影响健康
逐条验证 support。
这比给整段 summary 打一个“faithfulness 8/10”更可解释。
方案 C · Selection-Only + Deterministic Rendering
高风险 durable state 如果不需要自由 prose:
LLM selects kind + evidence_ref
→ app renders source restatement
直接取消模型的 claim-expansion 权限。
详见 Selection-Only Agent Output 与 Deterministic Rendering。
什么时候应该用哪种方式
User-facing explanation
需要语言自然、综合多来源:
保留模型 prose
+ semantic faithfulness / citations
Durable factual projection
需要进入长期业务状态:
优先结构化 claim / exact ref
甚至 deterministic rendering
Automated side effect
例如审批、执行、资金/权限动作:
不要依赖“citation 看起来合理”
→ 应使用 deterministic facts + authority policy
BodySense 为什么从 Evidence Ref 继续升级
第一轮修复思路是:
每个 Assessment observation 带 exact evidence_ref
它解决了:
无来源 observation
但 E2E 很快暴露:
ref 正确
+ description 仍自由
→ claim expansion 仍存在
于是设计继续演进为:
model cannot author durable label/description
→ only kind + evidence_ref
→ deterministic rendering
这说明一个生产事故的重要价值:
一个修复如果只解决 provenance,却没有回答 entailment,测试可能很快暴露第二层问题。
与 RAG Faithfulness 的映射
RAG 里同样存在:
retrieved document
≠ admissible evidence
≠ cited evidence
≠ claim faithfully supported
因此 Targeted RAG 与 Evidence Provenance、RAG Grounding / Faithfulness 校验 与这里是同一类边界,只是应用场景不同。
推荐测试
Evidence:
“日常活动以久坐为主”
PASS:
“来源记录:日常活动以久坐为主。”
FAIL:
“长期久坐可能造成整体健康风险。”
如果使用自由文本 evaluator,应特别构造:
- 时间强度被扩张;
- 因果关系被添加;
- 严重程度被添加;
- 用户事实被一般知识补全;
- recommendation 被伪装成 observation。
常见误区
- 有 citation 就等于有证据:citation 可能只是来源指针。
- Ref 是真的就一定 grounded:ref identity 与 claim semantics 是两个 contract。
- 相似度高就代表 entailment:semantic similarity 不是逻辑/事实支持。
- Judge 看起来合理就够了:可确定的 source/kind/ref 规则仍应 deterministic。
- Provenance 没用:恰恰相反,provenance 是必要条件;只是它不是充分条件。
最短记忆
Provenance:
“你从哪儿来的?”
Entailment:
“你说的这些,来源真的说了吗?”
生产 Agent 需要同时回答这两个问题。