你肯定遇到过这种情况。用 Copilot 写个排序函数,它贴心地给出了完整实现,还附带一行注释“使用优化的快速排序算法”。你心里正美,编译却直接报错——那个叫“OptimizedQuickSort”的类压根不存在。或者你让 ChatGPT 解释一段内核代码,它说得头头是道,甚至连函数调用链都画出来了,但你翻遍源码也找不到它提到的那个关键结构体。这不是模型在开玩笑,而是 AI 幻觉。所谓 AI 幻觉,指的就是大语言模型生成看似合理、实则与事实不符或毫无根据的内容。它不是偶尔出错,而是内生于工作机制的缺陷。你可以把大模型想象成一个极其疯狂的“代码补全器”。它不是数据库,不存储确切的事实;也不是编译器,不执行逻辑。它唯一在做的事,是根据上文预测下一个最可能的词。当它被问到一个问题时,它并不去“查证”,而是在“续写”一篇以你提问为开头的文章。流畅性优先于准确性,这个本质决定了幻觉无法根除。拿程序员最熟悉的场景来类比。这就像你在写代码时按下自动补全,IDE 给你列出了可能的方法名。但大模型做的,是把这种“概率推测”放大到整个句子、整个段落甚至整份技术方案。它把训练数据里出现过的模式——无论是官方文档还是论坛里的错误帖子——全部揉碎,再重新拼凑。当拼凑出来的东西恰好正确时,你觉得它很智能;当它把两个不同框架的 API 混在一起时,幻觉就产生了。更隐蔽的是,这种幻觉往往包装得极为专业。它会给虚构的函数配上恰当的参数类型,给不存在的论文安上真实作者的名字,甚至能在你质疑时继续编造“解释”来自圆其说。因为它并不知道自己在编,它只是在维持语言上的自洽。理解这一点后,你就不会再跟模型较劲“你为什么撒谎”。真正有用的做法,是把 AI 当作一个擅长“胡扯”但思路极快的结对编程伙伴。让它写单元测试框架,但你自己跑一遍用例;让它生成代码骨架,但用静态分析工具检查依赖;让它帮你 brainstorm 架构方案,但关键决策必须回到官方文档和源码里确认。对任何它给出的特别重要的“事实”,比如某个 API 的用法、某个历史 commit 的内容,都保持怀疑,用搜索引擎或本地代码库去验证。