让答案"可核对",而不是"听起来对"
生成式回答最大的问题是**无法核对**:句子通顺、语气自信,但你不知道它依据什么。
解法是让检索与生成之间多一层显式的**证据表**:先把片段整理成结构化事实,再基于事实写答案。
证据表长什么样
每条一行,字段固定:
| 字段 | 说明 |
|---|---|
| 事实 | 一句话陈述(不含推断) |
| 来源 | 文档标题 + 章节/页码 |
| 原文片段 | 支撑该事实的**原话**(截断到 80~120 字) |
| 时间 | 该文档的发布日期 |
| 置信 | 高 / 中 / 低(人工或规则给的) |
这张表是**纯抽取**产物,不允许出现"因此""说明"这类推断词。
三步流程
1. **抽取**:从检索到的片段里抽出事实,逐条附原文与出处;抽不出就写"未找到相关事实";
2. **校验**:程序检查每条事实的原文片段**确实出现在**该来源片段中(子串比对),不通过就丢弃;
3. **成文**:只允许基于证据表写答案,**每条结论标注引用编号**;证据表里没有的,不许写。
三个直接收益
常见错误
落地顺序
1. 先做抽取 + 子串校验(这两步就能显著降低编造);
2. 再把引用编号写进答案模板;
3. 最后做"证据表为空时的明确回复"与引用一致性指标。