你可能会说
它引用的那个函数根本不存在,是编出来的
AI 一本正经编出来的假话,还挺自信
大白话解释
幻觉就是 AI 把不存在的事说得跟真的一样。它给你一个函数名、一条规定、一个网址,看着有模有样,实际一查全是编的。
原因不复杂:AI 本质是在猜下一个词,它追求的是「说得顺」,不是「说得对」。没把握的时候它很少说不知道,而是顺手编一个最像答案的给你。
就像考场上不会做也不肯空着的那个人,硬凑一个答案交上去,字还写得特别工整。
什么时候会遇到
- 让 AI 写代码,它调用了一个根本不存在的库函数,一跑就报错。
- 问它某条法规或行业标准,它引经据典,编号却查无此条。
- 让 AI 推荐学习资料,它给的链接点开是 404。
- 让它背某个接口的参数名,名字是对的,用法全错。
- 写报告时直接引用 AI 给的数据,事后发现那个数字是编的。
- 打听你们公司内部的事情,它也敢给你一个像模像样的答案。
可以直接对 Agent 说
「你刚写的这个函数,我不确定它真实存在。请你标出哪些是你有把握的、哪些是拿不准的,拿不准的不要编,直接说不确定。」
「总结这份文档时只能依据我给的内容,不许引入任何外部知识,文档里没有的信息就写『文档未提及』。」
「给我三个真实可查的开源库,每个都附上 GitHub 地址,我要点开一个一个验证。」
正文里带下划线的词,是本站其它词条的入口;这一篇自动链了 1 个相关术语。
最容易想岔的地方
常见的错误理解: AI 编内容是因为它不知道,告诉它「不知道就说不知道」就好了
更准确的理解: 幻觉往往出现在它以为自己知道的时候。要靠给它真实资料、要求它标明出处来减少,光靠一句嘱咐没用
常见的错误理解: AI 说的版本号、函数名、链接,看着像真的就是真的
更准确的理解: 越是具体的细节越容易是编的,而这些细节恰好最难被肉眼发现。凡是能查证的,都要去查一遍
测一下:真遇到了你会怎么处理
单选 · 选完立刻看解释
AI 很肯定地告诉你项目里有 `fetchUserV2()` 这个函数,但你全局搜索一无所获。
这说明什么?
-
模型的目标是「生成看起来合理的下一段」,不是「查证」。听起来合理和真实存在是两回事。
-
先怀疑工具不如先怀疑幻觉 —— 后者发生的概率高得多,而且代价更大。
-
除非它能给出可查的出处,否则一律先当作编的。默认信任会让你在不存在的东西上耗很久。
题目只考「这个场景下的第一反应」,不考名词背诵 —— 幻觉的定义在上面已经讲过了。