自打发布新一代模型 GPT-5 之后,OpenAI 收获了大片骂声。
人们纷纷表示 GPT-5 “ 变蠢了 ”“ 没创造力了 ”“ 不灵动了 ”“ 回答很干瘪 ”。
实际上,这并不是一个让人意外的结果,因为 GPT-5 的其中一个特性是幻觉率显著降低,而降低模型幻觉率的一个主要代价就是模型的输出会显得更呆板。
通俗来说就是模型变得更严谨,但主观能动性变弱了,这一点其实对于写代码、Agent 构建是很有好处的,只是 ChatGPT 的主要面向的消费级用户对此需求并不高。并且 GPT-5 变得非常被动,以至于需要非常详细的提示词才能很好地驱动( 当然如果需求写得好,GPT-5 是很可靠的 ),不像之前会积极地预估用户的意图,原本快要丢掉的提示词技能又得捡起来,这对于被 AI 惯坏的一大批用户又是一记背刺。
从原理上来讲,大模型生成的内容是概率产物,模型本质意义上是一个条件概率分布的近似器,它的创造力来自于更宽松的概率分布,而当你想让它答案更精准、低幻觉时,它的概率分布必然收紧,这样的收紧减少了有更多创造力的可能。
这就像一个人,你想让他更严谨、符合逻辑的去创作,他就会被钳制,无法天马行空。
然而有趣的是,早前大家都在吐槽各家大模型的幻觉率太高并且愈演愈烈,认为这是一种 “ 病 ”,厂商们也使出浑身解数来治这个 “ 病 ”,微调、RAG、MCP 等新 “ 药方 ” 一个接一个。
现在,高幻觉率的问题被一定程度解决,大家又吐槽模型回答得不够好,这就陷入了一种无法打破的死循环。
那么,厂商们到底该如何正确地看待 AI 幻觉呢?
为探究这个话题,知危与阿里巴巴大淘宝技术营销前台技术负责人甄焱鲲进行了对谈。
甄焱鲲首先跟知危分享了自己对 GPT-5 被 “ 讨伐 ” 现象的理解和亲身使用体验:“ 许多人赞赏其在数学、科学和代理任务上的进步,但也批评它在创意写作上不如 GPT-4.5 或 4o,输出更通用、缺乏情感深度,甚至出现 ‘ LLM 废话 ’。 基准测试中,它在 SimpleBench 上仅得 56.7%,排名第五,远低于预期。 用户 ‘ 起义 ’ 主要源于模型感觉像降级:响应迟钝、幻觉增多、错误意外,以及未公布的更改导致创意和质量下降。”
“ 而我的直观感受是:出现幻觉的概率确实下降了,我用了大概三天的时间,提了一些哲学、编程和人工智能相关的问题,在一些生僻概念的理解上考察模型的输出,还是有非常不错的效果,例如:GPT-5 不会把我自创的英文缩写( 一些技术架构里的缩略语 )错误拆分了,比如 ‘ AIGUI ’ 这个概念不会如 GPT-4o 般拆分成 ‘ AI GUI ’ 了。”
在对谈过程中,甄焱鲲多次强调,把幻觉单纯当成一个 “ 病 ”,是片面的。
目前已经有研究指出,大语言模型理论上不可能完全消除幻觉。还有研究表明,越抑制幻觉,大语言模型的泛化性越差,也就是能够适用的场景越受限,这与业界希望全方位推广 AI 的愿景显然是相悖的。
这其实也反映出,幻觉带来的影响并非永远都是负面的,需要辩证看待。
正如甄焱鲲告诉知危:幻觉是不是幻觉、幻觉的影响是不是负面、幻觉的负面影响有多大,都是相对的,和使用者的能力和需求、场景的特性和需求、使用前后效率对比、现实世界的变化等因素都有关。
以下是知危与甄焱鲲的对话原文,经过了不改变原意的编辑。
一、幻觉的类型
知危:能请您介绍一下大模型实际应用中常见的幻觉类型吗?
甄焱鲲:大模型的 “ 幻觉 ” 指的是 AI 系统生成或推断出与人类经验不符的内容或结论。
这里 “ 人类经验 ” 必须是 “ 正确 ” 的,限于个人认知的差异,所以必须认识到 “ 幻觉 ” 也是相对的。
在大模型应用中,幻觉无法完全避免。
可以将幻觉分为 5 个类别:语言生成中的幻觉、推理与逻辑错误、过度简化与常识错误、数据错误或无依据推理、时效性错误。
语言生成中的幻觉是大模型最常见的一种幻觉,尤其是在内容生成类的应用中。例如在生成代码时,AI 可能会编造 Library 或 API 来完成代码的生成。
大模型还可能在进行逻辑推理时产生错误。例如在使用 Roo Code 插件进行代码生成时,经常遇到指定上下文后,大模型仍然会根据项目中其它上下文做出错误的推理。
关于过度简化与常识错误,AI 虽然能够处理大量信息,但它在应对一些需要深度常识、实际经验的场景时,容易出现过度简化的情况。例如 AI 可能会说 “ 为了快速减肥,可以不吃任何食物 ”,这显然是不科学的。
关于数据错误或无依据推理,在某些场景下,AI 模型可能会基于不完全或者错误的数据生成答案( 尤其当训练样本中掺杂大模型生成的幻觉内容时更甚 )。例如,在医疗应用中,AI 根据患者的症状生成诊断建议,但如果这些症状与训练数据不匹配,或者训练数据本身存在偏差( 如某些相同指标数据指向不同病症,从而需要医生以个人理解进行具体判断的情况 ),模型就可能给出错误的诊断结果。
最后,幻觉很多时候来源于模型训练时知识和概念在时间上的局限性。
知危:大模型的幻觉会在企业应用中带来哪些负面影响与成本损耗?
甄焱鲲:关于幻觉可能产生的 “ 成本损耗 ”,需要代入到具体应用场景分析。
用户差异会带来巨大的成本评估差异。假设生产效率的影响小于大模型应用前的历史效率,总体上并不会产生 “ 成本损耗 ”。
比如。一个行政人员使用 Cursor 生产一个表格信息收集工具,即便生产效率低下错误频出,生产效率仍然可能大于:找产品提需求、找研发开发、找测试评估、找运维部署。因此,Cursor 虽然经常犯错误,仍然有大量用户,因为用户认为 Cursor 的效率是大于自身的。
但若这个场景的用户是研发人员,错误频出带来的效率降低,显著大于:安装依赖、查找文档、编写代码,那么 Cursor 在这个场景大概率会被研发人员抛弃。
所以,成本损耗和效率的影响都是相对的。
进一步看,幻觉的负面影响还可以分为两类:
预测错误,如果“错误”易于识别,则影响的是生产效率;
如果 “ 错误 ” 难以识别(例如预测错误发生在使用者不熟悉的领域),则影响的是应用效果。
知危:如何根据幻觉率高低进行产品落地可行性决策?
甄焱鲲:如果大模型的幻觉率过高,特别是在关键决策领域( 如医疗、金融、法律等 ),则这些产品的应用将面临严重的挑战。对于这类应用,企业的目标是尽量减少错误和幻觉,因为一个错误的决策可能导致巨大的财务损失或法律责任。
对于一些风险容忍度较高的应用场景( 如内容推荐、广告投放等 ),企业会接受一定程度的幻觉,毕竟这些应用的目的是提升用户体验和增加商业效益,而不完全是做出精准决策。
通常,企业会设置一个 “ 安全边界 ” 来限定幻觉率,确保在可接受范围内。过高的幻觉率会增加企业的风险和成本,过低的幻觉率则可能意味着模型的复杂度和计算成本过高,导致收益无法覆盖成本。
二、缓解幻觉的成效
知危:目前,为了缓解幻觉问题,一般会采用哪些方法?实践效果如何?
甄焱鲲:当下常用的方案有三种:合适的模型、In-Context-Learning、微调。
首先,海量参数的大模型因为 “ Scaling Law ” 会缓解幻觉出现的概率;其次,借助各种提示词工程和 RAG 等技术,“ In Context Learning ”( 在不进行参数更新的情况下,通过在输入中提供示例来学习和完成新任务 )被实践证明能够大幅降低幻觉出现的概率;最后,使用 “ 继续训练 ” 的微调技术,在一些场景中可以一定程度降低幻觉。
为缓解语言生成幻觉和过度简化幻觉,一般采用扩大训练样本和模型参数来解决,即采用更合适的模型。
为缓解逻辑推理错误,在 MCP 生态出来后,最火的就是:Sequential Thinking MCP Server,帮助大模型把复杂问题降级为诸多微任务,以期待降低大模型出现幻觉的概率。这属于 In-Context Learning 方法。
缓解数据错误或无依据推理幻觉一般也是采用 In-Context Learning 方法。
为缓解时效性局限带来的幻觉,比如编程领域,现在行业里有很多人在用 Context Server,也就是 MCP 的 Server,当调用 API 时,它能帮我检查这个 API 的最新版本文档和接口参数说明,避免使用了老版本的 API,保证生成代码的准确性,这属于 In-Context Learning 方法。
医疗、金融、法务等行业对精度要求非常高,使用 RAG 最多的就是这些行业。但是,由于 RAG 需要向量存储、检索服务,且会大幅度增加计算成本,某些行业的特定领域使用大模型微调技术,降低 RAG 带来的成本,也能找到成本与效果的平衡点。
对于内容推荐、广告投放等可以容忍一定程度错误的应用场景,AI 的幻觉率可以稍高一些,同时开发成本也会降低。最典型的例子就是 “ mini-gpt ” 开源项目,仅用几个小时训练一个几百兆大小的小模型,就可以很好地生成儿童绘本级别的小故事。
中低精度要求和更低成本的情况下,小尺寸模型也是能接受的,比如 Qwen3-0.6B,In-Context-Learning 可以不使用或简单使用,可以使用少量( 数百、千条数据即可 )行业优秀的案例数据进行微调,因为基础模型参数量小,微调的成本也不会太高。
但总体而言,微调的效果和风险还是普遍存在。模型通过微调从通用模型过渡到领域特定模型时,是有可能丢失原有的通用知识的。
而对于所谓垂直领域大模型,在我个人实践中发现,由于大部分场景都需要跨领域知识,反而使垂直领域大模型的应用效果受到限制,实际效果和微调技术基本持平。
最近行业里有一些论文在研究怎么让大语言模型实现 Self Learning,也就是说它能在服务过程中对自己的参数进行微调,随着使用不断学习和提升,克服时效性的局限。比如,麻省理工( MIT )最近提出的 Self Adapting Language Models( SEAL )是一种模型能够 “ 自行学习 ” 的技术:模型通过生成自己的合成训练数据并用于自我更新,迎向 “ 终生学习 ” 之路。但该方法仍存在 “ 灾难性遗忘 ”、计算资源高、学习调度复杂等挑战 。
当下,由于大模型的基础框架局限于 Transformer 和 Diffusion,并且在基础框架层面并没有显著的技术突破,上述方案应该在大模型基础框架技术变革前是有效的。
知危:为何说垂直领域大模型效果受限?从我们和医疗领域的专家交流来看,他们还是认为垂域模型比通用模型能力更强。
甄焱鲲:垂直领域大模型虽然掌握了行业知识,在特定任务上表现更好,比如在医疗这种病种类目极多、具备极强专业深度的领域。但在复杂推理或跨领域理解上仍显不足,尤其在任务更复杂、数据稀缺时更明显。
如果数据多样性有限而规则复杂,比如材料科学,训练出的模型往往倾向于 “ 记忆 ” 而不是建立泛化机制。只有当数据多样性足够高,才可能促进泛化。
最后,成本与收益不匹配。相比训练一个垂直大模型,微调已有模型 + 机制( 如 RAG )往往更低成本,效果也更稳健。
知危:医疗、金融、法律是使用 RAG 最多的行业,那么这些行业之间使用 RAG 的情况有哪些不同?
甄焱鲲:总体而言,只要是涉及到标准化流程或比较依赖规则、先验的工作,RAG 都会用得比较多。
其实 RAG 有不少局限性,不同行业使用 RAG 的场景需求也不同。
在法律行业,有时候应用中不只涉及法律法规,还包括案例、法律解释、政策等。这就比一般的 RAG 难度高一些,主要是时效性要求高,因为法律是在不断建设中的,各地对法律法规也可能有不同的解释。
在医疗行业,现在大语言模型在时序理解上的局限性,会限制 RAG 应用的效果。当前的 RAG 更多是对概念背后所代表的含义进行理解和解释。但是在医疗行业里,通常要解释的是临床数据和病例。
比如一个病人有一系列的检查、体检数据,包含各项指标在一定时间段比如一年内的变化情况。这些变化的含义不是简单通过 RAG 就能查询出来的。因为它有很大的个体性差异,比如性别、地域、年龄等各种因素的影响,也可能要结合上次检查和这次检查的对比,以及和其他类似患者的的对比。
不像其它领域,比如医疗领域可以直接生成病例、诊断书等,或者法律领域可以生成诉状、裁决书等,金融行业在应用 AI 时,最终产生的结果更多是偏向建议或者辅助性的。因为使用 AI 会产生的一些问题和风险,目前用 RAG 加大语言模型的方式是难以规避的。因此金融行业倾向于更严谨的方式,比如在里面穿插一些传统的机器学习算法,用来对决策背后可能产生的问题和风险进行估计。
知危:您的团队对幻觉缓解的技术路径探索经历了什么样的探索过程?关于微调和效果和风险可否深入探讨一下?
甄焱鲲:刚开始的时候,我们主要对模型做微调,或训练自己的 LoRA。比如轻办公领域,针对用户场景识别和服务推荐场景做微调或 LoRA。但我们发现,等花了半年甚至一年的时间训练并上线后,大语言模型自身更新带来的收益,往往已经超过了我们做这些工作的收益。
通过微调技术调整模型参数的时候,最大的问题在于参数调整可能带来一些无法预期的后果。比如模型本身是无法处理 “ 冲突 ” 的,如果新数据与模型原有知识发生了冲突,经常会发生 “ 正确 ” 的数据遮蔽了 “ 正确 ” 的知识,甚至会导致 “ 灾难性遗忘 ” 的情况发生。
“ 灾难性遗忘 ”( Catastrophic Forgetting,也称 catastrophic interference)是指模型在学习新任务或新知识时,严重遗忘先前所学能力的现象,尤其在顺序训练或持续微调中表现突出。即便是 AI 产品在服务过程中不断更新权重,即 Continual Learning,也只是一种微调,传统微调具备的缺点它都有。
在大型语言模型中,这种现象尤为关键:模型的知识分布式存储于权重中,当在新领域训练时,部分权重被重写,导致模型原有的广泛语言能力或事实知识退化。
在研究中,1B 到 7B 大小的 LLM 在持续微调后普遍出现灾难性遗忘,甚至随着模型规模增大( 但仍在这一范围内 ),遗忘现象反而更严重。
举个例子:一个针对医疗诊断微调的模型,可能会 “ 忘记 ” 基础的数学能力或一般写作能力。这个问题和大语言模型本身的技术特点相关,除非整个大语言模型技术发生本质性的革新,否则短期内这个问题比较难解决。
现在的大语言模型权重参数非常多,而且缺乏可解释性。更新某些权重时,会对哪些权重或者什么情况下的推理产生负面影响,目前很难评估。所以,灾难性遗忘或者权重冲突的具体原因,目前只能通过最终结果的评估来检验。
在实际测试对比下,In-Context Learning、RAG 往往比微调模型具有更好的泛化能力和稳定性。
总体来说,模型微调或者 LoRA 的效果,通常小于 RAG 的效果,因为 RAG 可以去修改数据,灵活性更强。而通过很多论文和行业数据都能看到,RAG 的效果一般又小于 In-Context Learning,因为后者是实时地把必要的知识或辅助信息当做 context 注入模型。
所以,后来我们更倾向于做 RAG、 In-Context Learning 这类优化。而实际上相比之下,目前我们 In-Context Learning 的应用还比较少。
原因在于 In-Context Learning 需要更丰富、结构化且准确的 context,而这些 context 比较难获取。比如现在要帮产品经理写一个新项目的产品文档,来做产品策划。产品的用户定位、功能定义、用户流程、UI 交互等,涉及多个领域。这些领域的知识和内容,要决定哪些需要提炼放入 context,去做 In-Context Learning,实际上有很大挑战。从目前实践效果来看,用工程或编程手段去解决,效果不如用 RAG 好。
但很多服务中,比如用户完成一件事后还会接着做下一件事,也就是当用户有连续性任务时,In-Context Learning 的应用门槛会相对低一些,因为可以知道用户当前场景变化和上一件事情的结果。
知危:为什么模型微调的工程周期那么长?相比之下,RAG、In-Context Learning 的工程周期如何?
甄焱鲲:模型微调的工程周期很长,影响因素很多。
首先,构建微调模型需要高质量、标注良好的领域数据,耗费的精力往往占真实训练的绝大部分。有人直接指出微调 90% 的精力花在 “ 提升数据质量 ” 上 。
其次,微调 LLM 不像一般模型那么轻松。需要性能强劲的基础设施和优化、维护能力。训练本身往往耗时数周,甚至更久。
再次,微调往往不是一次搞定的。需要反复调参、验证、修复 bug、对比多个模型版本。
最后也是最关键的是,LLM 这个基础模型可能每隔几个月就会迎来新版本,原来的微调成果很快就可能被 “ 超越 ”。社区反馈也提到,每次基础模型更新后,几乎都得从头再来一次微调 。
相比之下,RAG 通常只需数天甚至数小时即可部署,尤其用 Hugging Face 的 RAG-Token 示例几行代码搞定。
并且,RAG 整体工程流程简单,门槛低于深度培训。知识库变更最快,只需重新 embed 文档,完全无需重训模型。因此,可以实时响应信息变化。
社区普遍反馈道,相比代价高耗时的微调,RAG 简便且性价比更高。
对于 In-Context Learning ( ICL ),本质上只需构造好 prompt,可能还需要加入若干示例( few-shot ),基本不需要训练过程。工程实现几乎是几分钟到几小时搞定 prompt 设计、示例选取、效果验证。
对比微调,ICL 可谓 “ 立刻见效 ”。
知危:ICL 落地的具体挑战都有哪些?为何还无法很好地解决,以至于即便潜能更大,目前实际效果不如 RAG ?
甄焱鲲:挑战确实不少。ICL 的效果高度依赖于所选示例的质量,但 “ 哪些示例最具代表性、结构清晰、能覆盖多领域内容 ” 本身就很难定义。典型方法有基于语义相似度的检索( 如 embedding 距离 ),但往往不够精准。
具体使用时,会受到模型本身限制、内容、结构等方面的影响。
大模型( 如 GPT-4o )虽支持数百K token 输入,但仍难容纳大量多领域信息,尤其文档结构复杂时。
对于开放性( open )问题,过于贴近主题的上下文反而可能引起模型偏差或混淆。
同样一组示例,顺序不同可能得到完全不同的效果,但如何自动决定最佳顺序依然是开放问题。 更细节来看,示例之间的排版、结构、标签统一性、分割符等都能显著影响结果,而找到 “ 最优格式 ” 往往需要大量试验和经验。
在更宏观层面,涉及用户定位、功能框架、流程与 UI 等多个维度时,需要为每个层面提炼关键结构内容。但这些内容如何抽象成 prompt 示例并串联起来?目前仍缺乏清晰方法论。
最后,大模型在 ICL 中往往倾向使用 “ 捷径 ”( 比如表面模式或标签关联 ),而非真正理解多领域深层逻辑。这种 shortcut behavior 使得 prompt 构造更加敏感脆弱。这种走捷径的现象也是深度学习的老问题了。
知危:除了合适的模型、In-Context Learning、微调之外,据了解思维链、多智能体协同、重复采样投票等方法在降低幻觉方面也有应用,这些方法在企业中的使用效果如何?
甄焱鲲:我们也会借助思维链来减少幻觉。在前一段时间接入 MCP 的时候,用得比较多的,也是现在行业里比较常用的,就是Sequential Thinking MCP Server,也就是序列化思考。我们也会去模仿像 Cursor、Roo Code 等对任务的拆分以及任务规划的方式。
从我们的实践来看,确实能比较好地提升准确率。因为它能够更好地从当前任务中发现更多问题,并将实践过程中可能缺失的环节补充上去,毕竟有时候用户下的指令是比较粗糙的。
让大语言模型把粗糙的指令转化成 step-by-step 的详细指令和任务,带来的价值是毋庸置疑的。而且现在网上有很多开源项目,比如 Roo Code、Cline,这些是做软件工程的 AI Agent 插件,比如 VSCode 上的插件。我们也会去参考它们的源码,因为里面很多工程上的处理细节和提示词工程的细节,都是非常值得我们借鉴的。
通过多智能体协同来降低幻觉,比如一个模型输出,另一个模型评判,这种方式的幻觉缓解效果其实一般。
比如我们在使用 DeepSeek 的大语言模型进行代码生成的时候,如果用 reasoning 模型( DeepSeek R1 )和它的基座模型( DeepSeek V3 )进行对比,会发现生成质量有明显差异,生成偏好也不一样。不同模型的偏好不同,这就会导致一个问题:到底什么样的偏好才是对的?这在不同的具体业务场景下有不同的答案。
比如我们之前在实践中发现,在对一些代码进行 fix 的时候,用 DeepSeek 的基座模型,而不是 reasoning 模型,效果在某些情况下反而更好。因为 reasoning 模型有时候会把一些简单问题复杂化,浪费大量 token 和时间去 “ 思考 ”,但生成的结果可能还是差强人意。
单个模型重复采样后再做投票这种方法其实和多智能体方法是类似的。不管是多智能体,还是重复采样投票,除非它在工程上能提升整体的并发性能和效率,否则意义不大。
因为现在很多模型本身就是 MoE( Mixture of Experts )结构,这些模型内部已经在进行采样、投票、打分,调用不同的专家来解决问题。其实也可以把它看作是一个多智能体系统。比如最新的千问模型 Qwen3,在发布新版本时也说会把多智能体机制集成到模型内部。
这应该是一个技术趋势。因为在训练大语言模型时已经花费了大量数据,如果在训练过程中能保持一定的多样性,那么在输出阶段,通过一些数学上的优化手段去利用这种多样性,让它在最终结果中发挥价值,不管是多采样、多智能体还是多专家机制,最终都能在结果的有效性上带来比较好的价值。
从长远来看,模型的发展更倾向于把多智能体的能力集成化,尤其是在商业模型中,以提升整体对外服务效率。
而对于开源模型,现在有一个比较明显的趋势,就是模型参数量在变小,但性能反而在提升,将更多用于实现多智能体、多模型并发推理。
比如假设一个 1B 到 3B 的模型,它可以达到传统 32B 甚至 70B 模型的效果,就可以用于在设备端并行地进行推理。这时候可以把一些任务拆分给在某个特定领域表现比较好的专业小模型去处理。
最典型的例子是 Command R,它是最早用于命令行操作电脑的优秀模型。比如有一个编程任务,拆分后有些任务需要在命令行操作,比如初始化环境、批处理文件操作等,这时可以把这些任务分发给 Command R 这类模型去处理。
知危:Cursor、Roo Code 等对任务的拆分以及任务规划的方式有哪些特点?
甄焱鲲:Cursor 的任务拆分与规划最大的特点是原子化任务( Atomic Planning )。Cursor 强调把大的开发任务拆分成 “ 小勺子 ” 级别的小任务,每个任务聚焦当前相关文件和指令,避免信息过载和上下文混乱,并严格按必要的顺序执行子任务。在分配任务时明确指令,如 “ 重构 calculateTotal 函数以支持货币精算 ”,减少歧义。
Roo Code 也有类似的任务拆分与规划框架,它还支持多种模式,比如 Architect 负责规划与设计,Code 负责实施,Ask 负责解答与辅助。这些模式可以自由切换,任务拆分后可按阶段委派给最合适的模式。
知危:除了事实性的幻觉,目前推理模型中的思维链 “ 幻觉 ” 也受到了很多关注。比如推理过程和结论无关,推理方式不符合人类逻辑,重复推理、无效推理等。这些幻觉对企业应用的影响如何?
甄焱鲲:影响比较大。拿 Cursor 来说,它经常会在思维链中说:“ 我觉得这个问题是什么?所以我要尝试什么?” 然后思维链产生的结果可能是错的。错了之后它又说类似的话,结果可能又返回上一步错误,陷入死循环。很多时候我从程序员视角可以直观发现问题,但模型却不知道哪里出错,也无法做出有效修改。
本质上,现在大语言模型并不具备真正思维能力,它还是一种机械的模仿。
做软件的时候,经常有个不恰当的比喻:如果一个东西走起来像鸭子,看起来像鸭子,叫起来像鸭子,那它就是鸭子。但事实上这是不对的,而现在的大语言模型做的事情就是这样。
当模型参数量足够大,训练数据也足够多时,我们会觉得它好像在思考,因为预测下一个 token 的准确率比较高。维特根斯坦的相关理论也说明了语言和思维是直接相关的,我们无法超越语言去表达思维。
大语言模型通过大量语言资料训练,它的参数在一定程度上可以看作是固化的思维,也就是一些套路。这些套路能够解决重复出现的问题,但无法解决新问题。当套路无效时,模型仍会根据概率硬套这些套路,导致错误产生。
这是一个容易和 “ 幻觉 ” 混淆的点,即 “ 错误 ”。
重构软件工程项目时遇到这类问题的概率比较高。因为模型没有真正的全局思维,导致它在分析、推理和规划时,更多是在局部最优的层面解决问题。
这些错误并不是上下文长度的限制造成的。虽然上下文有限制,但推理时输入和内部权重参数之间会相互影响。即使给它更长、甚至无限的上下文,由于大语言模型算法架构和训练数据、方法的局限,注定还是会出错。
所以,哪怕推理模型引入了强化学习和思考能力,也只是有所提升,因为它会把以前生硬的直接概率,变成一系列反复验证后的间接概率,从而提升准确率。
具体而言,其实 AI 的思考就是在检索和重复验证,只是效率和准确率比人类更高,所以它很适合做科研。有一篇比较有影响的论文 “ Do Two AI Scientists Agree? ”,讲 AI 怎么从零开始发现大量物理定理。实际上你会发现 AI 能发现的物理定律,都是一些重复性的事情。
当然,这并不是影响 AI 应用的最关键问题。假设现在 AI 可以解决百分之七八十的问题,那剩下的百分之二三十的问题,暂时不做 AI 应用就行,这并不影响 AI 的推广。因为这个世界上发生的很多事情,百分之七八十甚至九十以上都是重复的。这些重复的事情,用结构化的思维、固化的思维去理解和解决是没有问题的。
知危:可否对上述方法和经验做一个总结性描述?
甄焱鲲:其实要减少幻觉,在实践中更多是想办法把人类的先验经验集成到 agent 和 AI 应用链路里,做有效约束。这方面有各种方法,比如通过规则方式做硬性约束,也可以训练强化学习模型,让它学到人类策略或有效策略来做约束。这些手段无非就是告诉大语言模型要干什么,并且在执行过程中做一些过程性干预。
最重要的原则,是 “ 以终为始 ”,要从 “ 想让 AI 解决的问题定义 ” 入手。很多时候 AI 有效,是因为我们已经能够清晰明确地定义 AI 要做什么事情。
先对问题的复杂度进行分级:越复杂、抽象的问题,就应该用越多的权重参数、算力,以及更多的辅助手段来更好地解决它;而越简单、越具象的问题,可能反而适合参数更少的模型,配合更硬的约束手段。所谓“更硬的约束手段”,比如模型的微调就是最硬的手段,其次是 LoRA,再次是 RAG,最后是 In-Context Learning。
顺着这个梯度去选模型和约束方式,就能找到一个合适的组合。
还有一个折中原则是,如果在解决过程中发现无论多强大的大模型、多好的算法工程或者辅助工程都解决不了这个问题,那就不要什么事都端到端解决,可以把部分问题环节用传统软件工程或算法工程解决,把它们组合成一个混合( hybrid )的架构和工程。
如果让 AI 解决的问题本身不适合 AI,或者问题非常复杂,那么无论做多大努力,它能达到的结果一定是差强人意的。
三、正确理解幻觉
知危:既然幻觉问题造成了那么多困难,也需要如此多手段来缓解,那么如何理解企业大规模应用大语言模型、取代传统机器学习方法的意义所在?
甄焱鲲:理论上来说,除了文本生成领域外,大语言模型在其它领域的应用越来越多了。但在决策推理、复杂规划等任务上,传统机器学习算法还是更有优势。
结合近期大语言模型、视觉模型也在结合典型传统机器学习方法比如强化学习的趋势,表明传统机器学习算法的优势是大语言模型无法替代的。但大语言模型的优势是,它可以低成本地做到传统机器学习算法能做的六七成的水平,这才是本质。
比如做数据分析,可以用传统机器学习算法做统计分析、回归等,来找到数据背后的模式,然后根据学到的模式做预测。甚至在一些特殊领域,可以通过拟合的方式刻意提高准确率,但是这样做成本比较高,门槛也比较高,涉及数据处理、算法设计、模型训练、评估,再到软件工程的部署等。
相比之下,使用大语言模型的话,只需要把某一个时间段的数据,直接丢给大语言模型分析结果。毕竟现在大语言模型的 context 已经很长,很容易处理这类数据,如此成本就很低。虽然分析结果还有各种局限性,但对于很多日常工作的场景已经能满足。
至于成本具体能降到什么程度,还是要看最终的场景需求。比如分析短期的数据,而且这些数据可以被大语言模型的 context 覆盖,那它的成本几乎为零。
如果数据量比较大,就需要通过 MCP或 agent 开发框架,把数据接入到大语言模型里面,可能还需要对数据做预处理,比如Pandas等传统的机器学习框架和数据框架,其实已经具备一定的 AI 能力了。
目前我们去开发一个 AI Agent 来解决这些问题,跟传统的软件工程比如算法工程、数据工程、软件工程等模块对比下来,开发工作量只有原始工作量的百分之二三十左右。
知危:从技术人员的视角理解幻觉,有哪些不同的体会?
甄焱鲲:在当前这个大环境下,对程序员跨领域能力的要求比较高。所以从我作为技术人员的角度来看,在这个过渡阶段,AI 编程带来的收益更容易让程序员接受,上手的速度比较快,这也是为什么像 Cursor 这类工具会这么火。
背后最本质的原因是,程序员本身懂技术,在学习或了解 AI 并不难的情况下,知道该怎么提问题或者怎么下达指令。而其他领域的人,比如 HR、行政、财务等在使用 AI 的时候,很多时候最大的挑战是他们不具备相关知识,导致没办法提出有效的问题。提出正确的问题或写出合适的提示词,其实门槛还是比较高的。
我们现在使用的大部分大语言模型,都是指令跟随版本,只要指令优化得足够好,大语言模型犯错、也就是产生所谓幻觉的概率和可能性,其实是非常低的。
从长远来看,其实幻觉的存在是相对的。如果你不知道,或者你无法判断的情况下,你就不知道它产生的结果到底有没有幻觉,毕竟现在 AI 胡说八道的时候语气还是一本正经的。但最终到底由谁来评估 AI 生成有没有幻觉?还得是人类使用者,这时可能需要更专业的或其他领域的使用者来判断。
知危:有些研究会把幻觉做一些类型划分,探讨了事实性数据和系统性数据的区别。系统性数据比如 1 + 1 = 2,事实性数据比如 “ 小明在 2025 年出生 ”,并提出事实性数据更容易出现幻觉。您对此有什么看法?
甄焱鲲:从我的视角看,早期大语言模型或一些传统 NLP 算法确实存在这类问题,但我觉得现在比较新的大语言模型架构、训练数据处理、指令微调方式,已经在很大程度上避免了这些问题。
目前模型技术在事实性产生错误的概率相对较小。据我了解,模型并不会生硬地去记忆事实性数据。
大语言模型出错的一个典型例子是它不知道 “ 9.9>9.11 ”,本质原因是模型内部并没有进行真正的数值计算。
不管是事实性数据还是系统性数据,都是一个概率计算问题。比如训练数据里有 “ 1 + 1 = 2 ”,但大语言模型并不是直接知道 “ 1 + 1 = 2 ”,而是基于概率。
本质上,它是基于统计概率,而不是逻辑计算。
如果想真正理解幻觉本身,和产生的根本原因,必须了解模型的技术细节,比如大模型训练时在做什么( 涉及前馈网络、注意力机制、query 机制等 ),推理时在做什么,我们干预它时它又在做什么。
知危:您在前面所表述的大模型永远无法完全解决的 “ 错误 ”,有什么具体的理论依据呢?
甄焱鲲:新加坡国立大学发表的论文 “ Hallucination is Inevitable: An Innate Limitation of Large Language Models ”,通过形式化定义 “ 幻觉 ” 并借助学习论证指出,LLMs 无法学习所有可计算函数,因此 “ 幻觉 ” 是固有而不可完全消除的。
另一项研究 “ LLMs Will Always Hallucinate, and We Need to Live With This ” 以 Gödel 不完全性定理和停机问题为基础,指出幻觉是 LLM 必然会产生的结构性产物,不论模型大小、数据多么丰富,都无法根除。
早期的研究从理论上证明了 Transformer 的图灵完备性,但都基于诸如无限精度和任意强大的前馈计算能力等假设。
而对于有限精度和有限前馈网络计算能力的 Transformer 架构( 也是更符合现实情境下的设置 ),其在理论上相当于常深度阈值电路( TC0 ) 的计算能力( 参考论文“ The Parallelism Tradeoff: Limitations of Log-Precision Transformers ” ),这说明它们只能处理相对简单的语言模式,面对更复杂、高组合深度的问题时力不从心。比如在多步推理组合任务中,如乘法、逻辑网格谜题或动态规划问题,Transformer 模型更多是通过 “ 线性子图匹配 ” 而非系统性推理来应对,随着任务复杂度上升表现迅速衰退。
知危:近期关于AI幻觉还出现了一些关于泛化性的研究进展,“ Generalization or Hallucination? Understanding Out-of-Context Reasoning in Transformers ” 指出抑制幻觉的同时也会抑制 LLM 的泛化性。您对此有什么看法?
甄焱鲲:这些成果很有意义。
模型预测下一个词本质上是概率性的,这可能涉及概率学的本质以及概率在人类社会中的影响。必须存在概率,才能有决策的空间和可能性,进而才能具备泛化能力。
就像人一样,比如我们走路的时候,如果只有一条路,肯定不会走错,只有当有多条路的时候才可能走错,而新的路能带来新的可能。这个问题确实是无法消除的,因为 “ 对 ” 与 “ 错 ” 本身现在都很难定义。
有一种很有意义的情况,有时我们认为 AI 生成的结果是错的,只是因为我们不了解、不知道或没见过这样解决问题的方式,但它实际上是对的,这是 AI 创造性的体现。
再比如,大语言模型认为这个世界是虚拟的,我们觉得它在一本正经地胡说八道,产生了幻觉。但可能过了五十年或一百年,我们通过科学方法论证了世界是虚拟的,那么这个所谓的幻觉其实不是幻觉,而是前瞻性的观点。这有点类似于以前的很多科幻小说、科幻漫画、科幻电影,里面很多技术现在都实现了。那么它到底是不是幻觉?所以关键还是看我们怎么定义幻觉。
所以在对待幻觉这个问题时一定要小心,不能太武断地认为 AI 生成的内容没有现实依据就是幻觉。
四、行业趋势
知危:目前国内业界对 AI 幻觉风险的整体心态是否过度乐观?
甄焱鲲:恰恰相反。DeepSeek 是一个分水岭,在 DeepSeek 出现之前,无论是投资界还是业界,大家对幻觉带来的负面影响都有点过度恐慌。但在 DeepSeek 出来之后,整个行业包括大众都被 “ 教育 ” 了。大家对幻觉带来的影响,以及对幻觉的评估,变得更理性了,有时甚至觉得幻觉是良性的。
具体而言,以前更多是通过新闻报道或学术论文了解幻觉的影响,现在大家已经开始实装大语言模型来解决具体问题,所以会更客观、更清醒地判断:哪些场景下幻觉是可以接受的,哪些是不可以接受的;幻觉对不同任务的影响到底有多大,也能做出更现实、更准确的评估。
当然,相对来说在某些领域确实也存在 “ 过度乐观 ” 的情况,比较明显的是内容创作领域。现在有很多人并不真正了解幻觉是什么。有些人用 AI 辅助创作时,可能会过度乐观,直接把生成的内容公开发布,而对负面的影响和后果没有准确的理解和预估。
关于 “ 过度悲观 ”,主要是在一些比较严肃的领域,比如科研、工业制造、软件工程等场景,很多人会觉得,用大语言模型去解决一个问题,模型思考半天、花了很多钱、用了很多 token,最后也没解决好,还不如自己解决。而且,在应用大语言模型时,本质上是某种程度上对自己的替代,这时候很多人会有抵触心理,进而对模型做出过度悲观或负面的评价。
知危:AI 编程是否也是一个 “ 过度乐观 ” 的场景?特别是 Vibe Coding 火起来以后?很多智能体类产品推出得很快、更新频繁,但在实际使用中还是会有很多问题,尤其是幻觉的累积和错误溯源问题,让人头疼。即便 Claude 4 Opus 号称能连续工作 7 个小时完成编码任务,但仍有人指出其写出的代码是难以维护的。您对此怎么看?
甄焱鲲:现在很多 AI Coding 应用的做法其实还是比较简单粗暴的,属于 “ 大力出奇迹 ” 的思路,而且确实在一定程度上有效。
比如我曾试用一个开源的 AI 编程模型,让它帮我生成一个 Rust 语言的、用于监控当前网络端口访问情况的程序。它花了很长时间,大概两三个小时,才生成出来可编译的结果。
它之所以花那么长时间,是因为在不断检查编译器的报错并修正代码。但最后我运行时发现还是有问题。因为我用的是 Mac Studio,Apple Silicon 的 ARM 架构,它选用的那个库并不支持这个架构,最终导致运行出错。我又让它继续修改,它又花了大概两三个小时,才把这些错误都修正好,最后我才能正常运行和执行。
但如果是程序员来做这件事,可能很快就能解决。毕竟这就是库不兼容的问题,对于一般程序员来说并不复杂。
现在很多生成代码的方式,还是依赖枚举各种情况,用各种提示词和反复试错、反复检查。这种 “ 大力出奇迹 ” 的方式,也跟前面提到的大语言模型自身的特点有关,它不能真正思考,还是靠不断进行局部最优的生成能力来解决问题。
知危:这种 “ 大力出奇迹 ” 的方法会不会导致 token 消耗过高、成本难以承受?
甄焱鲲:这个问题非常重要。现在其实大家没怎么谈这个问题。原因是对资本家来说,他们投资了大语言模型供应商,正希望 token 被大量消耗,只有这样供应商才能赚更多钱。所以这个问题虽然存在,但往往被有意忽略。
当然,有很多开源项目或者行业里一些比较良心的软件,比如 Roo Code,就做了很多这方面的优化,比如上下文压缩、token 压缩,在重复试错时会主动停止,不会无限制地耗费资源。
反观一些其它软件修改代码时,比如一会说多了个花括号,把它去掉了;编译不通过,又说少了个花括号,又把花括号加上,然后又反复修改,重复了十几次,实际上这些重复一直在消耗资源。如果是用免费版还好,用付费版的话,这些重复修改就会一直消耗用户的钱。
当然,这个现象存在一定程度上也是可以理解的。一方面,AI 应用还处于非常早期阶段,大语言模型还在快速发展变化,比如 DeepSeek 刚出来不久,厂商们开始大量往模型里加推理能力,强化学习也才刚起步,阿里最近才把多 agent 集成到商业大语言模型里。因此,现在的 AI 使用方式比较粗糙,随着模型能力稳定下来,这些粗糙的使用方式会逐步优化和迭代,变得更加精细。
另一方面,目前 token 价格已经被压低,用户对价格的敏感度还不是特别高。从应用开发商的角度,也会更多希望用户能持续使用,而用户使用的前提是能帮他们解决问题。在技术还不够成熟的情况下,有时 “ 大力出奇迹 ” 的方法是必要的。
知危:对于未来通过底层技术变革解决或缓解幻觉上,您对哪个方向比较看好?
甄焱鲲:我更倾向于最近生成视频效果比较好的世界模型这条技术路线。
世界模型涵盖更广、更深,视频模型只是它的一种应用体现,主要用来展示模型能力。就像一滴水滴到管子上和一滴油滴到管子上,产生不同结果,这背后是模型权重参数驱动生成的。它主要是通过表象展示背后的思维能力,不是简单的 next token 预测,而是对事物真正的理解。
世界模型不是单纯通过数据生硬训练,而是让模型在训练过程中真正理解数据背后代表的概念、原理及它们之间的关系。
我更希望像训练小孩、培养人类思维成长一样,让 AI 构建起自己的思维体系。而且这种思维是动态变化的,能够适应周围世界的变化。比如这个模型可以部署在端侧,自主浏览网页、使用搜索引擎或查询数据。它还能自主决定是否把浏览到的概念或知识更新到自己的记忆里。
这是更偏向于 AGI 的发展方向。