桌上 答得出处 目录

第 3 节 · 约 30 分钟

脚注指向工单,句子里的 128 分钟仍可能是编的。

每一句事实走 claim → span → chunk → 文档版本。缺任何一截都不算有出处。

先讲

把回答拆成 claim。每一句可核对的事实单独走四截:这句话主张什么;检索记录里哪一段字面覆盖它;这段属于哪一截 chunk;chunk 属于哪份文档的哪一版。只有 chunk 没有 span,你无法证明数字来自哪一行。只有文档没有版本,作废之后你还在用旧字段。span 对不上当前哈希,说明引用的是一份已经变过的快照。

覆盖可以是同义改写,数字必须同源。工单状态「已关闭」写成「关掉了」可以。编出「处理时长 128 分钟」不行。引用系统若只检查「有没有贴上一个工单号」,这句假数字会过关。金额、天数、分钟、条款号,要单独过一遍,不能跟整段答案打包签字。

「可申请」写成「自动批准」属于说歪:span 还在,意思翻了。冲突的两段同级制度同时进上下文,应把冲突摆出来。引用列表里出现检索从未返回的 id,那是生成模型在点名,直接丢掉这一句。检索为空仍生成,是最常见的假引用来源:模型用训练记忆补全,再随手挂一个刚才看到的号。

无答案也是一种出处状态。命中的都过期、都无权限,应拒答或追问。第 1 节那句剂量,走的就是「没有 span 就停」。抽查时专门盯带数字的句子。报「引用覆盖率 100%」却只检查 doc id,128 这种数会混进去。

四截链可以写成一条记录:claim_id、span、chunk、doc、as-of。生成侧看到空 span 就丢掉这一句。脚注在、数字无 span,按幻觉记一笔。

例:检索卡片只留下工单 2044 的两个字段
  1. query: CASE-2044 现在怎样了
  2. span:状态 = 已关闭
  3. span:关闭原因 = 重复件
  4. 未命中:处理时长、分钟数
  5. 模型写「处理时长 128 分钟」→ 空 span,整句删
「已关闭」「重复件」能对到字段。128 没有 span。

你来做

工单 2044 已关闭。处理时长 128 分钟。关闭原因:重复件。点出没有 span 的那句。

query: CASE-2044 现在怎样了
as-of: 2026-07-17
字段:status=CLOSED;close_reason=重复件
未命中:处理时长、平均分钟、排队人数

留下空 span 那一句。三节都做过,这一课结束。