Chapter 10 · 缩小幻觉的爆发面
幻觉不会归零,但能让它发生时被发现,让它发生后能修。这是 B 档最重要的工程能力。
Item 27:用 Self-RAG 让模型自己决定是否检索
不是所有问题都要检索——但模型自己最知道哪些要。
核心
Self-RAG(arXiv:2310.11511)训练模型在生成中输出 reflection token,标注"我现在需要检索吗"、"我刚刚的回答有支持吗"。这避免了对所有 query 无差别检索的成本,也让 abstention 自然发生。
Things to Remember
- 不是每个 query 都该 RAG——常识性问题走纯 LLM 更快更准。
- Self-RAG / Adaptive RAG 是产品级 RAG 的进阶基线。
- abstention(拒答)是 first-class 的输出,不是失败。
Item 28:用 Chain-of-Verification 做事实自检
让模型先写答案,再自己挑刺。
核心
CoVe(arXiv:2309.11495)的 4 步流程:① 生成草稿 → ② 从草稿提取可验证陈述 → ③ 独立回答每条陈述 → ④ 把矛盾的修订掉。在长事实回答上可降低 30%+ 错误率。
Things to Remember
- 长生成的事实答案后置 CoVe 流程。
- 验证子查询用独立 prompt 跑,避免被原 context 污染。
- 矛盾的优先级:以验证步骤的答案为准。
Item 29:Self-Consistency 是 80/20 的解药
5 次采样投票,错误率减半。
核心
Self-Consistency(arXiv:2203.11171):n=5、温度 0.7 多次采样、多数投票,GSM8K 提升 18%。是 CoT 时代单笔回报最高的 test-time 技巧。
Things to Remember
- n=5-10 是甜点;> 20 边际收益骤降。
- 投票域必须是最终答案而非"看似一致"的中间步骤。
- 与 RAG / Tool 兼容——它们是正交手段。