AI 答案 Grounding、引用、事实核验与可验证回答全景图
从“看起来像对”到“能被证据支撑、能被用户核对、能被系统回放”:理解可信 AI 回答的证据链
Evidence Source
文档 / DB / Web
→
Retrieval
召回 / 重排
→
Context Pack
证据片段
→
Answer Claims
答案断言
→
Citation / Verify
引用与核验
→
Trace / Eval
证据闭环
| 表面现象 | 真实风险 | 需要补的工程能力 |
| 回答后面挂了 3 个引用 | 引用可能只是相关材料,不一定支撑具体断言 | claim-level citation,逐断言绑定证据 |
| 检索到了正确文档 | 模型可能引用错段、断章取义或忽略新旧版本冲突 | 证据粒度、版本、时间戳和冲突检测 |
| Judge 给了高分 | Judge 可能偏好流畅答案,不检查证据忠实度 | Faithfulness、answerability、citation precision 分开评测 |
| 模型说“根据资料” | 没有可回放证据,用户和审计都无法验证 | retrieval snapshot、source_id、quote span、claim map 进 Trace |
关键判断:
可信回答不是“让模型少幻觉”的单点问题,而是从证据进入、上下文组装、答案生成、引用绑定、核验评测到审计回放的一整条链。
| 指标 | 问的是什么 | 典型失败 | 对应证据 |
| Relevance / 相关性 | 检索材料是否与问题相关 | 材料相关但不包含答案 | query、top_k、rerank_score、source_id |
| Answerability / 可回答性 | 当前证据是否足够回答 | 证据不足却强行回答 | coverage、missing_fields、abstain_reason |
| Faithfulness / 忠实度 | 答案是否只说证据能支持的内容 | 在正确材料上补出不存在的细节 | claim、support_span、contradiction_span |
| Citation Precision / 引用准确率 | 引用是否支撑对应句子 | 引用到了同文档但错段落 | claim_id、citation_id、char/page/time span |
不要用一个总分糊住全部问题
“答案好不好”至少要拆成召回是否相关、证据是否足够、回答是否忠实、引用是否精确、格式是否可用。否则很难知道该改检索、改上下文、改 Prompt、改模型,还是改评测。
事实断言
时间、地点、金额、规则、结论、状态、责任归属都应能指向具体来源。越高风险,越不能只给段落级引用。
推理断言
“因此”“说明”“建议”这类推理需要标明前提证据和推理规则,不能把模型自己的推断伪装成原文事实。
不确定断言
证据冲突、证据缺口、时间过期、权限不可见时,应输出不确定性、追问或拒答,而不是用常识补全。
| 答案单元 | 需要绑定什么 | 最小字段 |
| 一句结论 | 支撑它的证据片段 | claim_id、source_id、span、confidence、support_type |
| 一个表格单元 | 该单元来自哪个字段、行、版本 | row_id、field_name、snapshot_version、transform_rule |
| 一个建议 | 事实依据、适用条件和风险边界 | premise_claims、policy_rule、risk_note、human_review |
| 一个引用 | 用户可打开或系统可回放的证据定位 | doc_id、page/section/char_span、retrieval_snapshot_id |
| 来源类型 | 常见场景 | 主要风险 | 治理动作 |
| 官方 / 原始系统 | 政策原文、合同、数据库主表、工单系统 | 权限、版本、解释口径 | source tier、版本快照、权限快照、字段级引用 |
| 内部二手材料 | 总结文档、会议纪要、知识库文章 | 过期、转述错误、部门口径冲突 | 更新时间、owner、审批状态、冲突提示 |
| 网页 / 外部内容 | 搜索结果、新闻、论坛、供应商文档 | 时效、SEO、伪造、版权与引用边界 | 域名信誉、发布时间、抓取时间、外部不可信标记 |
| 工具返回 | SQL、搜索 API、代码测试、浏览器截图 | 环境错误、权限错配、执行副作用 | tool_call_id、参数、返回摘要、原始 artifact |
底线:
来源内容可以作为证据,但不能自动变成系统指令。证据可信度、指令权威性和用户权限是三条不同轴。
| 设计问题 | 低质量做法 | 高质量做法 |
| 引用粒度 | 只给文档标题或 URL | 页码、章节、段落、字符范围、表格行列、时间戳 |
| 引用位置 | 答案末尾堆一串来源 | 每个关键断言旁边绑定引用,表格按单元格或行引用 |
| 引用可见性 | 用户无法打开或看不到命中片段 | 可展开证据片段,保留上下文前后文和来源元数据 |
| 引用状态 | 不知道证据是否过期 | 展示 source_version、last_updated、retrieved_at、policy_snapshot |
| 引用冲突 | 只选一个看似最好的来源 | 显式列出冲突来源、版本差异和无法判断的部分 |
| 核验层 | 检查内容 | 失败时动作 |
| 格式核验 | JSON、表格、引用标记、字段完整性 | 修复格式、重试、降级为人工可读输出 |
| 证据覆盖 | 关键 claim 是否都有支持证据 | 删除无证据 claim、标注不确定、追问 |
| 矛盾检查 | 答案是否与证据或高优先级来源冲突 | 提示冲突、优先高权威来源、转人工 |
| 数值校验 | 金额、日期、比例、单位是否一致 | 重算、显示公式、引用原始字段 |
| 安全与权限 | 引用是否泄露不可见材料,是否越权外发 | 脱敏、拒答、权限升级或审计告警 |
核验器不是万能真理机
核验器只能检查它能观察到的证据、规则和格式。开放事实、复杂推理和灰区判断仍需要不确定性表达、人工复核和回归样本沉淀。
证据冲突
新旧政策、不同部门口径、数据库状态和文档说明互相矛盾时,不要让模型自行“调和”为一个确定答案。
证据缺口
检索不到关键条件、用户没给必要上下文、权限看不到材料时,应追问或说明无法判断。
证据过期
引用旧版本不一定错,但必须显示版本和时间,避免把历史口径当当前事实。
| 情况 | 回答策略 | Trace 字段 |
| 证据足够且一致 | 直接回答,逐断言引用 | answerability=answerable, citation_coverage |
| 证据不足 | 说明缺什么,追问或拒答 | missing_fields, abstain_reason |
| 证据冲突 | 列出冲突,说明优先级或转人工 | conflict_sources, selected_policy |
| 权限不足 | 不暴露不可见证据,提示权限边界 | permission_snapshot, redaction_reason |
| 字段 / 指标 | 回答什么问题 | 连接到哪里 |
| retrieval_snapshot_id | 本次到底检索到了哪些材料 | 请求 Trace、RAG |
| claim_count / grounded_claim_count | 有多少断言被证据支撑 | 模型评测 |
| citation_precision | 引用是否指向正确证据 | LLM-as-Judge |
| faithfulness_score | 答案是否忠实于材料 | LLMOps |
| abstain_rate | 证据不足时是否敢于不答 | AI 安全 / 护栏 |
| conflict_detected | 系统是否发现多源口径冲突 | 知识生命周期 |
| user_citation_open_rate | 用户是否真的核对引用 | AI 产品 UX |
| 证据节点 | 最小字段 | 进入生产闸门时看什么 |
| answer_id | 用户问题、回答版本、模型 / Prompt 版本、风险场景 | 这类回答是否允许直接输出,是否需要更高核验强度? |
| claim_id | 关键断言、断言类型、置信度、是否允许无证据输出 | 答案里的事实、推理和建议是否被拆开核验? |
| citation_span | source_id、source_version、页码 / 段落 / 字符范围、检索快照 | 引用是否真正支撑对应 claim,而不只是主题相关? |
| verification_result | 格式校验、证据覆盖、矛盾检查、权限脱敏、拒答原因 | 失败时应该删除断言、标注不确定、追问、拒答还是转人工? |
| release_gate_id | grounded_claim_rate、citation_precision、conflict_resolution、abstain_quality | 上线前最低证据阈值是否达标,坏例是否进入回归集? |
误区:检索命中就等于答案有依据
检索命中只是材料进入候选集,答案是否使用、是否正确使用、是否逐断言支撑还需要额外检查。
误区:引用越多越可信
引用过多会制造安全感,也会遮住错位引用。关键是引用精度、来源权威和断言覆盖率。
误区:让模型自查就够了
自查仍然可能被原答案带偏。高风险场景需要独立核验器、规则检查、人工抽检和回归集。
误区:拒答率越低越好
在证据不足、权限不足或口径冲突时,合理拒答和追问是可信系统的一部分。
这张页在主干里的位置
如果说 RAG 解决“证据怎样找来”,上下文组装解决“证据怎样放进窗口”,那么本页解决“答案怎样被证据约束并可被核对”。它是幻觉治理、引用质量、评测发布和审计复盘之间的桥。