CHAPTER 3 · EP 16

从补全到对话 · 幻觉与四种应对

第 3 章 · 第 16 讲 · 16:33

时长 16:33音色 云健 · 男声章节 3

同步字幕

章节导航(点击跳转)

0:00开场 · 它为什么会一本正经地编造1:27
1:27第一层 · 从补全机器到对话助手1:47
3:15第二层 · 为什么提示词就够了1:05
4:21第三层 · 幻觉长什么样,又从哪来2:09
6:30第四层 · 应对一,用提示词约束1:54
8:24第五层 · 应对二,让模型开卷答题1:52
10:17第六层 · 检索增强的代价与四种优化2:17
12:34第七层 · 应对三与应对四2:15
14:49可带走的判断清单1:43
解读全文

pm16 · 从补全到对话 · 幻觉与四种应对

  • 模块:M3 原理底座
  • 集目:第 16 集
  • 本集课节:Chat Template + SFT / 上下文窗口是关键 / 大模型幻觉演示 / 应对 1:Prompt Engineering / 应对 2:RAG / RAG 的代价与优化 / 应对 3:Temperature & Top-P / 应对 4:评测 + 人工审核
  • 配套音频:pm16-m3-播客.mp3(约 16 分钟)
  • 来源:xueai.miyang.cn(小山学堂 · 洛小山《学 AI 产品,从入门到精通》)

一、本集要解决什么问题

模型不知道事实,却能用非常自信的语气,流畅地编出一段听起来很像真的内容——这就是幻觉(Hallucination)。

本集前半段讲清它为什么会发生,后半段给出四种可落地的应对手段。

幻觉不是 bug,是这类产品的固有特性。 你没法靠等模型升级来消灭它,只能把它控制在业务可接受的阈值内。

二、能力地图:四招各自守哪一段

手段类型守住什么守不住什么
1. 提示词约束预防让"承认不知道"的概率上升模型高度自信的错误(训练数据系统性错误 / 过时知识)
2. RAG 检索增强预防注入真实文档,改变前文检索本身出错;窗口外内容仍会脑补
3. 采样参数预防降低随机性带来的意外词知识边界(不知道的事低温下照样编)
4. 评测 + 人工审核检测 + 纠正高风险内容的人工兜底成本与延迟(所以要做分级)
这四招不是四选一,是一套组合拳。

三、底层认知一:从补全机器到对话助手

模型本质上只做一件事:词元(token)推词元。给它前文,它推下一个最可能的词。

两步让它"学会说话"

第一步 · 对话模板(Chat Template)

约定一套格式,用特殊标记把每条消息包裹起来,分出三种角色:

角色放什么
system系统提示词——规定身份、边界、语气、禁区
user用户的问题
assistant模型从这里开始输出

所有消息按格式拼成一段文本送给模型。

第二步 · 指令微调(SFT)

用海量的"格式化对话 + 高质量回答"继续训练模型,让它学会在这套格式下做助理,不再只是续写文本。本质上仍是词元预测,只是训练数据换了。

第三步 · 大力出奇迹(Scale Up)

模型越来越大、训练数据越来越多,效果呈指数级提升。

对比:SFT 之前 vs 之后

问:紫霞仙子是谁?

回答
SFT 之前(Base 模型)「紫霞仙子是哥哥,哥哥你喜欢我,你说你喜欢我…」(继续按语料风格续写,完全不像在回答问题)
SFT 之后(Chat 模型)「紫霞仙子是电影《大话西游》中的人物,由朱茵饰演。她是至尊宝命中注定的爱人,为了他付出了一切。」(懂得什么是回答,以助理身份作答)
这一刻,"补全机器"进化成了"对话助手"。

四、底层认知二:为什么提示词就够了?

旧思路新答案
换任务= 重新训练预训练后,提示词就够了
为什么—词元推词元:提示词 = 高质量前文,前文好 → 后文好
关键约束—窗口越大,能放的指令越多

提示一 · 窗口过小会发生什么

  • 窗口过小:系统指令被整个截断,模型完全看不到你写的角色设定,只剩用户那一句 → 输出跑偏;
  • 窗口充足:系统指令完整,还放得下 few-shot 示例 → 输出稳定。
做产品的实在经验:你以为模型没理解需求,很多时候其实是你的指令根本没进窗口。
检查"上下文里到底塞了什么、有没有被挤掉",应该成为排查问题的第一步。

五、幻觉长什么样:六类典型案例

类型案例模型错在哪
张冠李戴「黛玉捧着月光宝盒…」月光宝盒是紫霞的。模型只看共现权重,不知道谁拥有什么
穿越混搭「花千骨对郭靖急道:靖哥哥」不同作品的角色,模型会流畅地续写跨作品对话
无中生有「女儿国国王望着杏花簪…」杏花簪是沈眉庄的道具,被错误安排
人设崩塌「小龙女转头对杨过急道」小龙女清冷淡然,不会"急道"。模型不懂人设,只看词频
代码接口幻觉用 pandas 做多列稳定排序写出不存在的参数组合——代码像真的,但 API 根本不是这么用的
日常对话扮演「晚上好,吃了吗」→「吃了,番茄鸡蛋面」AI 没有嘴,却扮演了一个不存在的角色

根本原因:两本书的世界

模型参数(长期记忆)上下文窗口(工作记忆)
写入时机训练时写入,推理时只读对话时动态注入
特点有知识截止日期;知识以压缩形式储存,不精确、无法更新精确可信;含系统提示词、文件、本轮对话历史
类比写完就封存的百科全书放在桌上的参考资料
⚠ 模型没有「不知道」的概念,它只会续写。
参数中没有答案时,会生成「听起来应该是这样」的内容,置信度不因信息不准确而下降。

提示二 · 自信来自流畅度,不是来自事实

一段话越顺,人越容易信。靠用户自己辨别是靠不住的,产品层面必须给出可核查的抓手(引用来源、可点开的原文链接)。


六、应对 1:Prompt Engineering(提示词约束)

原理

模型推下一个词元时,当前上下文里的每一个词元都在影响概率分布。系统提示词注入的约束词 = 在上下文里放入"高质量的前文":

  • 让「我不确定」这个序列的概率上升;
  • 让编造序列的概率下降。
本质:用精心设计的前文,定向干预后文的概率分布。

三个典型业务场景

场景风险
智能客服(电商/金融)用户问产品细节、退款政策,模型极易编造不存在的规则
内容创作(写作助手/公文)生成报告时捏造数据、引用不存在的法规文件
知识问答(企业知识库)员工问内部流程,模型用通用知识填充,与公司实际规定不符

局限性:模型不知道自己不知道

约束词有效约束词失效
前提模型对问题有一定不确定感模型对错误答案高度自信
场景超出知识范围、模糊查询、时效性信息训练数据里的系统性错误、过时知识被当作事实
结论:对"模型高度自信但可能出错"的领域,提示词约束不够,
必须搭配 RAG(注入真实知识)或人工审核兜底。

七、应对 2:RAG 检索增强生成(开卷答题)

原理

模型本质是词元推词元,推出什么取决于前文是什么。
RAG = 用检索到的真实文档作为高质量前文注入上下文。
模型没有变聪明,只是有了一个更好的起点。
无 RAG(闭卷)有 RAG(开卷)
前文只有问题本身真实文档片段 + 问题
依据训练数据里的印象检索到的文档

决策框架:什么时候必须上 RAG?

  • 知识时效性强——政策/产品/价格频繁更新,训练数据赶不上;
  • 私有知识库——公司内部文档、产品手册,模型根本没见过;
  • 答错代价高——法律、医疗、金融,错一句可能引发事故;
  • ❌ 闲聊/创意场景不需要——RAG 反而让回答更死板。

局限性:RAG 不是银弹

  1. 检索本身可能出错——召回的片段不准确时,模型把错误文档当作真实依据,幻觉不但没减少,还多了一件"权威出处"的外衣;
  2. 模型仍会脑补文档外的内容——窗口有限,超出范围的部分仍用训练记忆补全,RAG + 幻觉的混合输出比纯幻觉更难被用户识别。

提示三 · 三条配套动作

  • 建立检索命中率评测:知道有多少问题被成功检索到正确文档;
  • 引用来源强制显示:让用户可核查,也倒逼知识库质量;
  • 定期清洗知识库:RAG 的质量上限 = 知识库质量。

八、RAG 的代价与四种优化策略

额外成本来源

来源成本说明
文档向量化低(一次性)Embedding 入库时跑一次,之后复用
问题向量化低每次查询约 0.1 元/百万 token
向量检索中大规模知识库时延迟显著
Prompt 增大高 ⚠每次多注入 500–2000 token,LLM 费用倍增

最关键的优化:先判断要不要检索

约 70% 的对话其实不需要检索文档,直接用 LLM 回答更快更便宜。
生产级 RAG 的核心不是"怎么检索",而是"什么情况下不用检索"。

四种优化策略

策略效果怎么做
关键词触发(过滤)跳过 30–70% 查询先判断是否需要检索。「今天几号?」直接回答;「我们的退款政策」才触发
模型路由(分级处理)整体 LLM 费用降低 60–80%简单问题用小模型,复杂问题才上旗舰模型
语义缓存高频查询降低 50% 延迟和费用问题向量相似度 ≥ 0.95 时直接返回缓存,跳过整条链路
精准切块(Chunking)准确率提高 20–40%约 512–800 token/块,以标题/段落为边界,保留语义完整性

还有一条路:让模型自己去翻

RAG(先切好、先算好向量)工具读取(grep / glob / read)
适合语料海量且相对稳定:产品手册、法规、客服知识库、历年工单语料本来就有结构又天天变:代码仓库、日志、当前机器上的文件
适合的问题「这事怎么规定的」,答案散在几百份文档的某几段精确匹配:函数名、错误码、订单号
代价切块、入库、更新一整条流水线,文档一改就得重跑多轮工具调用,延迟和 token 都比一次检索高,要给模型开读取权限
软肋只按语义相似度捞,"精确匹配某个编号"时经常捞不准文件规模超过模型能翻的范围就会漏
怎么选:先问一句「这份资料有没有天然的索引」。
代码有文件路径和函数名、日志有时间戳 → 直接给工具;一堆没结构的 PDF 和网页 → 才轮到 RAG。两者常混用:先 RAG 找到大致位置,再用工具把那个文件完整读一遍。

九、应对 3:Temperature & Top-P

两个旋钮

  • Temperature 控制随机程度:在 softmax 之前对 logits 做等比缩放。T 越小 → 差距越大 → 分布越尖锐(最高概率词几乎被锁定,输出稳定可预期);T 越大 → 分布越平坦(低概率词也有机会被选中,幻觉和意外词随之增加)。
  • Top-P 控制候选词范围:窄候选 ↔ 全集。

业务场景推荐参数

场景TemperatureTop-P
法律 / 合规 / 客服0.10.8
报告撰写 / 摘要总结0.30.9
通用对话 / 解答咨询0.70.95
创意写作 / 头脑风暴1.21.0

局限性:参数调低 ≠ 消灭幻觉

  • 低温锁定的是「最可能」,最可能不等于最正确。 如果训练数据里那个问题本身就是错的,最高概率词依然是错误答案,且输出极其稳定地错;
  • 只影响随机性,不影响知识边界。 模型不知道的事,低温下也照样编,只是编得更一致。
参数调优是成本最低的第一道防线,但不能单独依赖。事实准确性要求高的场景必须搭配 RAG 或人工审核。

十、应对 4:评测 + 人工审核(唯一的检测 + 纠正层)

PM 需要设计的三个环节

环节动作
1 · 上线前评测基线:用一批已知正确答案的问题测出幻觉率,设定准入门槛
2 · 上线后分级审核:按风险等级自动路由——低风险直接发出,高风险先人工审核再发送
3 · 持续优化错误反馈闭环:把审核中发现的案例收集为 Bad Case,反哺模型优化和提示词调整

三句该记住的话

  1. 幻觉率 ≠ 0:所有 LLM 都有幻觉,PM 的目标是把它控制在业务可接受的阈值内,追求消灭并不现实。
  2. 高风险 = 人工兜底:医疗、法律、金融场景,AI 只做初稿,最终确认必须有人签字。
  3. 指标要写进 PRD:「幻觉率 < 3%」要像「加载时间 < 2s」一样,成为可量化的验收标准。

十一、审查清单:上线前逐条打勾

认知层

  • 理解"词元推词元"——输出什么取决于前文是什么
  • 排查输出问题时,先检查上下文里塞了什么、有没有被窗口截断
  • 知道系统提示词 / 用户 / 助手三种角色的分工

手段层

  • 已加约束提示词("不确定就说不知道"),且知道它对高度自信的错误无效
  • 知识时效性强 / 私有知识库 / 答错代价高 → 已上 RAG
  • RAG 配套:检索命中率评测 + 引用来源强制显示 + 定期清洗知识库
  • 采样参数按场景配置(法律客服 0.1 / 报告 0.3 / 通用 0.7 / 创意 1.2)

成本层

  • 做了意图识别/关键词触发(约 70% 对话不需要检索)
  • 有模型路由(简单问题上小模型)
  • 有语义缓存(相似问题复用)
  • 切块粒度 512–800 token,以标题/段落为边界

兜底层

  • 上线前有幻觉测试集与准入门槛
  • 上线后有分级审核路由(高风险先人工)
  • 有 Bad Case 反馈闭环
  • 幻觉率指标已写进 PRD 作为验收标准

十二、约束说明:这些方法不承诺什么

  1. 幻觉无法归零。 文中四种手段是降低与拦截,不是消除。任何声称"零幻觉"的方案都需要额外验证。
  2. 优化效果数字是量级,不是承诺。 30–70%、60–80%、50%、20–40%、70% 对话不需要检索等,都是经验量级,随业务分布、知识库结构、模型选择变化,需按自己的数据实测。
  3. 推荐参数是起点,不是终点。 Temperature/Top-P 的推荐值(0.1 / 0.3 / 0.7 / 1.2)需结合自家模型与场景做 A/B 验证。
  4. RAG 与工具读取不是互斥。 文中"有没有天然索引"是经验判断法则,真实系统常混合使用;选择还要考虑权限、延迟、合规。
  5. 成本估算会过时。 0.1 元/百万 token、500–2000 token 注入量等随定价与技术演进变化,只作量级参考。
  6. 演示案例是简化文本。 六个幻觉案例、对话模板示例都是为教学构造的简化文本,不是某个模型的真实输出;SFT 前后对比也是示意。
  7. 术语中英混用。 为可读性保留 Chat Template、SFT、RAG、Token、Top-P、Embedding 等通行写法;音频里已尽量转成中文说法(对话模板、指令微调、检索增强、词元 等)。

十三、可带走的判断清单(音频末段)

  1. 底层认知:模型是词元推词元,输出什么取决于前文是什么。这解释了为什么换个任务不用重新训练——写段提示词就行。
  2. 先查上下文:输出跑偏时先看窗口里到底塞了什么。窗口过小会把系统指令整个截断,你以为它没理解,其实它根本没看到。
  3. 四招按顺序上,不要跳步:提示词约束成本最低先做,但对高度自信的错误无效;知识时效性强 / 私有知识库 / 答错代价高,必须上检索增强,并配检索命中率评测、引用来源强制显示、定期清洗知识库。
  4. 成本优化的核心是判断什么时候不用检索:约七成对话不需要检索。模型路由省 60–80%,关键词触发跳过 30–70%,语义缓存省一半延迟和费用,精准切块提 20–40% 准确率,切块 512–800 token。
  5. 采样参数是第一道防线,不能单独依赖:低温锁定的是最可能,不是最正确。高风险场景必须配人工兜底,并把幻觉率写成可量化的验收指标写进需求文档。
共同点:承认幻觉消灭不了,把力气花在可控的地方——控制阈值、控制成本、控制高风险环节。

十四、本集要点速览

课节一句话
Chat Template + SFT统一对话格式 + 指令微调,补全机器进化成对话助手
上下文窗口是关键提示词 = 高质量前文;窗口过小会把系统指令整个截断
大模型幻觉演示张冠李戴 / 穿越混搭 / 无中生有 / 人设崩塌 / 代码接口 / 日常扮演
应对 1:Prompt Engineering约束词拉高"承认不知道"的概率;对高度自信的错误无效
应对 2:RAG开卷答题;三个必须上的条件;两个坑(检索出错、脑补)
RAG 的代价与优化核心是"什么情况下不用检索";四种策略 + 工具读取对照
应对 3:Temperature & Top-P成本最低的第一道防线;低温锁定的是"最可能"不是"最正确"
应对 4:评测 + 人工审核唯一检测+纠正层;幻觉率要写成 PRD 里的验收指标

*来源:xueai.miyang.cn(小山学堂 · 洛小山《学 AI 产品,从入门到精通》)*

*本页文字为配套解读,音频为二次演绎配音版。*