跳至主要内容

基础概念

AI 为什么会产生幻觉?

语言模型说出错误答案时的自信语气,和说出正确答案时一模一样,因为它从来没被训练去知道自己不知道什么。幻觉为什么会发生、为什么无法彻底消除,以及真正能降低它的方法。

全部文章 · 最近核实:

这是一个自信的错误答案,不是模型能标记出来的故障

模型没有单独的"我不知道"模式可以切换。无论对错,每一次回答都来自同一个预测下一个词元的过程,所以一个编造的引用或一个不存在的 API 方法,读起来和正确答案一样流畅自信。这正是幻觉和普通软件故障的区别——不会抛出异常,不会有任何标记,没有东西可以被捕获。无论输出对错,看起来同样值得信赖。

为什么会发生:预测,而非查找

语言模型被训练来预测文本中合理的下一步,这些能力来自训练数据里的模式。它不像数据库那样以可检索、可核实的形式存储事实——它存储的是语言的统计形态,其中包括那些在训练中出现得足够频繁、从而塑造了这种形态的事实。当提示词要求的内容是模型很少见过、见过但前后矛盾、或完全没见过的,模型不会拒绝回答,它依然会生成最合理的下一步,因为这是它唯一会做的事。

这也解释了为什么幻觉在具体、罕见或较新的细节上更严重——一个听起来真实却是编造的判例、一个看似合理却错误的版本号、一个听起来像真实论文标题的引用。说法越具体,模型用"仅仅合理"而非"确实已知"的内容去填补空白的可能性就越大。

引证缩小差距,但不能消除它

在模型回答之前把真实的源文本放在它面前——检索,参见什么是 RAG——能在那些源文本确实覆盖的问题上,可衡量地减少幻觉,因为模型可以复述刚读到的内容,而不是仅靠训练数据去预测。但这只是一种强烈的倾向,不是保证:如果检索没有返回有用的内容,或者来源不完整,模型仍然可能流畅地凭记忆作答,而不是承认来源没有帮上忙。

交叉比对多个模型是过滤器,不是解药

把同一个问题发给多个模型并比较答案,能抓住某个模型训练或特性所特有的幻觉——如果三个模型里只有一个编造了某个细节,这种分歧就是一个信号。但它抓不住大多数模型共有的幻觉,因为不同提供商的训练数据本身就有重叠。用另一个模型来当评判、给答案打分,也存在同样的局限:评判模型同样可能被那种流畅、自信又错误的文字所欺骗——而这恰恰是它本该识别出来的东西。

实际中真正能降低幻觉的方法

没有单一技术能消除幻觉,因为这是这些模型生成文本方式的固有特性,而不是某个模型或提供商特有的缺陷。真正能带来可衡量效果的是收窄模型的任务范围:对来源能覆盖的问题,把答案锚定在检索到的源文本上;让请求保持具体,而不是开放式的;把模型自己给出的引用、数字和具体细节当作需要核实的说法,而不是已经核实过的事实。把引证、多模型交叉比对和对照来源的核实结合起来,比单独使用任何一种都能更多地缩小出错的空间。

为什么降低随机性解决不了问题

人们常常以为降低温度(参见温度和 top-p)能让模型更诚实,因为输出看起来更谨慎、更确定。温度控制的是模型如何在可能的下一个词元中采样——它不会改变模型知道什么,也不会添加任何事实核查步骤。模型在温度为零时产生幻觉的自信程度,和温度为一时一样;更低的设置只会让它更一致地重复同一个错误答案。

常见问题

幻觉能被彻底解决吗?
不能,至少现有的语言模型架构做不到。它源于这些模型生成文本的方式——预测合理的下一步,而不是核对事实——所以可以靠引证、多模型交叉比对和核实来降低,但无法作为一个类别被彻底消除。
更大或更新的模型幻觉会更少吗?
在常见知识上通常会更少,因为其中更多内容在训练中得到了充分体现。但这不会消除背后的机制——对于训练不足的罕见、具体或较新的细节,更新的模型仍然可能自信地产生幻觉。
幻觉和模型说谎是一回事吗?
不是。说谎意味着明知真相却故意说相反的话。模型没有一个单独的"真相"通道可以用来核对自己的输出——它生成的是统计上最合理的下一步,无论这个结果碰巧是否准确。
把自己的文档提供给模型能阻止幻觉吗?
对于那些文档确实能回答的问题,这会显著降低幻觉,因为模型可以复述检索到的文本,而不是仅靠训练数据去预测。但当检索找不到相关内容时,这并不能阻止模型流畅地凭记忆作答。

与其阅读,不如亲自试试

ClawAI 并不宣称能消除幻觉——没有哪个产品能诚实地这样说。它提供的是能可衡量地缩小幻觉的措施:基于检索、锚定在你自己文档上的回答(参见什么是 RAG)、能揭示模型间分歧的多模型共识(参见什么是 AI 共识),以及按既定标准给答案打分的 AI 评判(参见什么是 AI 评判)——三项真实存在、彼此独立的功能,每一项都只是部分过滤,而不是保证。