知识库明明是空的,为什么AI还在一本正经地胡说八道?你是否遇到过这种灵异事件?
老王最近正在搭建一个知识库,在接入我的Deepseek api接口后,为了测试接口是否就绪,随手问了一个问题:“创可贴是否属于医疗器械?”
按理说,AI 应该回答:“抱歉,我没有找到相关文件,建议搜索对应的法规文件。”但它没有
它不仅回答了,而且回答得极其自信、逻辑通顺:“创可贴属于一种广告帖纸,在XXX行业中应用十分广泛,最早可追溯至…,这一刻,沉默的和不该沉默的都沉默了,老王陷入了沉思。
老王看着屏幕上一个个出现的字体,熟悉又陌生,后背发凉:它在说什么???
这就是大模型最典型的“空箱幻觉”。今天,老王就扒一扒这背后的“鬼故事”——为什么AI可以如此一本正经地“已读乱回”。
“01 它不是在骗你,它是在“填空
“一本正经”的本质,其实是数学上的强迫症。”
首先,我们要打破一个误区:我们以为AI是一个查资料的图书管理员,找不到书就会摇摇头。错。AI的本质是一个“接龙游戏”高手。
在深度学习的底层逻辑里(Next-Token Prediction),模型被训练出来的唯一目的,就是预测“下一个词是什么”。
当你问它问题时,它的任务并不是“去验证事实”,而是“把这句话接下去,并且接得像个人话” 。
空的上下文(Context):对 RAG 系统来说,检索不到文件意味着 Prompt 里的 Context 字段是空的。
巨大的惯性:没了外部文件的约束,模型瞬间“断线”,回退到了它的出厂设置(预训练数据)。
在它的出厂记忆里,“问题”后面紧跟着的通常是“答案”,而不是“沉默”。
数学计算告诉它:编造一个看起来通顺的答案,概率损失(Loss)比说“不知道”要小。所以,它不是在撒谎,它只是被算法强迫着必须把空填满。它在用概率,填补你认知的真空。
“02 你的AI被训练成了“马屁精
如果说“填空”是本能,那么“一本正经”的态度就是后天养成的坏毛病。这得归功于RLHF(人类反馈强化学习)。
为了让AI更好用,工程师会用人类的反馈来训练它。但这里有一个巨大的阿谀效应(Sycophancy)陷阱。
研究发现,人类标注员有一种潜意识偏好:
我们喜欢自信的语气,不喜欢犹豫的语气。
我们喜欢肯定的回答,不喜欢“我不知道”。
于是,模型在训练中学会了一条潜规则:“只要我语气够自信、格式够工整,哪怕内容是编的,人类也会给我点赞。”
当你问“我的文件里说了什么”时,这个问题隐含了一个前提——“文件里有东西”。为了迎合你的前提,为了维护对话的“和谐”,AI 选择了顺从你的预设,开始编造。
它变成了一个圆滑的职场老油条:宁愿优雅地胡说八道,也不愿诚实地显得无能。
“03 硬核拆解:大脑分裂(双重记忆的冲突)
在 RAG 系统中,AI 其实有两套记忆 :
参数化记忆(Parametric Memory):存在脑子里的(预训练学到的世界知识)。
非参数化记忆(Non-parametric Memory):拿在手里的(你上传的知识库文档)。
理想情况是:手上有书看书,没书再背书。
但在“空箱”状态下,由于你的代码没有明确告诉它“手里没书时必须闭嘴”,模型的注意力机制(Attention)在外部找不到落脚点,就会自动聚焦回内部的参数上。
这一刻,RAG 系统退化成了普通的 ChatGPT。它开始调用那过期的、模糊的互联网记忆来回答你关于“私有项目”的问题——这也就是为什么它回答得那么像真的,因为那些术语确实来自于它看过的海量互联网公文。
“04 99%的锅,其实在你的代码默认设置里
别光怪 AI,这事儿开发者得背锅。
许多流行的 RAG 框架(如 LangChain 或 LlamaIndex),在默认设置下都有一个“静默失败”的逻辑漏洞 。
当检索器(Retriever)在向量数据库里什么都找不到时,它通常不会报错,而是默默返回一个空列表或空字符串。
然后,这个空字符串被塞进了 Prompt 模板:
基于以下背景信息回答问题:【 这里是空的!】 问题:我的文件说了什么?
AI 看到这个 Prompt,压根不知道“检索失败”了。它只看到了一片空白和一个问题。由于没有收到“如果背景为空,请回答不知道”的强指令,它自然就放飞自我了。
“05 怎么治好它的“大病”?
要解决“一本正经乱回”,不能靠 AI 的自觉,必须上手段:
- 立规矩(Prompt Engineering):在系统提示词里加入显式拒答指令。不要只说“基于上下文”,要说:
“如果提供的上下文为空,或者不包含答案,你必须回答‘知识库中未找到相关信息’,严禁使用外部知识或编造。”
- 加把锁(代码拦截):不要盲目调用 LLM。在代码层加一个 if 判断:
Python
docs = retriever.get_relevant_documents(query)
ifnot docs:
return"当前知识库为空,请先上传文件。"
只有检索到内容,才传给 LLM
这不仅防幻觉,还能帮你省 token 钱!
- 设门槛(阈值过滤):有时候知识库不是空的,但没找到相关的。设置一个相似度阈值(Score Threshold)。如果检索出来的文档相似度低于 0.7,直接视为没找到,别把垃圾塞给 AI,否则它会试图从垃圾里硬找逻辑,导致更离谱的幻觉。
“06 结语
AI 的“幻觉”不是 Bug,而是 Feature(特性)。它天生就是个充满想象力的生成器,而不是严谨的数据库。
作为使用者和开发者,我们的任务不是以此嘲笑它的愚蠢,而是通过规则和代码,给这个“才华横溢但满嘴跑火车”的天才,戴上事实的镣铐。
别让你的知识库,变成 AI 练习科幻写作的草稿纸。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~