问一个模型某个冷门软件的配置方法,它给出三条步骤,语气笃定,还配上命令示例。照着做,第一步就报错。再追问,它道歉,换个说法,又给出另一套同样自信的答案。这种体验,用过生成式工具的人大概都不陌生。
人们把这类现象叫作模型幻觉。它指模型生成了看似合理、实则与事实不符或缺乏依据的内容。麻烦之处不在于错,而在于错得流畅、错得像真的。
它不是“撒谎”,是“接着往下写”
理解幻觉,得先放下一个直觉:模型不是在数据库里查答案,再把答案复述给你。它做的是根据上文预测下一个词,一个接一个地生成。训练中它见过大量文本,学到了语言里的搭配规律、行文习惯和常见结构。于是当问题落在它熟悉的模式里,回答往往靠谱;一旦落在稀疏地带,它仍会沿用同样的方式往下写。
这就是关键:生成过程没有内置的“我不知道”开关。空缺处会被最像样的词填满,而“最像样”不等于“正确”。所以模型幻觉常常出现在长尾问题上——越是资料少、越少被讨论的细节,越容易长出没有依据的内容。
另一个常被忽略的因素是训练目标。模型被鼓励给出有帮助、连贯的回答,而不是被鼓励在不确定时停下来。这种倾向叠加语言的顺滑感,就形成了那种令人不安的自信。
为什么“再问一遍”不一定有用
很多人靠反复追问来验证。问三次,答案一致就放心。这个办法有局限:如果三次都沿着同一条错误路径生成,一致性反而会放大错觉。
更实际的做法是换一种验证方式。让它给出依据,而不是只给结论;把问题拆成几个可核对的小问题;或者把它的输出当作草稿,再拿去和原始资料对照。对于需要精确数字、引文、法规条款的场合,把模型输出直接当定稿,风险不小。
也有人尝试用检索增强的方式,让模型先查资料再回答。这能减少一部分幻觉,但不能完全消除,因为模型仍要理解、筛选并组织那些材料,环节里依然有出错的余地。
边界在哪,取决于你怎么用
把模型幻觉当成纯粹的缺陷,容易得出“不可用”的结论;把它当成无关紧要的小毛病,又会付出代价。更合适的视角是:它是一种可预期的特性,随任务类型变化。
在开放式写作、头脑风暴、改写润色这类任务里,幻觉的伤害有限,甚至偶尔带来意外的联想。在事实查询、代码依赖、合同条款、操作步骤这类任务里,一个虚构的细节就可能让整段内容作废。同一种能力,落在不同场景,风险差别很大。
所以判断一个模型是否可靠,不能只看它答得顺不顺,而要看它在你关心的那类问题上,是否愿意承认不确定。有些系统会给出置信提示,有些会附上来源,这些都是有用的信号。但最终的责任仍在使用者这边:清楚自己在问什么,也知道答案需要被核到什么程度。
模型幻觉大概不会彻底消失。它来自生成方式本身,而不是某个可以打补丁的漏洞。与其期待一个永远不说错的工具,不如建立起一套与它相处的方法:在需要准确的地方保持怀疑,在可以容错的地方放手使用。这份分寸感,比任何一次回答都更值得保留。