上一篇文章说了下AI的幻觉问题和长对话问题。
AI为什么会产生幻觉、忘记上下文?聊聊AI使用过程中最难避开的两个问题?
但朋友看过之后告诉我AI幻觉到底是个什么东西还是一知半解,我解释的太潦草了,这篇文章就再补充一下。。。
之前聊 AI 幻觉的时候,我说过,大语言模型最擅长的事情,不是查询正确答案,而是根据输入内容、训练得到的参数和当前上下文,不断生成后续最合适的文字,最终组成完整回答。
这可能可以解释一部分幻觉,但其实还不够,因为继续往下问,很快就会碰到几个问题:
AI为什么知道后面应该生成什么?
它回答问题之前,到底学过什么?
网上经常说“大模型用海量数据训练”,这些数据到底是什么?
还有一个最重要的问题:如果 AI 只是不断预测后面的文字,它为什么最后能表现得像真的“懂”了一样?
这篇文章就从这里开始,我们先把大模型当成一个刚出生、什么都不会的人,看看它到底是怎么一步一步学会说话的。
一、别把AI想成百度,它更像一个读了海量资料的人
很多人第一次接触 ChatGPT,会下意识把它理解成一个超级搜索引擎。
你问:
为什么昨晚熬夜以后,今天上班特别困?
然后想象 AI 内部发生的是:
搜索“熬夜为什么会困”
找到答案
把答案整理一下
发给你
如果开启了联网搜索,有些时候确实会经过类似的过程,但一个大语言模型本身,不是这么工作的,要理解它,先得知道它小时候读过什么。
按照 OpenAI 截至 2026 年最新公开的信息,他们开发模型使用的数据主要来自几种地方:公开互联网上可以访问的信息、与第三方合作获得的数据、用户或人工训练人员以及研究人员提供或生成的数据,还有现在越来越重要的一类——合成数据,也就是通过 AI 等方式生成出来、再经过筛选处理的训练材料。
这些数据不是只有文字,还可能包括图像、音频、视频等内容。OpenAI 目前披露的训练数据规模已经达到 数万亿级 Token。(Token 这个词大家想必也是耳熟能详,不管它被翻译成什么,现在先简单理解成“模型读进去的一小块内容”就行。)所以一个模型在正式上线之前,已经接触过极其庞大的信息。
比如互联网上可能有无数句话都在表达类似的意思:
昨晚三点才睡,今天上班困死了。
连续熬夜几天,白天完全没精神。
睡眠不足会影响第二天的精神状态。
昨天加班到半夜,今天开会一直打哈欠。
人看多了这些东西,会发现一个规律:
熬夜、睡眠不足、困、没精神,这几个东西关系很大。
AI也是在学这种关系。
OpenAI 对模型训练的官方解释是:模型在学习过程中会不断调整内部大量的数字,也就是常说的“参数”或者“权重”。训练结束以后,模型主要保留下来的是从数据里学到的各种模式和关系,而不是简单保存一套可以随时搜索的原始文章副本。
这个概念如果觉得抽象,可以换一个很生活化的例子。
你现在应该会说很多成语。
比如:
鞠躬尽瘁。
但你大概率已经不记得,自己人生第一次是在几年级、哪一本书、哪一页看到“鞠躬尽瘁”的,那一页课本你忘了,但是这个成语你就是理解了。
甚至别人说:
用一个成语概况诸葛亮的一生。
你很自然就能接:
鞠躬尽瘁。
模型训练完成以后的状态,某种程度上可以用这个例子帮助理解,它未必保存着“我究竟从哪句话学到了这件事”的明确索引,但大量学习会改变它内部的参数,让很多语言、概念和知识之间形成关系。
当然,大模型和人脑的工作原理并不一样。这里拿人学习成语举例,只是为了帮助理解一件事:
学习,不等于把所有教材原封不动地背下来。
二、那AI到底是怎么学的?其实一开始就是不断“猜后半句”
假设训练资料里有一句话:
昨天晚上加班到十一点,回家太累不想做饭,我就点了份外卖。
模型训练的时候,可以先把它理解成在做一道题:
昨天晚上加班到十一点,回家太累不想做饭,我就点了份____。
刚开始的时候,模型什么都不会,它可能觉得后面接什么都差不多:
外卖,好像可以。
咖啡,也不是不行。
出租车,好像也见过。
电视机……也先给一点可能性吧。
然后训练系统告诉它:这次真正出现的是“外卖”。
于是模型内部那些数字会被稍微调整一点。
下一次又看到:
今天下大雨,中午实在懒得出去,所以叫了份____。
答案又是“外卖”。
以后又看到:
晚上不知道吃什么,我打开手机准备点____。
还是和外卖有关。
这样的学习不是做几十次几百次,而是在巨大规模的数据上不断重复,慢慢地,模型就会发现:
“下雨不想出门”“太累不想做饭”“肚子饿”“打开点餐软件”和“外卖”之间,经常存在联系。
没人专门给它写过一条程序:
如果一个人不想做饭,那么答案等于外卖。
它是自己从大量例子里,把这种规律学出来的。
OpenAI 目前对基础模型训练过程的公开说明也是类似的:训练早期,模型的预测可能接近随机;随着不断处理大量内容,它会越来越擅长识别其中的模式,并预测后面更可能出现什么,这一步其实特别重要,因为很多人会问:
AI明明只是猜下一个词,怎么最后连写代码、解释历史、分析文章都会了?
你可以这样想,如果你只让一个小孩猜十句话的下半句,他当然学不到多少东西。但是,假如一个系统看过的内容规模大到难以想象,而且为了猜对后面的内容,它必须逐渐搞清楚:谁和谁有关系、什么事情通常会导致什么结果、一句话前后是什么逻辑、一种代码写法下一步通常是什么、一个问题正常情况下应该怎么回答,那最后它学到的,就已经不只是“哪个词经常跟在哪个词后面”,它会逐渐学到大量更复杂的关系。
这也是为什么今天的大模型看起来远远不像手机输入法,手机输入法也会猜下一个词,但大模型为了把这个“猜后面是什么”的任务做得足够好,已经学习了极其复杂的语言和世界规律。
三、你真正给AI发一句话以后,它内部在干什么?
现在训练已经结束,我们真的来问它一句:
昨晚熬夜到三点,今天上班困得不行,有什么办法精神一点?
首先,AI不会像人一样直接看到完整汉字,然后在脑子里产生感觉,它需要先把这句话变成自己能计算的东西。
第一步,就是 Token,还是那句话,不管它究竟被翻译成什么,我们就把它理解成:
模型阅读文字时使用的小块。
它有时候可能是一个字,有时候是一个词的一部分,有时候是一个完整单词,也可能是标点。OpenAI 在 2026 年最新更新的 Token 官方说明里也是这么定义的:模型先把输入文本分成 Token,再处理这些 Token,最后再一个 Token 一个 Token 地生成输出。
对于计算机来说,“熬夜”“困”“三点”这些词本身没有感觉。所以它还需要把每一个 Token 变成一串数字。对此,我们也不用记专业名字,只需要理解成:
模型要把文字翻译成数学。
比如现实里,“熬夜”“睡眠不足”“困”“疲劳”明显有关系,而“熬夜”和“挖掘机”的关系通常没那么强。对于人来说,这种关系存在于我们脑海里,潜意识里,对于模型来说,经过训练以后,这种关系会体现在模型内部的数字表示里。于是模型已经不是在机械地看几个孤立的字,而是开始计算:
这句话主要在说什么?
哪些地方之间关系比较大?
还是刚才那句话:
昨晚熬夜到三点,今天上班困得不行,有什么办法精神一点?
当模型处理“困”这个信息的时候,“熬夜到三点”显然非常重要,“上班”也重要,因为这意味着用户现在不能直接躺床上睡一天,而“昨晚”两个字本身,相对来说没有“熬夜到三点”那么关键。
模型需要有一种能力:
看到一句话里的某个部分时,知道应该重点参考前面的哪些内容。
这就是经常听到的 Attention,也就是“注意力机制”。这个技术本身要真讲起来会涉及很多数学,但如果只是理解原理,一句话已经够了:
简单理解,Attention 就是在帮模型判断:眼前这句话里,谁和谁的关系比较重要。
比如:
苹果很好吃。
“苹果”应该和“好吃”联系起来,所以这里更像水果。
然而:
苹果刚刚发布了一款新手机。
这里“苹果”会和“发布”“手机”产生很强的联系,所以模型理解的就更接近一家公司。
“苹果”两个字没变,变的是上下文。而 Attention 的一个重要作用,就是让模型根据上下文判断这些关系。
四、真正神奇的地方来了:它最后还是要“猜”
前面的事情做完以后,模型终于准备回答:
昨晚熬夜到三点,今天上班困得不行怎么办?
假设它已经生成了半句话:
如果只是偶尔熬夜,今天可以先……
接下来应该说什么?这时候模型会对很多可能出现的内容进行计算,为了方便理解,我们假设结果大概是:
补觉:比较可能
休息:比较可能
喝:也有可能
开车:可能性很低
买一台冰箱:基本不搭边
真实模型当然不会用“比较可能”这几个字,它算出来的是一堆数字。然后再通过计算,把这些数字转换成一个概率分布,再结合当前的生成策略,从这些候选里选出接下来要生成的 Token。假设最后生成的是:
休息。
到这里还没结束,它不会一次性把后面五百字都从脑子里拿出来,现在它眼前的内容变成了:
你的原问题 + 如果只是偶尔熬夜,今天可以先休息……
然后它再根据这一整段内容,重新计算:
下一个 Token 是什么?
生成一个,再放回上下文,再计算,再生成。所以你现在看到我回答你的几百上千字,本质上是这样一点点长出来的。这也是为什么“大模型生成答案”这个说法比“从数据库里取答案”更准确。
数据库更像:
查到了,给你。
语言模型更像:
根据目前知道的一切,我判断接下来应该这么说。
五、现在终于可以真正理解幻觉了
假设你问 AI:
我家楼下那家老陈烧烤,老板年轻时是做什么工作的?
这家店非常小,老板也没有接受过采访,网上没有工商人物介绍,没有新闻报道,也没有任何可靠资料说过他以前干什么。
也就是说:
模型其实没有足够信息知道答案。
如果这是数据库,事情非常简单,查不到就是查不到。但大语言模型最基础的能力不是“查不到就返回空”,它仍然会尝试完成自己非常擅长的事情:
根据前面的内容,判断后面什么最像一个合理回答。
现在它看到:
烧烤店、老板、年轻时、以前的工作。
而过去训练数据里,很可能有大量这样的故事:
某餐馆老板年轻时是一名厨师,后来自己创业。
某烧烤店老板曾在饭店后厨工作多年。
某餐饮创业者积累经验后开了自己的店。
这些内容之间有很强的规律,于是当模型继续生成:
老陈年轻时曾经是一名……
“厨师”就可能成为一个非常顺的答案,从语言和常识上看,它当然比“空调维修工”自然得多,可现实中的老陈,偏偏可能就是修了十年空调。这时候发生了一件非常值得注意的事:
模型没有在胡乱输出乱码。
恰恰相反,它是在按照自己学到的规律,生成一个非常合理的答案,只不过:
合理,不代表真实。
不过,如果只把幻觉理解成“模型在预测下一个 Token 的时候猜错了”,其实还是不够完整。因为现实世界里有一类事实,本来就很难单纯靠语言规律推出来。
比如问大模型:老陈到底是哪一年出生的?
如果训练数据里根本没有可靠地出现过这个信息,那模型看再多“烧烤店老板”的故事,也不可能通过规律把老陈真正的出生年份推出来。
更麻烦的是,一些传统的训练目标和评测方式,还可能形成一种错误的激励:相比承认“不知道”,模型更容易因为“猜一个答案”而获得更好的分数。OpenAI 在研究大模型为什么会产生幻觉时,也专门讨论过这个问题:很多传统评测主要看“答对了多少”,却没有充分区分“答错”和“承认不知道”。如果整个模型开发过程都围绕这种指标优化,就可能间接鼓励模型在不确定的时候继续猜。
所以幻觉并不只是“预测下一个 Token 偶尔预测错了”这么简单。更完整地说,模型是在通过规律生成答案,但现实世界里有很多具体事实根本不能只靠规律推出来;而如果训练和评测又让模型更倾向于回答而不是承认不知道,就更容易出现一个“听起来特别合理,实际上却没有依据”的答案。
这就是理解幻觉最关键的一层。很多人把幻觉理解成“AI偶尔抽风”,其实不是这么简单,语言模型非常重要的一项能力,就是在给定上下文以后,生成最合理的后续内容,而现实世界的事实问题要求的是:
这件事情到底有没有真正发生过?
这两个目标,本来就不是完全相同的目标,所以模型可能在第一件事上做得很好:
“一个烧烤店老板的创业故事应该怎么讲,我太会了。”
同时在第二件事情上彻底失败:
“这个具体老板到底有没有当过厨师,我其实不知道。”
于是一个听起来非常合理的假答案就出现了,更麻烦的是,它还会越说越真。
假设第一句话已经生成:
老陈年轻时是一名厨师。
那么“老陈以前是厨师”这件事,现在已经进入模型自己的上下文,接下来它继续预测的时候,就会基于这个前提往下写:
他在饭店后厨工作多年……
有了“后厨工作多年”,下一句:
积累经验以后决定自己创业……
再继续:
2015 年开出了第一家烧烤店……
如果一路生成下去,最后甚至可能出现:
最开始店里只有六张桌子,因为味道好慢慢积累了第一批熟客。
这时候一个完全不知道原始情况的人读到这里,很容易产生一个错觉:
都说到哪年创业、几张桌子了,这应该是真的吧?
其实完全相反,有可能从第一句“以前是一名厨师”开始,就已经没有依据,后面的细节,只是在一个错误前提上继续生成出了越来越完整的故事,这也是幻觉为什么这么危险。胡说八道并不可怕,比如 AI 回答:
老陈年轻时在月球上修火箭。
你一眼就知道不可信,真正危险的是:
老陈以前是厨师,在饭店干了八年,2015 年辞职创业。
每一句都符合常识,每一句都像采访资料,但可能一句都没查到。
六、现在的大模型已经会“思考”,为什么还是会幻觉?
到这里可能又会有一个问题,上面讲的听起来很像早期语言模型,但现在已经是 2026 年,GPT-5.6 这种模型不是还有推理能力吗?
确实如此。
根据 OpenAI 2026 年 7 月发布、8 月继续更新的 GPT-5.6 官方资料,推理模型会通过强化学习进一步训练,让模型在回答之前进行更多内部推理,包括尝试不同思路、发现错误、修正策略,而不是只凭第一个直觉直接回答。
所以现在的过程更像:用户提问以后,模型不一定马上把第一反应说出来,它可能先进行内部推理:
这个问题需要算一下。
这里好像有矛盾。
我刚才这个思路不对,换一个。
这是实时事实,最好先查资料。
这显然比最早期的模型可靠得多,但它没有改变一个基本事实:
模型本身依然不是一个永远准确的现实世界数据库。
OpenAI 在 2026 年 8 月针对 GPT-5.6 的最新安全更新里,仍然专门测试 Hallucinations,也就是幻觉,并且专门设计了事实密集问题、过去用户标记过的错误、高风险场景等测试。GPT-5.6 的事实错误相比前代已经继续下降,但没有变成零,原因其实很好理解,推理能力可以帮助模型发现:
“我这个答案好像不太确定。”
但如果某个现实事实压根不在当前信息里,再聪明的推理也不能凭空把事实变出来。你不知道楼下老陈以前干什么,我给你一个小时认真思考,你还是不知道,除非:
去查。
这也正是联网搜索、RAG、数据库和工具调用越来越重要的原因,它们其实是在给语言模型补上一块它天生不擅长独立完成的工作:
去现实世界里找证据。
如果模型搜索到老陈本人的采访:
“我以前做了八年空调维修。”
那么问题就完全不同了,现在模型不再需要根据“烧烤老板通常以前干什么”来猜,它面前已经有了事实,接下来只需要把事实组织成人类容易理解的语言。所以:
模型负责理解和表达,外部资料负责提供事实。
通常会比:
让模型一个人又负责记住全世界、又负责判断真假、又负责组织答案
可靠得多。
最后,再用最简单的话把幻觉讲一遍
大模型上线以前,会接触海量的数据。它通过这些数据不断学习:
人类通常怎么说话,什么事情和什么事情有关系,一个问题后面通常会出现什么样的答案。
这种学习最终会变成模型内部大量的参数,等到你真的问它问题的时候,它会先把你的文字变成自己能够计算的形式,分析整句话里哪些内容之间关系最重要,然后一步一步预测:
接下来什么内容最合适?
这套能力非常强,强到它可以写代码、写文章、解释问题、聊天、翻译,也可以回答各种复杂问题。但这里始终有一道缝:
“最合适出现的答案”和“现实世界真正的事实”,不是同一个东西。
当模型拥有足够可靠的信息时,两者往往是一致的,于是你感觉:
AI真的懂。
当模型没有掌握足够可靠的信息,或者虽然学过相关信息、这一次却没能正确调用出来时,它仍然可能根据过去学到的规律继续生成。这时候,“最适合接下来说什么”和“现实中真正发生了什么”,就可能逐渐分开。于是模型最终给出的答案可能很合理、很专业、很详细、前后完全说得通,但其中一些内容并没有可靠依据,甚至现实里根本不存在,这就是我们通常说的幻觉。
现在也就不难理解为什么 2026 年最先进的大模型依然没有彻底消灭幻觉了。这不只是一个简单的程序 Bug,它和大语言模型最核心的工作方式,本身就有关系。
参考资料
本文涉及 GPT-5.6 当前训练方式、幻觉评测、训练数据来源、Token 与模型参数等技术事实,主要参考 OpenAI 截至 2026 年 9 月可查询的最新官方资料:
- OpenAI《GPT-5.6 System Card》,2026 年 7 月发布。
- OpenAI《GPT-5.6 — August Updates》,2026 年 8 月更新。
- OpenAI Help Center《How ChatGPT and our foundation models are developed》,截至本文撰写时 4 天前更新。
- OpenAI Help Center《Training Data Summary Pursuant to California Civil Code Section 3111》,截至本文撰写时当天更新。
- OpenAI Help Center《Understanding and counting tokens》,截至本文撰写时当天更新。

1128

被折叠的 条评论
为什么被折叠?



