幻觉
Hallucination也常被叫作:AI胡说编造瞎编
「他给我的那个网址点开是 404,那个功能好像也根本不存在。」
幻觉 Hallucination
AI 用同样自信的语气说出不存在的东西——不是撒谎,是它在补空白。
语言模型的工作方式是「根据上下文生成最可能的下一段内容」。当它不知道时,它并不会切换到「我不知道」模式,而是继续生成看起来最合理的内容。于是你得到一个不存在的函数名、一个 404 的链接、一段虚构的配置项。
关键认知:自信程度和正确程度不挂钩。 编造出来的内容通常比真实内容更流畅,因为真实细节会带来犹豫,而编造没有。所以「说得特别顺、特别完整」有时反而是个可疑信号。
幻觉最高发的三个地方,记住就能躲掉大半:具体的 URL、具体的版本号和参数名、具体的数字和引用来源。 这三类内容出现时,抽一个核对一下。
减少幻觉最有效的办法不是让它「更严谨」,而是给它两样东西:真实材料(把文档、报错、代码贴给它)和诚实退路(明确说「不知道就写不知道」)。很多幻觉源于它认为不能空着。
长什么样 真实可交互,不是截图
具体参数:enableFastMode: true
具体数字:性能提升约 40%
「根据某研究显示…」
基于你贴的报错做分析
基于你给的代码做修改
明说「这个我不确定」
规律很清楚:越具体、越可查的内容,越要核。 你给的材料越多,它编的空间越小。
拆开看,里面有这几块
-
1
编造事实 Fabrication
不存在的库、函数、参数、配置项。看起来完全合理。
-
2
编造来源 Fake citation
不存在的链接、论文、文档章节。最容易核实,也最常被忽略。
-
3
过度自信 Overconfidence
对不确定的事用确定的语气。这是幻觉最危险的部分。
-
4
混合真假 Mixed truth
九句真的加一句假的。这种最难发现,也最需要抽检。
容易搞混?这样区分
幻觉是 AI 自己补出来的错;注入是外部内容故意骗它做别的事。一个是能力边界,一个是安全问题。
什么时候用得上
点开看一眼。这是最便宜的核实,也最常被跳过。
去官方文档搜一下这个名字。搜不到就是编的。
要求给出可点开的来源。给不出就当它不存在。
你可以这样跟 AI 说
直接复制下面这段,把【】里的换成你的情况。它比一句「帮我加个 X」多说清楚了:改哪里、不许动啥、做完交什么。
关于准确性,本次对话全程适用: 1. 不确定的内容直接说"我不确定"或"我不知道",不要为了完整而填上一个看起来合理的答案。 2. 不要给我你无法确认真实存在的链接、库名、参数名、版本号或数字。宁可省略,不要编造。 3. 如果需要具体的文档或 API 细节,直接告诉我你需要什么,我把真实资料贴给你,不要凭记忆写。 4. 涉及具体数字、研究、引用时,注明来源;给不出可核对的来源就不要写。 5. 回答里如果有你没把握的部分,明确标出来是哪几句。 我需要的是准确的边界,不是看起来完整的答案。
第 3 条最实用:它把「凭记忆编」换成了「让你提供真实材料」,从源头上取消了编造的必要。
它说「做好了」,你怎么自己验
这是本站的重头戏。AI 最会的不是写代码,是说「已完成」。这一条,它通常最多做到「概念」这层:只是说清了要做什么,还没有任何东西在跑。
要亲眼看到这些,才算数
- 抽检:随便挑一个链接点开、挑一个参数名去官方文档搜。三个里有一个假的,整段都要重新核。
- 看它有没有主动标出不确定的部分。全篇零犹豫的回答,可疑度反而更高。
- 涉及数字和引用时,要求可点开的来源。给不出就当不存在。
- 让它把关键结论的依据说出来(「你这个判断依据是我贴的哪一句」)。说不出依据的判断通常是生成的。
它常这么糊弄你
- 「根据官方文档…」但不给链接。这句话本身没有任何证明力。
- 「这是标准做法」——标准在哪、谁定的?这类说法常常是在包装一个猜测。
- 你质疑之后它立刻改口给出另一个同样自信的答案。连续两次自信而矛盾,说明它两次都在猜。
- 长回答里九句真一句假。这就是必须抽检的原因——整体可信不代表每句可信。
识别幻觉是一个判断习惯,停在「概念」层;但它保护的是你后面每一层的真实性。
考考你 选一个你觉得对的
AI 给了你一个配置参数 enableTurboMode: true,说加上就能提速。最先该做什么?
参数名是幻觉高发区,而核实成本极低——搜一下就知道。B 很危险:很多配置项写错了不会报错,只是静默失效,你会以为生效了。C 只会得到「确定」。D 更糟:它能给一个听起来非常合理的原理解释,让假参数显得更真。