什么是RAG技术?
作者:程序员马丁
Ragent AI —— 从 0 到 1 纯手工打造企业级 Agentic RAG,拒绝 Demo 玩具!AI 时代,助你拿个offer。
从一个实际问题开始
1. 大模型是怎么工作的?
在聊 RAG 之前,先花两分钟搞清楚大语言模型(LLM)是怎么回事。搞懂这个,后面的内容就好理解了。
1.1 训练阶段:疯狂阅读
大模型训练这事,说白了就是让 AI 读互联网上海量的文本,从里面学规律、学知识。

经过这番训练,模型学会了三类东西:
- 语言规律:怎么组织句子、怎么表达才通顺。
- 世界知识:历史事件、科学常识这些。
- 推理能力:因果关系、逻辑推断。
1.2 推理阶段:预测下一个词
你跟大模型聊天的时候,它其实就在干一件事:根据你输入的内容,一个字一个字地往后猜。
你的输入:今天北京的天气
模型预测:怎 → 么 → 样 → ? → 根 → 据 → ...
有点像文字接龙——根据训练时学到的规律,每次猜一个最可能的字,串起来就是完整的回答。
这里有个关键点:模型的所有知识都是训练阶段灌进去的,推理的时候只是在用这些知识,没法获取新的。
2. 大模型的五大局限性
理解了工作原理,就很容易理解为什么大模型在实际应用中会遇到麻烦。
2.1 幻觉问题:一本正经地胡说八道
这是最让人头疼的问题。大模型有时会生成看起来很合理、但实际上完全错误的内容。

实际上这个人名是我故意编纂的,而回答的公司中也不存在这个人。当然,现在相对于 AI 刚出来的时候已经好很多了,拿这个例子来说,很多高版本的 AI 已经能结合联网搜索等功能,将幻觉问题降低了很多。
为什么会这样?因为模型的本质是预测概率最高的下一个词,它并不真正理解事实。当它对某个问题不确定时,它不会说我不知道,而是会生成一个看起来像答案的内容。
2.2 知识时效性:活在过去
大模型的知识是冻结在训练截止日期的。

对于企业应用来说,这个问题更严重——产品在更新、政策在变化、价格在调整,而大模型对这些一无所知。
2.3 专业领域深度不足
虽然大模型训练的内容是海量级别的,但在特 定专业领域往往不够深入。
用户:我们公司的 XX-2000 型号服务器的 BIOS 怎么设置?
模型:抱歉,我没有关于贵公司特定产品的信息...
训练数据中包含的专业内容相对有限,模型对垂直领域的理解远不如领域专家。
2.4 私有数据无法获取
大模型是在公开数据上训练的,它无法访问:
- 公司内部文档
- 客户数据
- 未公开的研究资料
- 个人私有信息
这意味着,对于我们公司的考勤制度是什么这种问题,大模型永远答不上来。
2.5 黑盒不可追溯
大模型的回答是不可追溯来源的。
用户:这个医疗建议的依据是什么?
模型:这是基于一般医学知识...(无法提供具体出处)
在很多场景下(医疗、法律、金融),我们需要知道答案的来源,以便验证和追责。大模型做不到这一点。
3. 这些局限性在实际场景中的体现
想象这样一个场景:你接到一个需求,要给公司做一个智能客服系统。用户可以用自然语言提问,系统能根据公司的产品文档给出准确回答。
你想到了用大模型(比如通义千问、DeepSeek)来实现。但很快你发现上面说的问题全都冒出来了:
| 局限性 | 在智能客服中的表现 |
|---|---|
| 幻觉问题 | 编造不存在的产品功能,误导用户 |
| 知识时效 | 不知道上周刚发布的新产品 |
| 专业深度 | 对复杂的技术问题回答肤浅 |
| 私有数据 | 不知道公司的退换货政策 |
| 不可追溯 | 用户问"这个说法哪里写的",答不上来 |
结论:大模型只知道训练时学到的通用知识,根本不知道你公司的产品是什么,结果只能瞎编。
4. 传统检索的困境
可能有同学会问,我直接用关键词搜索,就像在 MySQL 里写 LIKE '%打印机%',行不行?
如果用户问的比较精准的时候可以,但是绝大部分情况下不行。原因如下:
| 用户的问题 | 文档里的表述 | 关键词匹配结果 |
|---|---|---|
| 这玩意儿怎么用 | 产品使用方法 | ❌ 匹配不上 |
| 价格多少钱 | 产品售价:299元 | ❌ 匹配不上 |
| 墨水没了咋办 | 更换墨盒步骤 | ❌ 匹配不上 |
问题的本质是:关键词搜索只能匹配字面,无法理解语义。
人能理解“这玩意儿怎么用”和“产品使用方法”说的是一回事,但传统数据库做不到。