🤖 AI 跟我学 新手入门

RAG 是什么?让 AI 看你私有资料的关键技术

RAG 是什么?这篇用人话讲清楚检索增强(Retrieval-Augmented Generation)的工作流、4 个核心步骤、和微调啥区别、什么场景才该用 RAG

发布 2026/05/18 📎 参考官方文档

一句话说清 RAG 是什么

RAG(Retrieval-Augmented Generation,检索增强生成)就是让 AI 在回答你的问题之前,先去你指定的资料库里翻一遍,找到相关内容贴在脑子里,再开口回答。

简单理解:GPT-5 / Claude 这种模型懂的是它训练时见过的「公开知识」,对你公司内部的合同模板、技术文档、客户档案一无所知。RAG 就是给它配一个「随身查阅库」,回答问题前先翻一翻。

这是 2026 年企业部署 AI 最主流的方式——比起重训模型,RAG 又便宜又快还能随时更新资料。

用一个生活场景理解

你刚入职一家律师事务所,老板让你给客户出一份合同审核意见。

没 RAG 的你(裸 LLM):靠脑子里的法律知识硬写,能写出来但全是通用模板,根本不结合这家所多年积累的内部判例、专有条款写法。

有 RAG 的你:先去内部 KM 系统搜「类似合同 + 类似客户」,找到 5 份历史案例,再结合你的法律知识写意见。出来的东西既专业又贴合本所风格。

AI 不带 RAG 是「闭卷考试」,带了 RAG 是「开卷考试」。开卷答出来的当然更准、更新、更贴合你的实际情况

RAG 的 4 个核心步骤

OpenAI Cookbook 把 RAG 流程拆成 4 个阶段。理解了这 4 步,你就理解了 RAG 的全部工作原理。

第 1 步:资料预处理(Data Preparation)

把你的资料库变成 AI 能查的形态。包含 3 个子动作:

1. 切块(Chunking)

一份 100 页的 PDF 不能整个塞进 AI 上下文,得切成小块。常见切法:

  • 按段落切(每段一块)
  • 按字数切(每 500 字一块,相邻块重叠 100 字防丢上下文)
  • 按章节切(每个 H2 一块)

切得太大检索不精准,切得太小语义不完整。经验值:每块 300-800 字最稳

2. 向量化(Embedding)

把每个文字块用「向量模型」(如 text-embedding-3-large)转成一串数字(通常 1500 维左右的向量)。含义相似的文本,向量距离近

这一步是 RAG 能做「语义搜索」的关键——你搜「劳动合同终止」,能匹配到「解除劳动关系」的块,因为它俩向量近,哪怕字面不一样。

3. 入库(Store)

把所有文字块 + 对应向量存进向量数据库(如 Pinecone、Milvus、PostgreSQL pgvector)。这是查询时的「资料柜」

第 2 步:用户提问预处理

用户问一句话,不能直接拿去检索,先要:

  • 重写问题(Query Rewrite):把口语化的问题改成检索友好的形式。比如「这个项目啥时候交付?」改成「项目交付日期 ddl」
  • 提取关键实体:识别「这个项目」具体指啥项目,提取出名称、ID
  • 生成多种问法(可选):「项目交付时间」、「项目截止日期」、「项目完工日」,多种问法并行检索

这一步做得好不好,直接决定后面检索能不能找对资料。

第 3 步:检索(Retrieval)

拿处理过的问题去查资料库。常见 3 种检索方式:

  • 语义检索:基于向量距离找最相关的块(最常用)
  • 关键词检索:传统全文搜索,对专有名词、ID 这种字面匹配重要
  • 混合检索:上面两种都跑,结果合并排序

检索出来的 top 5-20 个候选块,还要做一次「重排序(Rerank)」——用一个更精的小模型给候选块打分,挑出真正最相关的 3-5 个。

第 4 步:生成回答(Generation)

把检索到的内容拼进 prompt,丢给大模型生成最终答案。典型 prompt 结构:

你是一个专业助手,请只根据下面提供的资料回答用户问题。
如果资料里没有答案,直接说「资料中没有相关信息」,不要编造。

【参考资料】
[这里贴检索到的 3-5 个文字块]

【用户问题】
[用户的原始问题]

注意两点:

  • 资料贴在 prompt 里,每次问都得重新贴(区别于微调)
  • 告诉模型「资料里没有就说没有」,否则它会编

好的 RAG 还会在回答后标注引用来源(来自 X 文档第 Y 页),方便用户追溯。

RAG 解决了什么问题

3 个问题,对应 3 类典型应用。

1. 让 AI 知道训练数据之外的最新信息

LLM 训练完就「知识截止」了。GPT-5 不知道 2026 年 4 月发生了啥;Claude 不知道你昨天写的会议纪要。

用 RAG 给它接最新资料库(新闻、内部文档、实时数据),就能突破训练截止时间。

2. 让 AI 看你的私有资料

你不可能把公司机密资料拿去训模型。但用 RAG 接进 AI,AI 能用这些资料回答问题,资料始终在你这边

典型场景:内部知识库问答、客户档案查询、合同审核、技术文档智能助手。

3. 让 AI 给的答案有「出处」

裸 LLM 给答案不知道从哪冒出来,对就对错就错。RAG 的答案能附带「这段来自 X 文档第 Y 页」,用户能验证、能追责

合规、医疗、法律、金融这种「错了要担责」的场景,RAG 几乎是必选项。

RAG 不适合什么场景

OpenAI Cookbook 明确指出 RAG 也有短板,下面 2 种场景别上 RAG,去考虑微调或别的方案:

1. 教 AI 学一种固定输出格式

比如你想让 AI 永远按某种 JSON 结构输出。RAG 不解决这个,因为它只是给资料,不改模型行为。这种用微调(Fine-tuning)或者强 prompt 约束

2. 想省 token

RAG 每次提问都要把检索到的资料拼进 prompt,反而会显著增加 token 消耗。如果是为了省钱,用小模型 + 微调更合适

简单记:RAG 解决「知识问题」,微调解决「行为问题」

一个判断「我这事该不该上 RAG」的 prompt

不是所有 AI 应用都需要 RAG。下面这个 prompt 帮你 30 秒判断:

📋 Prompt 模板

你是 RAG 架构顾问。我会描述一个 AI 应用场景,请按 5 个维度判断是否该用 RAG:

  1. 资料来源(公开网络已有 / 私有内部资料 / 实时变化资料)
  2. 答案准确性要求(差不多就行 / 准确即可 / 必须可追溯到出处)
  3. 资料更新频率(不变 / 每月更新 / 每天更新 / 实时)
  4. 资料量级(几百字 / 几千页 / 几十万页 / 海量)
  5. 预算和工程能力(个人玩 / 小团队 / 有专门 AI 工程师)

最后给明确建议:

  • 强烈建议用 RAG(说明用什么向量库 + 嵌入模型)
  • 可用 RAG 但不强需求(说明替代方案)
  • 不建议用 RAG(说明该用什么——长上下文 / 微调 / 直接 prompt)

我的应用场景是:[这里描述你的场景]

把方括号里换成你的实际场景,扔给 ChatGPT / Claude 就能拿到判断。

RAG vs 长上下文窗口,哪个更值得用

GPT-5 / Claude Opus 4.7 已经支持 1M tokens 上下文,能不能把整个资料库塞 prompt 里?

一张表对比:

维度RAG长上下文(把资料全塞 prompt)
资料量上限无限(向量库装多大都行)1M tokens(约 75 万中文字)
查询成本低(只检索相关块)高(每次都付全部 token 的钱)
速度快(检索 + 短 prompt 生成)慢(长 prompt 显著拖慢)
准确率取决于检索质量长上下文会「中间丢信息」
工程复杂度中(要搭检索流水线)低(直接传)
适合场景大资料库、频繁查询单次任务、资料量中等

经验值:资料量小于 100 万字 + 偶尔查 → 直接长上下文;资料量大 / 频繁查 / 要追溯出处 → 必上 RAG。

RAG 的 3 个常见坑

坑 1:切块切得太蠢

按固定字数硬切,结果一个完整观点被切成两半,检索时只匹配到一半,答案不完整。最佳实践

  • 重要文档手动按章节切
  • 用 LangChain / LlamaIndex 的智能切块工具(识别段落、表格、列表)
  • 相邻块重叠 10-20% 防丢上下文

坑 2:检索效果不评估

搭完 RAG 就上线,准确率多少没人知道。任何 RAG 系统都要做 Eval:手动准备 50-100 条「问题 + 期望答案 + 期望引用」,每次改参数跑一遍看准确率有没有掉。

坑 3:把 RAG 当万能药

RAG 解决不了「资料本身是错的」问题。如果你的内部知识库本身就过时、混乱、矛盾,RAG 出来的答案也会过时、混乱、矛盾。搭 RAG 前先治理资料

国内能搭 RAG 吗?

完全能搭,国产方案选择丰富。

国产 RAG 平台(拿来即用):

  • 扣子 Coze:上传文档自动建知识库,零代码 RAG
  • Dify:开源 + 私有部署,企业级首选
  • 百度千帆 AppBuilder:百度生态,To B 友好
  • 阿里通义灵积:阿里云生态

国产嵌入模型 + 向量库(自建用):

  • 嵌入模型:BGE(智源)、M3E、Qwen-Embedding
  • 向量库:Milvus(国产开源标杆)、Pinecone(云)、PostgreSQL pgvector

海外开发者工具(需科学上网):

  • LangChain、LlamaIndex:业界主流 RAG 框架
  • OpenAI Embedding API:嵌入效果最强但贵

具体国内 Agent 平台对比看 国产 AI Agent 平台盘点

下一步

读完这篇你已经知道 RAG 是啥、4 个步骤、什么场景该用。接着值得看的:

常见问题

Q:RAG 和 ChatGPT 的”知识库”功能是一回事吗? A:本质是一回事。ChatGPT 自定义 GPT、Claude Projects、Kimi 知识库这些功能底层都是 RAG,只是用户看不到检索过程。

Q:RAG 和微调(Fine-tuning)哪个好? A:解决的问题不一样。RAG 让 AI 知道「新事实」,微调让 AI 学会「新行为/风格」。需要让 AI 用你的资料答题 → RAG;需要让 AI 输出特定格式/语气 → 微调。两者也可以叠加用。

Q:RAG 一定要懂技术才能搭吗? A:不一定。扣子 Coze、Dify 这种平台上传文档就建好 RAG 了,完全零代码。深度定制再考虑自建。

Q:RAG 答错了一般是哪一步出问题? A:90% 是检索问题——没检索到对的块。常见原因:切块切错、嵌入模型不行、问题改写没做。先排查检索结果,再看生成。

Q:RAG 怎么处理图表和表格? A:纯文字 RAG 处理图表很弱。2026 年主流做法是「多模态 RAG」——把图表用视觉模型描述成文字再切块,或用 GPT-5 Vision / Claude Vision 直接看图。

Q:RAG 一次查询大概多少钱? A:用 OpenAI 嵌入 + GPT-5 大约 0.001-0.01 美元/次;用国产 BGE + DeepSeek 大约 0.0001-0.001 美元/次。规模化部署务必算清单次成本。