前不久在知乎回答了一个提问:大家觉得做一个大模型检索增强生成(RAG)系统,最难搞定的是那部分工作?
收获了一些的点赞和认同的评论。
这里也分享给大家。
我先说结论:RAG 最难的,从来不是“把流程跑起来”,而是“让它真的好用”。
几乎所有人第一次做 RAG,都会被这套标准流程迷惑住:
用户提问 → 文档检索 → 拼接上下文 → 交给大模型生成。
代码很好写,十几行 Python + 一个向量库 API 就能跑通。 但你真要让它“在生产环境下稳定地答出好答案”, 难度是成倍增长的。
一、RAG 不是算法问题,而是“系统问题”
RAG 的本质是一个系统性工程,而不是一个单点算法。 它的难点是——每个环节看似简单,但环环相扣, 任何一环的瑕疵都会直接导致答案“看起来不太聪明的样子”。
举个例子:
- 检索不准→ 模型找不到关键信息;
- 检索不全→ 模型答偏题;
- 拼接上下文太多→ 超过 token 上限,输出混乱;
- 拼接上下文太少→ 模型信息不足,回答空洞。
所以真正的难点不是“能不能跑”, 而是:怎么设计一个端到端可控的 RAG 管线。
二、从我的经验看,RAG 最难搞定的其实有四关
1️⃣ 数据准备:垃圾进,垃圾出(GIGO 原则)
很多人上来就想着搭 Milvus 或 FAISS, 但根本没搞清楚自己要检索的是什么。
RAG 的灵魂在知识库。 而知识库的质量,取决于数据处理的精细程度。
比如文档切块(Chunking):
- 切太碎,语义被切断,模型失去上下文;
- 切太大,召回粗糙,匹配不准;
- 关键内容分散在多段中,还容易被 embedding 稀释。
我在做企业知识 RAG 时, 我们尝试过不同粒度的切块策略(按标题/段落/语义距离), 最后还得结合动态窗口 + 语义相似聚类才稳定下来。
如果你随便“split(500)”一刀切, 那 RAG 的后果大概率是:
“答案看起来没错,但总觉得答偏了。”
2️⃣ 检索召回:不是找最相似的,是找最有用的
很多人以为用个 embedding 模型就完事了。 但 embedding 模型之间差距极大。
在实际项目中,我们踩过很多坑: 同样一份知识库,换不同 embedding 模型, RAG 的命中率能差出 30% 以上。
比如:
- text-embedding-ada-002 适合英文、通用任务;
- BGE/M3E 在中文任务上召回效果更好;
- SimCSE 在短文本匹配上有优势;
- 有些企业项目甚至需要多模态 embedding。
而最难的是调召回阈值。 阈值太低,检索一堆废话; 阈值太高,漏掉关键句子。 最终我们是靠Reranker 模型(重排器)才解决的。
这部分调优过程,堪比玄学。 很多同学第一次做 RAG 的时候,卡死在这里。
3️⃣ Query 理解:用户问的,不一定是模型听懂的
很多人以为检索的 query 就是用户的问题本身。 但在实际场景里,这一步其实最“坑”。
举个例子: 用户问「合同续签流程怎么走?」 你去知识库检索“合同续签流程”, 结果命中 0 条。
为什么? 因为原文里写的是「合同延展」或「合同二次审批」。
所以在工业级 RAG 系统里,Query 重写(Query Rewriting)是非常关键的一环。
我们通常会在这一步加一个小模型(或规则引擎):
- 把口语化的问题改写成语义标准的搜索词;
- 结合上下文补全隐藏条件;
- 或者动态生成多个检索子 query。
比如上面的问题,我们会改写成:
“合同延展审批流程 / 合同二次签署操作指引 / HR 系统续签权限”
这样召回的结果才会命中核心知识。 很多人忽略这步,RAG 就废了一半。
4️⃣ 生成阶段:RAG 不是“检索+生成”的简单加法
最后一个坑,是很多人误解了“RAG + LLM”的关系。
真正成熟的 RAG 系统,是在生成阶段做控制的。 否则 LLM 很容易“自作聪明”,胡编乱造。
比如我们在企业问答里, 会在 Prompt 中明确规定:
“如果检索结果不足,不要编造,请回复‘知识库中暂无相关信息’。”
或者给模型输入:
“仅基于以下内容回答,不要添加额外推理。”
还有更高级的做法: 用Retrieval Score 作为奖励信号, 训练一个RAG-Fusion 模型, 让模型学会“信任检索结果”。
这就是为什么很多团队做完 RAG 后觉得模型还是乱答, 因为他们只做了“拼接”,没做“约束”。
三、那到底哪一部分最难搞?
如果我必须选一个,我会说:最难的是让整个系统“协同”起来。
你可以让每个模块都各司其职, 但要让他们协同到最优, 就需要你既懂算法,又懂工程。
比如你要同时考虑:
- 文档更新频率(知识库维护)
- 向量召回性能(索引优化)
- Prompt 格式(生成阶段控制)
- 模型响应速度(API 并发与缓存)
换句话说, RAG 是所有“大模型项目”中最能体现“算法工程师功底”的模块。 它要求你既能设计算法,又能搭系统。
这也是为什么很多人能写出“能跑的 RAG”, 但写不出“能上线的 RAG”。
四、未来趋势:RAG 已经进化为 DataAgent
今年(2025)我观察到一个趋势: 越来越多公司在讲“RAG 已死,DataAgent 当立”。 其实不是死,而是进化。
过去的 RAG 是被动检索—— 用户问问题,系统查知识库。
而现在的 DataAgent 是主动更新—— Agent 自动从网页、API、数据库收集信息, 动态更新知识库,实现“长记忆 + 实时性”。
这背后考验的不是某个算法点, 而是你能否构建一个数据闭环系统: 从信息采集 → 清洗 → 切块 → Embedding → 检索 → 生成 → 评估。
RAG 的“门槛”,也正在从“技术实现” 转向“工程架构设计”。
五、最后的小结
如果要一句话回答这个知乎问题:
“做一个大模型检索增强生成(RAG)系统,最难搞定的是什么?”
我的答案是:
最难的,不是某一环节,而是让每一环节都有章可循、能被验证。
RAG 不是一段代码,而是一整套数据流系统。 你要把它做好,既得懂 NLP,又得懂工程; 既得懂 Prompt,又得懂数据库; 既得能跑通 Demo,又得能稳定上线。
也许别人眼中这只是一个“附属模块”, 但真正懂的人都知道—— RAG 是大模型落地的“脊梁骨”。
它不花哨,却决定成败。
“好用”比“能跑”难十倍,但也值十倍。
在过去的几个月中,我们已经有超过80个同学(战绩可查)反馈拿到了心仪的offer,包含腾讯、阿里、字节、华为、快手、智谱、月之暗面、minimax、小红书等各家大厂以及传统开发/0基础转行的同学在短时间内拿到了各类大中小厂的offer。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。