第 3 章 · 第 16 讲 · 16:33
pm16-m3-播客.mp3(约 16 分钟)模型不知道事实,却能用非常自信的语气,流畅地编出一段听起来很像真的内容——这就是幻觉(Hallucination)。
本集前半段讲清它为什么会发生,后半段给出四种可落地的应对手段。
幻觉不是 bug,是这类产品的固有特性。 你没法靠等模型升级来消灭它,只能把它控制在业务可接受的阈值内。
| 手段 | 类型 | 守住什么 | 守不住什么 |
|---|---|---|---|
| 1. 提示词约束 | 预防 | 让"承认不知道"的概率上升 | 模型高度自信的错误(训练数据系统性错误 / 过时知识) |
| 2. RAG 检索增强 | 预防 | 注入真实文档,改变前文 | 检索本身出错;窗口外内容仍会脑补 |
| 3. 采样参数 | 预防 | 降低随机性带来的意外词 | 知识边界(不知道的事低温下照样编) |
| 4. 评测 + 人工审核 | 检测 + 纠正 | 高风险内容的人工兜底 | 成本与延迟(所以要做分级) |
这四招不是四选一,是一套组合拳。
模型本质上只做一件事:词元(token)推词元。给它前文,它推下一个最可能的词。
第一步 · 对话模板(Chat Template)
约定一套格式,用特殊标记把每条消息包裹起来,分出三种角色:
| 角色 | 放什么 |
|---|---|
system | 系统提示词——规定身份、边界、语气、禁区 |
user | 用户的问题 |
assistant | 模型从这里开始输出 |
所有消息按格式拼成一段文本送给模型。
第二步 · 指令微调(SFT)
用海量的"格式化对话 + 高质量回答"继续训练模型,让它学会在这套格式下做助理,不再只是续写文本。本质上仍是词元预测,只是训练数据换了。
第三步 · 大力出奇迹(Scale Up)
模型越来越大、训练数据越来越多,效果呈指数级提升。
问:紫霞仙子是谁?
| 回答 | |
|---|---|
| SFT 之前(Base 模型) | 「紫霞仙子是哥哥,哥哥你喜欢我,你说你喜欢我…」(继续按语料风格续写,完全不像在回答问题) |
| SFT 之后(Chat 模型) | 「紫霞仙子是电影《大话西游》中的人物,由朱茵饰演。她是至尊宝命中注定的爱人,为了他付出了一切。」(懂得什么是回答,以助理身份作答) |
这一刻,"补全机器"进化成了"对话助手"。
| 旧思路 | 新答案 | |
|---|---|---|
| 换任务 | = 重新训练 | 预训练后,提示词就够了 |
| 为什么 | — | 词元推词元:提示词 = 高质量前文,前文好 → 后文好 |
| 关键约束 | — | 窗口越大,能放的指令越多 |
做产品的实在经验:你以为模型没理解需求,很多时候其实是你的指令根本没进窗口。
检查"上下文里到底塞了什么、有没有被挤掉",应该成为排查问题的第一步。
| 类型 | 案例 | 模型错在哪 |
|---|---|---|
| 张冠李戴 | 「黛玉捧着月光宝盒…」 | 月光宝盒是紫霞的。模型只看共现权重,不知道谁拥有什么 |
| 穿越混搭 | 「花千骨对郭靖急道:靖哥哥」 | 不同作品的角色,模型会流畅地续写跨作品对话 |
| 无中生有 | 「女儿国国王望着杏花簪…」 | 杏花簪是沈眉庄的道具,被错误安排 |
| 人设崩塌 | 「小龙女转头对杨过急道」 | 小龙女清冷淡然,不会"急道"。模型不懂人设,只看词频 |
| 代码接口幻觉 | 用 pandas 做多列稳定排序 | 写出不存在的参数组合——代码像真的,但 API 根本不是这么用的 |
| 日常对话扮演 | 「晚上好,吃了吗」→「吃了,番茄鸡蛋面」 | AI 没有嘴,却扮演了一个不存在的角色 |
| 模型参数(长期记忆) | 上下文窗口(工作记忆) | |
|---|---|---|
| 写入时机 | 训练时写入,推理时只读 | 对话时动态注入 |
| 特点 | 有知识截止日期;知识以压缩形式储存,不精确、无法更新 | 精确可信;含系统提示词、文件、本轮对话历史 |
| 类比 | 写完就封存的百科全书 | 放在桌上的参考资料 |
⚠ 模型没有「不知道」的概念,它只会续写。
参数中没有答案时,会生成「听起来应该是这样」的内容,置信度不因信息不准确而下降。
一段话越顺,人越容易信。靠用户自己辨别是靠不住的,产品层面必须给出可核查的抓手(引用来源、可点开的原文链接)。
模型推下一个词元时,当前上下文里的每一个词元都在影响概率分布。系统提示词注入的约束词 = 在上下文里放入"高质量的前文":
本质:用精心设计的前文,定向干预后文的概率分布。
| 场景 | 风险 |
|---|---|
| 智能客服(电商/金融) | 用户问产品细节、退款政策,模型极易编造不存在的规则 |
| 内容创作(写作助手/公文) | 生成报告时捏造数据、引用不存在的法规文件 |
| 知识问答(企业知识库) | 员工问内部流程,模型用通用知识填充,与公司实际规定不符 |
| 约束词有效 | 约束词失效 | |
|---|---|---|
| 前提 | 模型对问题有一定不确定感 | 模型对错误答案高度自信 |
| 场景 | 超出知识范围、模糊查询、时效性信息 | 训练数据里的系统性错误、过时知识被当作事实 |
结论:对"模型高度自信但可能出错"的领域,提示词约束不够,
必须搭配 RAG(注入真实知识)或人工审核兜底。
模型本质是词元推词元,推出什么取决于前文是什么。
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 找到大致位置,再用工具把那个文件完整读一遍。
| 场景 | Temperature | Top-P |
|---|---|---|
| 法律 / 合规 / 客服 | 0.1 | 0.8 |
| 报告撰写 / 摘要总结 | 0.3 | 0.9 |
| 通用对话 / 解答咨询 | 0.7 | 0.95 |
| 创意写作 / 头脑风暴 | 1.2 | 1.0 |
参数调优是成本最低的第一道防线,但不能单独依赖。事实准确性要求高的场景必须搭配 RAG 或人工审核。
| 环节 | 动作 |
|---|---|
| 1 · 上线前 | 评测基线:用一批已知正确答案的问题测出幻觉率,设定准入门槛 |
| 2 · 上线后 | 分级审核:按风险等级自动路由——低风险直接发出,高风险先人工审核再发送 |
| 3 · 持续优化 | 错误反馈闭环:把审核中发现的案例收集为 Bad Case,反哺模型优化和提示词调整 |
共同点:承认幻觉消灭不了,把力气花在可控的地方——控制阈值、控制成本、控制高风险环节。
| 课节 | 一句话 |
|---|---|
| Chat Template + SFT | 统一对话格式 + 指令微调,补全机器进化成对话助手 |
| 上下文窗口是关键 | 提示词 = 高质量前文;窗口过小会把系统指令整个截断 |
| 大模型幻觉演示 | 张冠李戴 / 穿越混搭 / 无中生有 / 人设崩塌 / 代码接口 / 日常扮演 |
| 应对 1:Prompt Engineering | 约束词拉高"承认不知道"的概率;对高度自信的错误无效 |
| 应对 2:RAG | 开卷答题;三个必须上的条件;两个坑(检索出错、脑补) |
| RAG 的代价与优化 | 核心是"什么情况下不用检索";四种策略 + 工具读取对照 |
| 应对 3:Temperature & Top-P | 成本最低的第一道防线;低温锁定的是"最可能"不是"最正确" |
| 应对 4:评测 + 人工审核 | 唯一检测+纠正层;幻觉率要写成 PRD 里的验收指标 |
*来源:xueai.miyang.cn(小山学堂 · 洛小山《学 AI 产品,从入门到精通》)*
*本页文字为配套解读,音频为二次演绎配音版。*