1
00:00:00,100 --> 00:00:06,432
本内容改编自小山学堂《学 AI 产品，从入门到精通》，为二次演绎配音版。

2
00:00:06,382 --> 00:00:12,103
这一集我们来处理人工智能产品最让人头疼的一个问题，幻觉。

3
00:00:12,103 --> 00:00:19,543
就是模型不知道事实，却能用非常自信的语气，流畅地编出一段听起来很像真的内容。

4
00:00:19,543 --> 00:00:21,406
本集做两件事。

5
00:00:21,406 --> 00:00:32,091
前半段讲清它为什么会这样，后半段给你四种可以落地的应对手段，提示词约束、检索增强、采样参数、评测加人工审核。

6
00:00:32,091 --> 00:00:38,509
这四种手段不是四选一，而是一套组合拳，各自解决不同位置的漏洞。

7
00:00:38,509 --> 00:00:40,841
为什么产品经理要关心。

8
00:00:40,841 --> 00:00:47,403
因为幻觉不是技术bug，它是这类产品的固有特性，你没法靠等模型升级来消灭它。

9
00:00:47,403 --> 00:00:51,177
你能做的是把它控制在业务可接受的阈值内。

10
00:00:51,177 --> 00:00:58,497
这就要求你知道每一招能防住什么、防不住什么，否则你会把预算投在根本挡不住的位置上。

11
00:00:58,497 --> 00:01:00,721
再补一层现实压力。

12
00:01:00,721 --> 00:01:11,442
幻觉带来的损失往往不对称，客服编了一条退款政策，公司可能真得照做；医疗场景给错一句建议，后果不是道歉能收场的。

13
00:01:11,442 --> 00:01:19,639
所以这不是一个纯粹的技术优化项，而是一个需要写进需求文档、配预算、配人力的产品议题。

14
00:01:19,639 --> 00:01:27,524
听完这一集，你应该能回答两个问题，我们的产品该上哪一招，以及哪一招必须配人工兜底。

15
00:01:27,680 --> 00:01:33,050
先补一个底层认知，模型本质上在做一件事，词元推词元。

16
00:01:33,000 --> 00:01:36,305
给它前文，它推下一个最可能的词。

17
00:01:36,305 --> 00:01:38,313
那它为什么会说话。

18
00:01:38,313 --> 00:01:39,791
这里有两步。

19
00:01:39,791 --> 00:01:41,786
第一步是对话模板。

20
00:01:41,786 --> 00:01:50,019
大家约定好一套格式，用特殊标记把每条消息包裹起来，分出三种角色，系统、用户、助手。

21
00:01:50,019 --> 00:01:58,938
系统角色放的是系统提示词，规定它的身份和边界；用户角色放你的问题；助手角色是它开始输出的地方。

22
00:01:58,938 --> 00:02:03,096
所有消息按这个格式拼成一段文本送给模型。

23
00:02:03,096 --> 00:02:05,176
第二步是指令微调。

24
00:02:05,176 --> 00:02:13,361
用海量的格式化对话数据继续训练模型，让它学会在这套格式下做助理，不再只是续写文本。

25
00:02:13,361 --> 00:02:20,416
这一步本质上还是词元预测，只是训练数据换成了格式化对话加高质量回答。

26
00:02:20,416 --> 00:02:22,027
差别有多大。

27
00:02:22,027 --> 00:02:23,361
举个例子。

28
00:02:23,361 --> 00:02:25,452
问紫霞仙子是谁。

29
00:02:25,452 --> 00:02:32,507
微调之前的基座模型会这样答，紫霞仙子是哥哥，哥哥你喜欢我，你说你喜欢我。

30
00:02:32,507 --> 00:02:37,832
它完全不像在回答问题，只是在按训练语料的风格往下续写。

31
00:02:37,832 --> 00:02:46,077
微调之后它会答，紫霞仙子是电影大话西游中的人物，由朱茵饰演，她是至尊宝命中注定的爱人。

32
00:02:46,077 --> 00:02:50,007
它懂得了什么是回答，会以助理的身份作答。

33
00:02:50,007 --> 00:02:53,745
这一刻，补全机器进化成了对话助手。

34
00:02:53,745 --> 00:02:56,630
还有第三条线，大力出奇迹。

35
00:02:56,630 --> 00:03:01,750
模型越来越大，训练数据越来越多，效果呈指数级提升。

36
00:03:01,750 --> 00:03:08,817
所以你会看到，同样的对话格式，参数规模上去了，助手的体验会明显不一样。

37
00:03:08,817 --> 00:03:15,428
格式、微调、规模，这三件事叠在一起，才有了今天这个能聊的产品。

38
00:03:15,580 --> 00:03:23,979
理解了词元推词元，就能回答一个很关键的问题，为什么换个任务不用重新训练，写段提示词就行。

39
00:03:23,929 --> 00:03:27,739
过去的思路是，换任务等于重新训练。

40
00:03:27,739 --> 00:03:32,066
现在的答案是，预训练之后，提示词就够了。

41
00:03:32,066 --> 00:03:37,006
原因是提示词等于高质量前文，前文好，后文就好。

42
00:03:37,006 --> 00:03:47,355
大模型支持超大的上下文窗口，你可以把任务说明、规则、样例全塞进前文，模型按前文往下推，效果等同于专门训练。

43
00:03:47,355 --> 00:03:50,984
窗口大小直接决定你能放多少指令。

44
00:03:50,984 --> 00:04:00,359
窗口过小，系统指令会被截断，模型完全看不到你写的那段角色设定，只剩用户那一句，输出自然跑偏。

45
00:04:00,359 --> 00:04:05,936
窗口充足，系统指令完整，还能放得下几个示例，输出就稳了。

46
00:04:05,936 --> 00:04:14,987
所以做产品时有一条很实在的经验，你以为模型没理解你的需求，很多时候其实是你的指令根本没进窗口。

47
00:04:14,987 --> 00:04:21,105
检查上下文里到底塞了什么、有没有被挤掉，应该成为排查问题的第一步。

48
00:04:21,270 --> 00:04:22,866
现在说幻觉。

49
00:04:22,816 --> 00:04:26,506
课程里给了六类典型案例，都非常真实。

50
00:04:26,506 --> 00:04:28,609
第一类是张冠李戴。

51
00:04:28,609 --> 00:04:38,525
你说黛玉捧着月光宝盒，它会顺着接下去，因为月光宝盒其实是紫霞的，模型只看词的共现权重，不知道谁拥有什么。

52
00:04:38,525 --> 00:04:47,131
第二类是穿越混搭，花千骨对郭靖急道靖哥哥，两个角色来自不同作品，它会流畅地续写跨作品对话。

53
00:04:47,131 --> 00:04:52,371
第三类是无中生有，把沈眉庄的道具安排给女儿国国王。

54
00:04:52,371 --> 00:04:55,112
第四类是代码接口幻觉。

55
00:04:55,112 --> 00:05:04,403
你让它用某个库做多列排序，它会写出根本不存在的参数组合，代码看起来像真的，但接口压根不是这么用的。

56
00:05:04,403 --> 00:05:07,335
这一类对研发同学杀伤力最大。

57
00:05:07,335 --> 00:05:15,545
第五类是日常对话里的扮演，晚上好，吃了吗，它没有嘴，却会回答吃了，还能编出一碗番茄鸡蛋面。

58
00:05:15,545 --> 00:05:19,186
概率续写让它扮演了一个不存在的角色。

59
00:05:19,186 --> 00:05:26,650
第六类是人设崩塌，小龙女清冷淡然，不会急道，但模型不懂人设，只看词频。

60
00:05:26,650 --> 00:05:28,537
根本原因是什么。

61
00:05:28,537 --> 00:05:31,458
模型脑子里有两本不同的书。

62
00:05:31,458 --> 00:05:44,138
一本是参数里的长期记忆，训练时写入，推理时只读，有知识截止日期，知识以压缩形式储存，不精确，也无法更新，就像写完就封存的百科全书。

63
00:05:44,138 --> 00:05:56,194
另一本是上下文窗口，也就是工作记忆，对话时动态注入，精确可信，包括系统提示词、文件、本轮对话历史，就像放在桌上的参考资料。

64
00:05:56,194 --> 00:06:01,278
最关键的一句，模型没有不知道这个概念，它只会续写。

65
00:06:01,278 --> 00:06:09,295
参数里没有答案时，它会生成听起来应该是这样的内容，而且置信度不会因为信息不准确而下降。

66
00:06:09,295 --> 00:06:14,847
这就是幻觉最难对付的地方，它错得越离谱，语气可能越肯定。

67
00:06:14,847 --> 00:06:20,629
还有一个容易被忽略的点，它的自信来自流畅度，而不是来自事实。

68
00:06:20,629 --> 00:06:23,549
一段话越顺，人越容易信。

69
00:06:23,549 --> 00:06:30,124
所以靠用户自己辨别是靠不住的，产品层面必须给出可核查的抓手。

70
00:06:30,270 --> 00:06:35,328
第一种应对是提示词约束，成本最低，也最该先做。

71
00:06:35,278 --> 00:06:36,816
原理很直接。

72
00:06:36,816 --> 00:06:43,006
模型推下一个词元时，当前上下文里的每一个词元都在影响概率分布。

73
00:06:43,006 --> 00:06:53,679
系统提示词里注入的约束词，就是在上下文里放了一段高质量前文，它让承认不知道这个序列的概率上升，让编造序列的概率下降。

74
00:06:53,679 --> 00:07:00,422
比如加上一句，如果不确定就说不知道，模型输出我不确定的概率就明显变高了。

75
00:07:00,422 --> 00:07:05,782
本质是，用精心设计的前文，定向干预后文的概率分布。

76
00:07:05,782 --> 00:07:10,254
但这一招有明确的局限，模型不知道自己不知道。

77
00:07:10,254 --> 00:07:18,126
它有效的前提是，模型对这个问题有一定不确定感，这时候约束词能把它推向承认不知道的序列。

78
00:07:18,126 --> 00:07:24,364
所以它适合三类问题，超出知识范围的、模糊查询的、时效性信息。

79
00:07:24,364 --> 00:07:26,504
它在什么情况下失效。

80
00:07:26,504 --> 00:07:34,460
当模型对某个错误答案高度自信时，它推出的第一候选词就是错的，约束词干预不了这个概率。

81
00:07:34,460 --> 00:07:41,299
典型的失效场景是训练数据里的系统性错误，以及被它当成事实的过时知识。

82
00:07:41,299 --> 00:07:44,857
落到具体场景，你可以这样对号入座。

83
00:07:44,857 --> 00:08:05,810
智能客服场景，用户问产品细节和退款政策，模型极易编造不存在的规则；内容创作场景，生成报告时可能捏造数据、引用不存在的法规文件；企业内部知识库问答，员工问内部流程，模型会拿通用知识填充，和公司实际规定不符。

84
00:08:05,810 --> 00:08:10,450
这三类都应该先上约束提示词，但都不能只靠它。

85
00:08:10,450 --> 00:08:20,762
所以产品上的结论是，对于模型高度自信但可能出错的领域，提示词约束不够，必须搭配检索增强，或者人工审核兜底。

86
00:08:20,762 --> 00:08:24,933
别指望靠改几句提示词就解决所有幻觉。

87
00:08:25,060 --> 00:08:29,769
第二种应对是检索增强生成，让模型开卷答题。

88
00:08:29,719 --> 00:08:36,342
原理还是那句话，模型本质是词元推词元，推出什么取决于前文是什么。

89
00:08:36,342 --> 00:08:42,387
检索增强就是把检索到的真实文档作为高质量前文注入上下文。

90
00:08:42,387 --> 00:08:47,327
相同的模型，前文换了，后文的概率分布就变了。

91
00:08:47,327 --> 00:08:51,354
模型没有变聪明，只是有了一个更好的起点。

92
00:08:51,354 --> 00:09:04,250
没有检索时是闭卷考试，前文只有问题本身，它只能靠训练数据里的印象来推；有了检索，真实文档片段成为前文的一部分，直接影响每一步的概率分布。

93
00:09:04,250 --> 00:09:06,077
什么时候必须上。

94
00:09:06,077 --> 00:09:09,178
三个条件，占一条就值得考虑。

95
00:09:09,178 --> 00:09:15,849
第一，知识时效性强，政策、产品、价格频繁更新，训练数据赶不上。

96
00:09:15,849 --> 00:09:21,955
第二，私有知识库，公司内部文档、产品手册，模型根本没见过。

97
00:09:21,955 --> 00:09:28,012
第三，答错代价高，法律、医疗、金融，错一句可能引发事故。

98
00:09:28,012 --> 00:09:33,085
反过来，闲聊和创意场景不需要，上了反而让回答更死板。

99
00:09:33,085 --> 00:09:35,681
它也不是银弹，有两个坑。

100
00:09:35,681 --> 00:09:46,798
第一，检索本身可能出错，召回的片段不准确时，模型会把错误文档当作真实依据，幻觉不但没减少，还多了一件权威出处的外衣。

101
00:09:46,798 --> 00:10:00,020
第二，模型仍会脑补文档外的内容，窗口有限，超出范围的部分它还是用训练记忆补全，这种检索加幻觉的混合输出，比纯幻觉更难被用户识别。

102
00:10:00,020 --> 00:10:17,055
所以应对办法是，建立检索命中率评测，知道有多少问题被成功检索到正确文档；引用来源强制显示，让用户可核查，也倒逼知识库质量；定期清洗知识库，因为它的质量上限就等于知识库质量。

103
00:10:17,210 --> 00:10:23,566
检索增强每次查询都要额外花钱，不优化，成本会随用量快速失控。

104
00:10:23,516 --> 00:10:25,559
成本主要来自四处。

105
00:10:25,559 --> 00:10:30,715
文档向量化是低的一次性成本，入库时跑一次之后复用。

106
00:10:30,715 --> 00:10:34,237
问题向量化低，每次查询的费用很小。

107
00:10:34,237 --> 00:10:38,600
向量检索中等，知识库规模大时延迟显著。

108
00:10:38,600 --> 00:10:47,482
真正高的是提示词增大，每次多注入五百到两千个词元，大模型费用直接倍增，这是最需要盯的一项。

109
00:10:47,482 --> 00:10:53,143
最关键的优化是，先做意图识别，判断这次到底需不需要检索。

110
00:10:53,143 --> 00:10:59,754
有个经验数字，约七成的对话其实不需要检索文档，直接回答更快更便宜。

111
00:10:59,754 --> 00:11:05,475
所以生产级系统的核心不是怎么检索，而是什么情况下不用检索。

112
00:11:05,475 --> 00:11:08,936
四种优化策略，效果各有数量级。

113
00:11:08,936 --> 00:11:19,105
第一，关键词触发，先判断问题需不需要检索，今天几号不需要查文档，我们的退款政策才触发，能跳过三成到七成的查询。

114
00:11:19,105 --> 00:11:27,795
第二，模型路由，简单问题用小模型，复杂问题才上旗舰模型，整体费用能降低六成到八成。

115
00:11:27,795 --> 00:11:37,807
第三，语义缓存，相似问题复用同一检索结果，相似度很高时直接返回缓存，高频查询能降低一半延迟和费用。

116
00:11:37,807 --> 00:11:52,843
第四，精准切块，文档切割粒度影响检索质量，太大注入冗余词元，太小丢失上下文，最佳实践是每块五百一十二到八百个词元，以标题段落为边界，准确率能提高两成到四成。

117
00:11:52,843 --> 00:11:55,319
还有一条路可以对比着看。

118
00:11:55,319 --> 00:12:04,429
检索增强是先把文档切好、算好向量，适合语料海量又相对稳定、答案散在几百份文档某几段的场景。

119
00:12:04,429 --> 00:12:18,744
另一种方式是让模型自己拿工具去翻，适合语料本来就有结构又天天变的情况，比如代码仓库和日志，要精确匹配函数名、错误码时，搜索一把就命中，向量检索反而绕。

120
00:12:18,744 --> 00:12:22,975
选择时先问一句，这份资料有没有天然的索引。

121
00:12:22,975 --> 00:12:32,350
代码有文件路径和函数名，日志有时间戳，这类直接给工具；一堆没结构的文档，才轮到先切块建索引。

122
00:12:32,350 --> 00:12:34,658
两者也常混着用。

123
00:12:34,800 --> 00:12:38,644
第三种应对是采样参数，两个旋钮。

124
00:12:38,594 --> 00:12:41,130
温度参数控制随机程度。

125
00:12:41,130 --> 00:12:46,022
它在计算概率分布之前对候选词的分数做等比缩放。

126
00:12:46,022 --> 00:13:00,048
数值越小，差距被拉得越大，分布越尖锐，最高概率的词几乎被锁定，输出稳定可预期；数值越大，分布越平坦，低概率词也有机会被选中，幻觉和意外词随之增加。

127
00:13:00,048 --> 00:13:07,091
候选范围参数控制候选词的范围，是从前几个高概率词里挑，还是从全集里挑。

128
00:13:07,091 --> 00:13:25,352
业务上的推荐配置大概是，法律合规客服，温度零点一、候选范围零点八；报告撰写和摘要总结，温度零点三、零点九；通用对话和解答咨询，温度零点七、零点九五；创意写作和头脑风暴，温度一点二、候选范围一。

129
00:13:25,352 --> 00:13:29,547
局限要说清楚，参数调低不等于消灭幻觉。

130
00:13:29,547 --> 00:13:33,958
低温锁定的是最可能，而最可能不等于最正确。

131
00:13:33,958 --> 00:13:42,468
如果训练数据里那个问题本身就是错的，最高概率的词依然是错误答案，而且输出会极其稳定地错。

132
00:13:42,468 --> 00:13:49,992
它只影响随机性，不影响知识边界，模型不知道的事，低温下也照样编，只是编得更一致。

133
00:13:49,992 --> 00:13:55,701
第四种应对是评测加人工审核，这是唯一一个检测和纠正层。

134
00:13:55,701 --> 00:13:57,155
三个环节。

135
00:13:57,155 --> 00:14:04,908
上线前建立幻觉测试集，用一批已知正确答案的问题测出幻觉率，设定准入门槛。

136
00:14:04,908 --> 00:14:12,828
上线后做分级审核，按风险等级自动路由，低风险直接发出，高风险先人工审核再发送。

137
00:14:12,828 --> 00:14:21,482
持续优化阶段建立错误反馈闭环，把审核中发现的案例收集起来，反哺模型优化和提示词调整。

138
00:14:21,482 --> 00:14:23,910
这里有三句该记住的话。

139
00:14:23,910 --> 00:14:33,381
幻觉率不可能等于零，所有模型都有幻觉，产品经理的目标是把它控制在业务可接受的阈值内，追求消灭并不现实。

140
00:14:33,381 --> 00:14:41,374
高风险必须人工兜底，医疗、法律、金融场景，它只做初稿，最终确认必须有人签字。

141
00:14:41,374 --> 00:14:49,812
指标要写进需求文档，幻觉率低于百分之三，应该像加载时间低于两秒一样，成为可量化的验收标准。

142
00:14:49,970 --> 00:14:54,246
最后给你一份可以马上用的判断清单，一共五条。

143
00:14:54,196 --> 00:15:01,408
第一条，先建立一个底层认知，模型是词元推词元，输出什么取决于前文是什么。

144
00:15:01,408 --> 00:15:10,206
这条能解释后面所有的招数为什么有效，也能解释为什么换个任务不用重新训练，写段提示词就行。

145
00:15:10,206 --> 00:15:15,230
第二条，排查输出问题时，先看上下文里到底塞了什么。

146
00:15:15,230 --> 00:15:22,237
窗口过小会把系统指令整个截断，你以为它没理解需求，其实它根本没看到你的指令。

147
00:15:22,237 --> 00:15:25,927
第三条，四招按顺序上，不要跳步。

148
00:15:25,927 --> 00:15:31,817
提示词约束成本最低，先做，但要记住它对高度自信的错误无效。

149
00:15:31,817 --> 00:15:44,545
知识时效性强、有私有知识库、或者答错代价高的场景，必须上检索增强，并且配套检索命中率评测、引用来源强制显示和定期清洗知识库。

150
00:15:44,545 --> 00:15:49,281
第四条，成本优化的核心是判断什么时候不用检索。

151
00:15:49,281 --> 00:15:51,985
约七成的对话不需要检索。

152
00:15:51,985 --> 00:16:03,403
四种策略按效果排，模型路由省六到八成，关键词触发跳过三到七成，语义缓存省一半延迟和费用，精准切块提两到四成准确率。

153
00:16:03,403 --> 00:16:06,913
切块粒度取五百一十二到八百个词元。

154
00:16:06,913 --> 00:16:11,636
第五条，采样参数是第一道防线，但不能单独依赖。

155
00:16:11,636 --> 00:16:15,038
低温锁定的是最可能，不是最正确。

156
00:16:15,038 --> 00:16:22,694
高风险场景必须配人工兜底，并且把幻觉率写成可量化的验收指标，写进需求文档。

157
00:16:22,694 --> 00:16:32,886
这五条的共同点是，承认幻觉消灭不了，然后把力气花在可控的地方，控制阈值、控制成本、控制高风险环节。

