如何让大模型回答 Grounded 到可信来源?
简化版
Grounding 是要求回答中的可核查结论受指定证据支持,而不是让模型凭参数记忆自由生成。系统要先限定可信来源并做权限、版本和时效过滤,再检索证据;生成时让关键结论绑定引用,生成后检查“引用存在、内容支持结论、来源有权使用”。没有足够证据时应明确说不知道或请求补充,不能为了回答完整而编造。
详细版
可靠链路包含来源治理、检索、证据装配、带引用生成和逐结论验证。来源按权威性分级,例如内部主数据和官方文档高于论坛;同一文档保留版本、生效时间、所有者和访问控制。检索命中不代表支持答案,必须判断片段与结论的蕴含关系。
claim -> citation_id -> source chunk
-> document/version/time/ACL
回答可拆成原子 claim,事实性 claim 必须有一个或多个引用;意见和推测要显式标记。来源冲突时展示差异或按业务规则选择,不把冲突静默融合。评测分别看检索召回率、引用精确率、claim 覆盖率、引用蕴含率和无证据拒答率。
完整版教学
一、Grounding 约束的是答案与证据关系
模型知识来自训练数据,无法说明某个事实当前是否有效,也不一定能给出可审计出处。Grounding 把指定数据源带入回答流程,并要求关键陈述能从这些证据推出。
这不保证来源本身绝对正确。如果官方文档过期,模型忠实复述仍会得到旧答案。所以 Grounding 同时包含来源治理和答案忠实度,不能只加几个链接。
记忆钩子:Grounded 表示“有据且据能支撑”,不等于“世界上绝对正确”。
二、先建立来源等级和元数据
不同来源不能同权。账户余额应以交易系统为准,产品政策以当前官方文档为准,社区帖子可帮助理解但不应覆盖权威规则。
| 来源级别 | 示例 | 使用方式 |
|---|---|---|
| 主数据 | 数据库、领域 API | 作为业务真值 |
| 官方文档 | 已发布政策、手册 | 检查版本与生效时间 |
| 内部知识 | 评审记录、FAQ | 需所有者和更新周期 |
| 外部资料 | 论文、厂商文档 | 核对发布日期与适用版本 |
| 用户内容 | 邮件、网页片段 | 不可信输入,不能改变权限 |
索引至少保存文档 ID、版本、生效区间、所有者、访问控制、抓取时间和内容哈希,检索前先做权限与有效期过滤。
三、检索命中不是 Grounding 完成
向量相似度高只说明语义接近。用户问“是否可以退款”,检索到讲“退款流程”的文档,不一定包含资格条件。生成模型可能借题发挥,给出证据没有说的结论。
因此要区分检索相关性和证据支持度。前者帮助找候选,后者判断片段是否蕴含 claim。重排器、规则或 NLI 模型可以提供支持信号,但高风险结论仍应由领域规则验证。
检索不到足够证据时,正确结果是缺证据,而不是降低阈值直到找到看似相关的文本。
四、把答案拆成可验证的 claim
一整段文字只挂一个引用,很难知道链接支持哪句话。可将答案拆为原子事实,例如“套餐月费 99 元”“支持 5 个成员”“自 2026-08-01 生效”,分别绑定引用。
{"claim":"套餐月费为 99 元",
"citations":[{"doc":"price-v7","span":"p2:L10-L12"}]}
原子化也有边界,不能把文章拆成每个词。通常对可外部核查、会影响决策的陈述强制引用,连接性表达和明确意见无需逐句挂链接。
五、引用验证有三层
第一层检查引用 ID 是否存在且用户有权限;第二层检查引用片段是否真的包含相关信息;第三层检查片段是否足以支持 claim 的强度。原文说“可能提高”,答案写“必然提高”,即使关键词相同也不忠实。
假设回答有 20 个事实 claim,16 个带有效引用,其中 14 个真正被支持:引用覆盖率是 16/20=80%,已引用项的蕴含率是 14/16=87.5%,整体受支持率只有 14/20=70%。
只统计“答案里有几个链接”会掩盖这种差异。
六、处理冲突、时效与空结果
两个官方版本对同一限额描述不同,应使用生效时间和适用范围决定;无法判定时明确列出冲突并请求上下文。把两段文本摘要成一个折中数字,会制造不存在的政策。
动态数据要通过实时 API,而不是索引里几天前的快照。Observation 携带 retrieved_at 和版本,超过新鲜度阈值则重新查询。
空结果是重要信号。系统应区分“来源明确说不存在”和“没有找到”,后者不能被表达成否定事实。
七、外部来源可能包含提示注入
网页和用户文档里的“忽略之前指令”是待分析内容,不是系统命令。来源进入上下文时要有明确数据边界,工具权限仍由执行层控制。
引用链接还需防止 SSRF、恶意重定向和不安全文件。抓取器在隔离网络中工作,限制域名、大小和类型;模型不能因为文档要求就调用新工具或泄露上下文。
来源可信度与内容安全是两回事:官方站点也可能被攻陷或包含用户生成区域,都需要处理。
八、端到端评测要分解链路
先测检索是否召回所需证据,再测重排是否把证据放入预算,之后测生成 claim 是否忠于证据,最后测引用定位是否正确。只看最终答案,无法判断是没检索到还是模型没使用。
测试集应包含无答案、过期版本、来源冲突、跨租户文档和“相关但不支持”的困难负例。指标包括 Recall@K、claim 覆盖、蕴含率、无证据拒答精确率与权限泄露数。
上线后把用户纠错和低支持 claim 回流,但不能把未审核的模型回答当成新权威来源,否则会形成自我污染。
九、常见误区与追问
- 误区:使用 RAG 就自动 Grounded。 检索片段可能无关、过期或不能支持最终结论。
- 误区:答案带链接就足够可信。 引用必须精确定位且真正蕴含对应 claim。
- 误区:相似度最高的来源就是权威来源。 权威性、权限、版本和时效要先过滤。
- 误区:检索为空就说明事实不存在。 可能只是索引覆盖不足,应表达为没有找到证据。
- 误区:多个来源冲突时取多数即可。 版本、生效范围和主数据优先级比数量重要。
- 追问:怎样衡量 Groundedness? 将答案拆为 claim,计算引用覆盖和证据蕴含,并单测检索召回。
- 追问:引用验证能否完全自动化? 可用规则和模型筛查,高风险或复杂语义仍需领域验证与抽检。
- 追问:参数知识可以作为来源吗? 可用于常识性辅助,但需要审计和时效的事实应依赖显式来源。
十、加强记忆
Grounding 记住“来源先治理、检索只找候选、claim 逐条挂证据、引用还要验支持”:先按权限、权威、版本和时效过滤来源,再检索重排;把答案中的关键事实拆成 claim,绑定可定位片段并验证蕴含。冲突不静默融合,空结果不冒充否定事实,证据不足就拒答或澄清。最终把检索召回与答案忠实度分开评测。