幻觉的排查顺序
修幻觉要从上游往下游查,而不是一上来就换模型。顺序是:上下文里到底有没有答案(对应召回指标),有答案时模型是否忠实(对应忠实度指标),两者都正常但模型仍编造,才去看提示词是否留了自由发挥的口子,最后才考虑生成模型的能力是否不足。先量化再动手,能省掉大量无效调参。
基本信息
| 第一步 | 确认检索是否召回到能回答问题的片段 |
|---|---|
| 第二步 | 确认答案是否被上下文支撑 |
| 第三步 | 检查提示词约束与拒答策略 |
| 第四步 | 评估生成模型能力与上下文长度 |
| 量化工具 | 检索侧与忠实度侧的自动化指标 |
排查决策(按优先级)
排查决策(按优先级)
1. 检索不到 → 修召回(切分/混合检索/改写)
2. 检索到但答错 → 强化约束提示词 + 引用校验
3. 约束后仍编造 → 换生成模型或加二次核对
4. 数字/条件错误 → 检查片段是否被截断每步怎么做
- 把命中片段人工拼给模型,判断模型在有材料时是否还能答对
- 对照标准答案看要点是否出现在上下文里,缺失就回到切分与召回
- 检查上下文条数是否被截断,数字与条件类答案最怕片段被砍
- 用拒答样本测试:上下文为空或明显不相关时,模型是否敢于说不知道
- 多次重复同一问题,观察答案是否稳定,随机编造的往往表现为结果漂移
现象与可能原因
| 现象 | 更可能的原因 | 验证方式 |
|---|---|---|
| 答案细节与文档不符 | 上下文缺失该细节 | 回看命中片段是否含该条款 |
| 答案混入模型旧知识 | 提示词约束不足 | 用无关上下文测试是否仍作答 |
| 数字或期限错误 | 片段被截断或切分越界 | 检查切片完整性与长度 |
| 同类问题偶尔答错 | 采样随机性或排序不稳 | 重复运行并对比命中片段 |
修复手段
- 提高召回完整度:混合检索与候选池扩容往往比调提示词更有效
- 强化生成约束:先摘录后归纳、逐句标注引用编号
- 给出拒答出口:明确信息不足时的固定话术
- 加一道自动复核:对答案逐句判断是否有片段支撑
- 高风险内容转人工:金额、合规条款类答案不自动外发
先量化再动手:分别跑召回侧与忠实度侧指标,确认问题层再改,避免盲调提示词浪费迭代次数。