大模型就像一个知识渊博但从不更新记忆的”学霸”——考旧题满分,考新闻题零分。RAG 就是给它配了台”联网电脑”,答题前先查一下最新资料。
一、大模型的三个”硬伤”
在前面的 LLM 工作原理系列中,我们介绍了大模型的核心机制。它虽然强大,但也有天然短板:
硬伤 1:知识有截止日期
基础模型的参数在训练完成后不会自动更新;如果没有联网、检索或其他外部工具,它无法可靠获知训练截止后的事件,例如实时天气。
硬伤 2:会一本正经地胡说八道
这就是[前文](/posts/llm-fundamentals-4-engineering-challenges/#三、幻觉问题:AI 也会胡说八道)讨论过的幻觉(Hallucination)——模型会编造不存在的论文引用、虚构历史细节,而且自信满满,让你很难分辨真假。
硬伤 3:缺乏领域专业知识
LLM 是用通用数据训练的。当你问它”公司内部的报销流程是什么”,它完全不知道——这是你公司的私有知识,不在训练数据里。
一句话总结:LLM 是”闭卷考试”的高手,但它需要”开卷”才能应对实时、专业、准确的需求。
二、什么是 RAG?
RAG(Retrieval-Augmented Generation,检索增强生成) 是一种让 LLM “先查资料再回答”的架构。它的核心思想很简单:
传统 LLM(闭卷考试):
用户提问 → LLM 凭记忆回答 → 可能正确,可能瞎编
RAG(开卷考试):
用户提问 → 先去知识库检索相关资料 → LLM 基于检索结果回答 → 更容易给出可核查的答案
RAG = 检索(Retrieval)+ 增强(Augmented)+ 生成(Generation)
具体来说,就是把外部知识库(公司文档、维基百科、专业手册等)作为 LLM 的”参考资料”,每次回答问题前,先从知识库中找到最相关的内容,再让 LLM 基于这些内容生成答案。
关键认知:RAG 不是替代 LLM,而是增强 LLM。LLM 仍然是”大脑”,RAG 给它配了”眼睛”——让它在回答前能看一眼相关资料。
三、RAG vs 其他方案
解决 LLM 知识短板,主要就三种路线:
| 方法 | 怎么做的 | 优点 | 缺点 |
|---|---|---|---|
| 纯 LLM | 不接外部知识,直接生成 | 实现简单,延迟较低 | 不适合需要实时、私有或可追溯知识的任务 |
| 微调(Fine-tuning) | 用特定数据优化模型行为或能力 | 可稳定适配格式、风格或特定任务 | 训练、评测和迭代成本较高;不适合作为频繁更新事实的唯一方案 |
| RAG | 检索外部资料后再生成 | 知识可更新、可附来源、无需把事实写入模型参数 | 检索错误、上下文冲突和生成误读仍会造成错误,并会增加链路复杂度和延迟 |
什么时候优先考虑 RAG?
- 知识会频繁变化:更新索引或数据源通常比重新训练模型更直接。
- 需要可追溯:系统可以把检索片段和来源呈现给用户,供其核查。
- 需要私有知识:在检索前按用户权限过滤文档,再把允许访问的资料交给模型。
- 已有可评测的数据集:能分别衡量检索命中、引用正确性和最终答案质量,而不是只看回答是否流畅。
重要边界:RAG 不是事实保证器。上线前要评测召回率、引用是否真正支撑结论,以及模型是否会在资料不足时拒答。
四、RAG 的工作流程(总览)
先有个整体印象,下一篇会深入拆解每一步:
┌──────────────┐
用户提问 ────────→│ 向量化查询 │
└──────┬───────┘
↓
┌──────────────┐
│ 向量数据库 │ ← 预先存好的知识库向量
│ 相似度搜索 │
└──────┬───────┘
↓
┌──────────────┐
│ 返回 Top-K │
│ 相关文档片段 │
└──────┬───────┘
↓
┌──────────────┐
│ 拼装 Prompt │ 查询 + 检索结果 + 指令
└──────┬───────┘
↓
┌──────────────┐
│ LLM 生成 │ 基于检索结果回答
└──────┬───────┘
↓
最终答案(带来源引用)
涉及的核心概念(下一篇详解):
- 向量(Vector):把文字变成一串数字,让计算机理解语义相似度
- Embedding 模型:负责”文字→向量”转换的工具
- 向量数据库:专门存储和搜索向量的数据库
- 文本分块(Chunking):把长文档切成小段,方便检索
需要注意的是,这里展示的是最基础的向量 RAG 链路。真实生产系统通常还会结合关键词检索(如 BM25)、元数据过滤、权限过滤和 reranker 重排,而不是只依赖向量数据库一次 Top-K 召回。
五、一个直观类比
把 RAG 想象成一场开卷考试:
| 角色 | 对应 | 做什么 |
|---|---|---|
| 考生 | LLM | 负责答题,语言组织和表达能力强 |
| 课本 | 知识库 | 存储外部知识(公司文档、专业手册等) |
| 索引 | 向量数据库 | 让你快速找到”课本里哪几页跟这道题相关” |
| 翻书 | 检索 | 根据题目去课本里找相关页 |
| 答题 | 生成 | 参照找到的课本内容写出答案 |
没有课本(RAG),考生只能靠已有记忆答题;有了课本,答案可以引用新资料,但仍要确认翻到的是正确页面、课本本身没有过期,并且没有误读内容。
小结
- RAG = 检索增强生成,让 LLM 在回答前先”查资料”。
- 可缓解知识过时、私有知识缺失和部分无依据生成问题,但不能消除幻觉。
- 与微调解决的问题不同:RAG 侧重外部知识与可追溯性,微调侧重行为和任务适配。
- RAG 不是替代 LLM,而是给它配上”眼睛”——增强而非取代。
下一篇,我们来深入 RAG 最核心的概念——向量与嵌入,用一个猫品种识别的类比,帮你直观理解”为什么文字变成数字后,计算机就能判断语义相似度”。