本文针对学习RAG系统时常见的模块孤立理解问题,提出了构建全局观的四个核心模块:离线解析、Query理解、在线召回、上下文生成。文章详细阐述了模块间的六个关键联动点,如Chunk大小与LLM窗口的匹配、Query理解对检索策略的指导、上下文生成与在线召回的反馈机制等。同时,文章还介绍了如何应对面试中的系统设计问题,强调先全景后细节、先离线后在线的回答框架,帮助读者从全局视角掌握RAG系统设计。
一、先画一张全景图:RAG 的四大模块
一个完整的 RAG 系统包含四个核心模块,按数据流顺序排列:
模块一:离线解析(知识库构建)——把原始文档变成可检索的结构化内容。负责文档解析、Chunk 切分、Embedding 向量化、向量入库。这是系统的地基,只需要执行一次或定期更新。
模块二:Query 理解(查询预处理)——用户 query 进来后,先"读懂"它,再决定怎么处理。包括意图识别、实体提取、Query 改写/扩写、检索路由决策。这是系统的"调度员"。
模块三:在线召回(检索与精排)——根据处理后的 query,从知识库中找到最相关的文档片段。包括向量检索、BM25 关键词检索、混合检索融合、Rerank 精排。这是系统的"搜索引擎"。
模块四:上下文生成(LLM 回答)——把检索到的片段和用户问题一起喂给 LLM,生成最终回答。包括 Prompt 构建、幻觉压制、多轮对话衔接、引用标注。这是系统面向用户的最终输出。
面试的时候,先把这四个模块按顺序列出来,面试官就知道你脑子里有一张完整的图。然后再逐个展开。

二、模块之间不是独立的——六个关键联动点
这是大多数人缺失的部分。很多人把四个模块当成独立的流水线,优化的时候头痛医头、脚痛医脚。但实际上模块之间有深度的相互影响,理解这些联动关系才是真正的系统设计能力。
联动一:离线解析 × 在线召回——Chunk 大小要配合 LLM 窗口
这是最容易被忽视但影响最大的联动。
Chunk 切得太大,LLM 的上下文窗口放不下几个片段,信息覆盖率低;Chunk 切得太小,每个片段语义残缺,检索时匹配不准,而且需要拼凑更多片段才能凑够上下文,容易信息散乱。
在我们的实战项目中,最终确定的 Chunk 大小是 300-500 token,配合 50 token 的 overlap。这个数字不是拍脑袋定的,而是在"检索召回率"和"LLM 生成效果"之间反复实验出来的——Chunk 太短时 MRR 下降(语义不完整导致匹配不准),Chunk 太长时 LLM 回答质量下降(噪音太多)。
另外,离线阶段存的元数据越丰富(文档来源、章节标题、发布时间、内容类型),在线召回时能做的过滤就越精准。比如用户问"最新的车险理赔流程",如果离线阶段存了时间标签,在线就能加时间过滤;如果没存,你只能靠语义检索去猜"最新"是什么意思,大概率召回旧版本。
联动二:Query 理解 × 在线召回——解析结果直接指导检索策略
Query 理解模块的输出不是给人看的,是给检索模块用的。
意图识别的结果决定了走哪条检索链路——知识库检索、计算模块、NL2SQL 还是直接拒答。实体提取的结果决定了检索时加什么过滤条件——时间范围、文档来源、内容类别。Query 改写的结果决定了实际送入向量库的是什么文本。
如果这两个模块配合不好,会出现两种典型问题:一是解析准确但检索没用上(比如提取出了时间实体"昨天",但检索模块没有对应的时间过滤逻辑),等于白解析;二是解析出错导致检索跑偏(比如意图识别错了,该走检索的去了计算模块),比不做解析还糟。
一个更进阶的联动是多索引路由:如果你的知识库按主题分成了多个索引(理赔制度、销售策略、产品信息各一个),Query 理解模块可以根据意图直接选择对应索引检索,而不是在全库里搜。这样既提高精度又减少计算量。
联动三:在线召回 × 上下文生成——给 LLM 多少上下文是门学问
检索模块返回了 Top 10 个片段,是不是全部喂给 LLM?
不是。上下文过少信息不足,LLM 答不全;上下文过多噪音干扰,LLM 反而被不相关内容带偏。研究表明,LLM 更容易关注上下文开头和结尾的内容,中间部分容易被忽略——这就是所谓的 Lost in the Middle 问题。
在实战中,我们通过 Rerank 精排后只取 Top 5 个片段,并且把相关度最高的放在最前面。如果片段来自不同文档,在 Prompt 中用编号区分清楚。这样 LLM 既能获得足够的信息支撑,又不会被大量无关内容淹没。
另一个关键决策是上下文的组织方式。是按相关度排序?还是按文档原文顺序排列?实践中我们选择按相关度排序——让 LLM 先看到最重要的信息,减少它"忽略中间"的概率。
联动四:上下文生成 × 在线召回——生成反馈反哺检索
这是进阶玩法,也是面试的加分项。
如果 LLM 生成的回答是"无法从资料中找到答案",说明检索可能没到位。系统可以自动判断这种情况,然后放宽检索条件(比如降低相似度阈值或换一种检索策略)重新检索,拿到新结果后让 LLM 再试一次。
这个闭环被称为反馈式检索——生成模块的输出反过来触发检索模块的重试。它让 RAG 系统从"单次检索"变成了"自适应检索",对长尾问题的覆盖率有明显提升。
但要注意两点:一是设置重试上限(最多重试 1-2 次),避免无限循环;二是重试时要换策略而不是重复同样的操作,否则结果不会变。
联动五:全链路监控——在哪个环节掉链子?
RAG 系统出了问题,最难的不是修复,而是定位问题出在哪个模块。
用户说"回答不准",到底是检索没找到正确文档(召回问题),还是找到了但 LLM 没用好(生成问题)?是 Query 理解把意图搞错了(路由问题),还是离线阶段文档解析就出了错(数据问题)?
解决方案是在每个模块的输出环节埋点记录:Query 理解模块记录识别出的意图和实体、召回模块记录返回的片段 ID 和相关度分数、生成模块记录 LLM 的回答和置信度。出了问题就沿着链路回溯,很快就能定位瓶颈。
在我们的项目中,每周会抽查 50 个 badcase,按"解析问题/检索问题/生成问题"分类。连续三周发现某一类问题占比最高,就集中优化对应模块。这种数据驱动的迭代方式,比凭感觉调参靠谱得多。
联动六:缓存跨模块复用——空间换时间
缓存不是某一个模块的事,而是贯穿整个链路的。
Embedding 缓存:相同 query 的向量不需要重复计算,存在 Redis 里复用。检索结果缓存:高频问题的检索结果直接缓存,跳过向量库查询。答案缓存:FAQ 类问题直接缓存完整回答,实现毫秒级响应。
三层缓存配合使用,热门查询的端到端响应时间可以从秒级降到 50ms 以内。但要注意给缓存设 TTL(过期时间),知识库更新后旧缓存要及时清除。

三、面试怎么答"从 0 设计 RAG 系统"?
这是面试中最高频的系统设计题。很多人一上来就开始讲技术细节,面试官根本跟不上。正确的回答框架是先全景后细节、先离线后在线:
第一步:画全景图(30 秒)。 “一个 RAG 系统包含四个核心模块:离线解析、Query 理解、在线召回、上下文生成。离线解析只需要执行一次,后面三个模块在每次用户查询时按顺序执行。”
第二步:讲离线流程(1 分钟)。 “首先是知识库构建。原始文档通过 MinerU 做版面分析和 OCR 提取结构化文本,然后基于文档层级结构做智能 Chunk 切分(300-500 token + 50 overlap),每个 Chunk 带上章节路径、内容类型、来源页码等元数据。最后用 BGE-M3 生成 Embedding 向量,存入 Milvus 向量库,同时建 BM25 倒排索引。”
第三步:讲在线流程(2 分钟)。 “用户 query 进来后,先经过 Query 理解模块做意图识别和实体提取,决定走检索还是走计算模块。走检索的话,对 query 做改写和扩写后,同时发起向量检索和 BM25 检索,用 RRF 融合结果,再用 Cross-Encoder 精排取 Top 5。最后把精排后的片段和 query 一起构建 Prompt,喂给 LLM 生成回答,并在 Prompt 中要求模型标注引用来源。”
第四步:讲关键联动(1 分钟)。 “几个关键的模块联动:Chunk 大小要配合 LLM 上下文窗口,不能孤立调参;Query 理解的输出直接指导检索策略,比如提取出时间实体就加时间过滤;如果 LLM 回答’不知道’,系统会自动触发二次检索。整个链路有三层缓存(Embedding/检索结果/答案)做加速,热门查询可以做到 50ms 响应。”
四步讲完,面试官对你的全局设计能力就有了清晰的判断。然后他会挑某个模块深入追问——而这些追问的答案,前面的系列文章都已经覆盖了。

如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】


为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。


大模型入门到实战全套学习大礼包
1、大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

2、大模型学习书籍&文档
学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

3、AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

4、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

5、大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

适用人群

第一阶段(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 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

1131

被折叠的 条评论
为什么被折叠?



