Appearance
9.3.2 什么是 Groundedness / Faithfulness?
先给结论:这两个词都在讨论“回答和证据之间的关系”,但强调点不完全一样。Groundedness 更强调答案是否建立在给定材料之上,Faithfulness 更强调答案是否忠实于材料、不超范围发挥。很多场景里它们会一起用,但不要把它们完全当成同义词。
在 RAG 评测里,这两个词经常一起出现,所以特别容易被混用。更稳的做法不是死抠术语教科书定义,而是先把它们放回工程语境里理解。
一、Groundedness 更像在问什么
你可以先把 groundedness 理解成:
- 这段回答有没有扎根在当前给定材料上
它更关注的是:
- 回答是不是建立在提供的上下文之上
- 有没有明显脱离证据在自由发挥
所以 groundedness 更偏向判断:
- 这段回答是不是“有依据地说”
二、Faithfulness 更像在问什么
Faithfulness 更适合先理解成:
- 回答是否忠实表达了材料支持的内容
它更关注的是:
- 有没有把材料外推测混进来
- 有没有扩大原文含义
- 有没有忽略关键限制条件
- 有没有把弱证据说成强结论
所以 faithfulness 更偏向判断:
- 这段回答是不是“按依据本来的边界在说”
三、两者是什么关系
在很多真实 RAG 系统里,这两者高度相关,但并不完全一样。
可以先这样理解:
- groundedness 更看“有没有站在材料上回答”
- faithfulness 更看“站在材料上回答时,有没有走偏”
也就是说,一个回答可能:
- 大体 grounded 但
- 仍然不够 faithful
例如:
- 它确实引用了当前材料
- 但它把“部分适用”说成了“全部适用”
这时它并不是完全脱离材料,但仍然不忠实。
四、为什么工程里经常把它们一起看
因为如果你只看其中一边,很容易漏掉另一类问题。
只看 groundedness
你可能会放过这种答案:
- 确实围绕材料回答了
- 但解释已经超出原文边界
只看 faithfulness
你可能会忽略另一种情况:
- 答案看起来没有明显夸张
- 但其实根本没真正建立在当前上下文上
所以很多评测体系会把这两者放在一起,目的是更完整地看:
- 回答和证据之间到底是什么关系
一个最小示意
python
context = "在部分企业客户场景下,可申请该权限。"
answer = "企业用户都可以申请该权限。"这类回答的问题可以理解成:
- 它和材料有关,说明不是完全不 grounded
- 但它扩大了原文含义,所以不 faithful
五、术语差异不用过度神化
这里也要避免另一个误区:
- 以为只要把术语定义背清楚,评测就自然会变好
真正更重要的不是术语字面,而是你在系统里到底用它们检查什么。
更稳的方式通常是:
- 明确你是想检查“有没有依据”
- 还是想检查“有没有超范围”
- 还是两者都要看
一句话总结
Groundedness 和 Faithfulness 都在看回答和证据之间的关系,但 groundedness 更偏“有没有建立在材料上”,faithfulness 更偏“有没有忠实表达材料支持的内容”。在 RAG 评测里,二者通常应该结合看,而不是互相替代。