本文介绍了RAG在大模型应用开发中的重要性解释了LLM的局限性及RAG如何弥补这些不足。文章详细阐述了RAG的核心概念包括嵌入式模型、向量和向量数据库的作用。同时还提供了RAG的标准流程、分块策略、检索策略与优化方法以及提示工程在RAG中的应用。最后文章讨论了RAG效果评估的关键指标和实战方法帮助读者全面理解并实践RAG技术。年初给自己定了个小目标系统学一遍大模型应用开发相关的东西重点放在 MCP、RAG 和 Agent 上。这篇文章就是我在学习 RAG 过程中的一些整理和思考也当作发出来和大家一起交流。一、为什么需要 RAG先抛个问题大模型这么强了为什么还需要 RAG 这种绕一圈的方案直接丢给 LLM 不行吗LLM 的局限性简单来说LLM 像一个见多识广但记不住你公司具体业务的同事主要有几类限制领域知识缺乏训练数据来源很广但在医疗、法律、金融、细分 SaaS 等垂直领域往往覆盖不够细回答容易停留在泛泛而谈。幻觉问题也就是那种一本正经地胡说八道。在写 demo、写一点小脚本时问题不大但一旦落到风控、合规这种场景就很危险了。信息过时模型的知识停在训练数据的时间点。 可以理解为它的世界观是某个时间点的快照之后发生的政策调整、价格变化、技术方案更新它天然不知道。数据安全企业内部文档、私有数据库、业务系统里的数据没法直接拿去训练公有模型。所以大模型本身更像一个强推理强语言表达的组件不是一个永远最新、永远正确的知识库。RAG 的价值那 RAG 到底解决了什么RAG简单理解为“先从你的知识库里翻资料再让 LLM 基于这些资料来回答问题。它带来的几个直接收益弥补知识短板可以把企业文档、专业手册、产品知识库等统一接到 LLM 前面变成它可以实时查询的外挂知识。减少幻觉模型不再完全凭印象和猜测作答而是有检索到的文档做支持幻觉比例会明显降低。支持最新信息知识库可以随时更新增量入库、定期同步等不用每次都重训模型。降低成本不用把所有内容硬塞进 Prompt而是只检索 Top-K 相关片段送给模型Token 花在刀刃上。数据安全更可控数据留在自己的向量库或内部存储里模型只看到必要上下文减少数据裸奔的风险。RAG vs 微调怎么选经常有人问我要做知识库问答是用 RAG 还是直接微调可以用一张简单对比表来理解维度RAG微调Fine-tuning知识更新灵活随改随用需要重新训练、部署成本检索调用成本整体可控训练、存储、推理成本都偏高适用场景知识库问答、文档助手、实时信息查询领域推理、特定任务格式、行为习惯调优数据量要求没有特别刚性要求需要大量高质量样本简单来说如果你要做的是基于文档回答问题优先考虑 RAG如果你要增强的是模型的行为模式或推理风格比如工具调用习惯、特定结构输出更适合微调很多复杂场景其实是 RAG 微调 一起上 RAG 负责找到对的资料微调负责更聪明地读更稳定地输出。二、RAG 的核心概念嵌入式模型问题为什么做 RAG 一定会提到 Embedding 模型可以理解为“嵌入模型就是一个把文本映射到语义空间坐标的工具。简单来说它接收一段文本甚至图片、代码输出一串数字向量向量之间的距离 语义的相似程度选择什么样的嵌入模型会非常直接地影响召回是否精准是否能理解你的专业名词多语言场景效果好不好所以在 RAG 系统里Embedding 模型几乎和大模型本身同等重要。向量问题向量到底是什么简单来说“向量就把一句话变成了一串数字这串数字是它在语义空间里的坐标。关键点语义接近 ⇒ 向量距离更近 比如苹果手机 和 iPhone 的向量会很近苹果手机 和 水果苹果 的向量会有距离技术实现上可能是几百维、上千维但对我们做应用开发来说把它当成语义坐标就够了。向量数据库问题我有了向量为什么还需要一个专门的向量数据库普通数据库不行吗可以理解为“向量数据库就是一个可以在语义空间里做最近邻搜索的数据库。如果不使用向量库我们可能会这么做把所有文档内容塞进 Prompt或者自己穷举字符串匹配、关键词搜索问题是大模型有上下文长度限制内容一多就溢出Prompt 里塞太多无关信息幻觉反而更严重Token 成本也顶不住向量数据库一般会做几件事长文档分块Chunking每块生成向量保存向量 原文 元数据来源、时间等用户提问时把问题向量化在向量空间里找 Top-K 最靠近的块返回这样我们就只需要把这几个相关 chunk 放进 Prompt大大节省成本同时保证回答更有根有据。三、RAG 标准流程可以先把整个流程看成一条流水线ounter(line用户提问 → 查询向量化 → 向量搜索 → 检索 Top-K 文档 → 构造 Prompt → LLM 生成 → 返回答案一般会分成三个阶段索引 → 检索 → 生成索引阶段先把资料变成可检索的形态索引阶段主要做三件事文档解析支持多种格式PDF、Word、Markdown、HTML、代码仓库等目标是提取干净文本为后续分块做准备分块分块其实是一个非常关键的决策点块太大向量语义太混检索容易不精确块太小语义被切碎模型拿到的上下文支离破碎后面有一整节会专门展开讲分块策略。向量嵌入每个文本块用同一个嵌入模型生成向量一起写入向量数据库 一般还会附带一些元数据文档名、时间、来源类型等检索阶段检索阶段串起来其实就是一句话“把用户的问题变成向量 → 去向量库里找最近的一些块。具体步骤查询向量化 用和入库时相同的嵌入模型把用户问题转成向量相似度匹配Top-K 检索 常见做法是用余弦相似度、点积等在向量库里找最相近的 K 个文本块这一步的目标是保证拿到的是对的资料而不仅仅是拿到了资料。生成阶段这一步就是大家最熟悉的 LLM 工作流程但有两个细节很重要Prompt 构造一个比较常见、也比较稳妥的写法ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineSystem: 你是一个知识库助手请根据以下参考资料回答用户问题。如果参考资料中没有提到相关信息请直接说明在当前知识库中未找到相关信息不要根据常识或想象编造答案。 参考资料{检索到的文档块1}{检索到的文档块2}... User: {用户原始问题}LLM 生成回答模型会基于用户的原始问题检索到的上下文综合生成答案。 这一层的效果除了和模型本身能力有关跟 Prompt 设计也强相关后面有专门一节聊提示词在 RAG 里的用法。四、分块策略很多 RAG 项目效果不好其实卡在第一步——分块没处理好。“固定大小分块问题如果我什么都不调直接按字数/Token 切可以吗可以理解为“用一把统一长度的尺按 500/1000 字这样往下切。优势劣势实现简单很容易上手完全不考虑语义边界可能把句子切断分块大小可预期方便控制 Token某些块信息密度很低显得浪费适合格式高度统一的数据集对语义相关性没有优化适用场景 快速原型、做 baseline、新闻/博客等相对结构简单的内容。“简单来说先跑起来的方案不是最优但容易做对。重叠分块问题如何降低刚好切在关键句中间的风险可以理解为“每个块都跟上一个块有一部分重叠类似滑动窗口。优势劣势关键语义同时出现在相邻两个块里降低断句带来的信息丢失存储量和检索计算成本会略微上升上下文连贯性更好特别适合长段解释性文字实现稍复杂需要调窗口和重叠大小适用场景 合同、法律条文、技术手册、论文等对上下文一致性要求高的内容。“可以理解为宁可多存一点也不要截断关键信息。递归分块问题有没有办法既考虑语义结构又能控制块大小可以理解为“先按大结构切再在每一块里按更小的结构继续切直到满足长度限制。典型做法先按段落/n/n拆再按单行/n、句号、逗号等进一步拆每一层都控制最大长度优势劣势能很好地保留原文结构比如章节 → 段落 → 句子实现上需要配置较多参数分隔符顺序、最大长度等通常比纯固定长度更贴近语义结构对格式较混乱的文档效果依赖分隔符质量适用场景 长报告、研究文档、协议类文本等。“简单来说先粗后细逐层拆解是很多框架如 LangChain的推荐默认策略。文档特定分块问题代码、Markdown、LaTeX 这种强结构化内容怎么切可以理解为“利用文档本身的结构信息当作分隔符。比如Markdown按标题层级、列表项拆Python按函数、类、模块级定义切LaTeX按章节、公式、环境切优势劣势非常贴合原始结构语义单元通常很完整针对性强跨格式复用性差对代码、API 文档这种结构化内容效果很好需要为不同文档类型写不同逻辑适用场景 代码仓库、README、API 文档、技术博客等。“可以理解为格式即边界尤其适合代码类场景。语义分块问题能不能智能地按语义边界分块可以理解为“借助 NLP 工具按语义连贯的段落/句子来切而不是简单看字数。常用工具spaCyNLTK以及一些专门做 semantic splitting 的库优势劣势每个块内部语义通常很完整检索相关性很高需要额外计算预处理成本更高对精度要求高的问答系统效果明显实现复杂度高一些适用场景 高要求问答系统、需要尽量减少检索出来却用不上的冗余块。“简单来说语义优先成本其次 的高质量玩法。混合分块问题能不能既要效率又要精度可以理解为“把几种策略按层次/阶段组合起来用。例如首轮固定长度分块快速建立一个基础向量库关键业务文档再额外做语义分块/文档特定分块检索时针对特定类型文档选不同索引优势劣势可以在不同类型数据上用最合适的策略整体设计和维护成本更高更适合真实复杂业务场景需要监控和调参避免策略打架适用场景 数据格式多、业务复杂、同时考虑上线速度和效果的项目。“可以理解为工程化的现实解取长补短。如何选分块策略可以先按场景做一个粗分场景推荐策略快速 PoC / Demo固定大小分块知识库结构较清晰的长文档递归分块 少量重叠代码/Markdown 等结构化内容文档特定分块高精度问答、对召回质量非常敏感语义分块或混合分块数据类型杂、迭代期长混合分块一般的实践建议“从递归分块起步然后根据业务效果再逐步精细化。五、检索策略与优化向量检索类型稠密向量语义搜索可以理解为“用嵌入模型把文本变成连续向量再用向量相似度找意思像的内容。优势劣势能捕捉相同含义的不同表述比如 AI 编程 vs 人工智能程序设计对特别依赖关键词、型号、专业缩写的场景表达不一定稳对模糊查询、自然语言问题表现好调 embedding 模型、调参数需要一些经验稀疏向量关键词/BM25可以理解为“经典搜索引擎如 Elasticsearch的那套根据词频、逆文档频率打分。优势劣势对精确关键词、产品型号、ID、术语特别友好对自然语言提问、说人话的问题支持有限实现成熟性能和可观察性都很好无法自动理解同义词、近义词混合搜索当前主流推荐实践中最稳妥的方案往往是稠密 稀疏各自跑一遍检索把结果合并用重排序或打分融合做一个最终排序这样可以同时利用稠密向量的语义能力稀疏向量的关键词精确匹配能力六、RAG 调优实践我自己在优化 RAG 时会把调优拆成三段预处理 → 检索 → 后处理。预处理优化数据清洗简单来说就是在入库前洗个澡去掉噪声如多余页眉页脚、水印统一格式标点、空行、编码标准化一些特殊符号这样做的直接好处向量更干净语义更集中避免把很多垃圾内容当成知识塞进模型分块策略调优前面已经展开讲过这里只补一句“分块策略本身就是一个极其重要的调参维度。可以通过调 chunk 大小调重叠比例针对不同文档类型用不同策略来慢慢找一个适合自己业务的平衡点。检索优化元数据过滤问题只靠向量相似度够吗很多时候不够比如同一个问题不同年份政策答案不一样你只想看某个系统/某个部门/某个国家的文档这时候元数据就派上用场了比如文档来源时间分类标签作者/团队常见两种用法策略说明特点预过滤先用元数据筛出一个候选子集再做向量检索检索速度快但有可能把本来相关的文档提前排除后过滤先做向量检索再在 Top-K 上用元数据筛选召回更完整但整体延迟可能更高可以根据业务选择很多系统是两种会结合使用。查询转换问题用户问法和文档写法往往不一样怎么办这就是让 LLM 帮忙翻译问题| ColBERT | 在效率和精度之间做平衡 | 大规模检索场景 |另外一种做法是“直接用大模型来给每个文档打相关性分。优势劣势不用额外部署重排序模型Token 成本和延迟都比较高可以灵活定义相关性的标准结果会受 Prompt 和模型状态影响波动略大实践上我会建议小规模系统 / 内部工具可以先试 LLM 重排序真正上生产考虑用专业的 reranker 模型效果更稳、成本可控七、提示工程在 RAG 中的作用在 RAG 里Prompt 不是最后随便写一段而是系统效果的核心组成部分之一。这里用一个具体场景跨境电商问答助手来串几个常用技巧。提示的四个基础元素可以理解为每个提示至少要说清四件事要素说明示例跨境电商指令Instruction你要干什么你是一个亚马逊运营顾问上下文Context你能参考的资料以下是从知识库中检索到的平台政策片段输入数据Input用户的问题是什么FBA 发货有什么要求输出指示符Output Indicator你要以什么形式输出用 Markdown 列清单分点回答一些实用的小套路这里就快速过一下更多细节可以根据你自己的业务调整。具体指令告诉模型重点说啥、不说啥Few-shot 示例用 1-2 个例子教它你期望的回答风格默认兜底策略 明确写上如果知识库查不到请直接说查不到不要瞎猜角色设定 比如你是跨境运营顾问只对亚马逊平台负责不回答其他平台的问题等多语言支持 指定用用户提问的语言回复专业术语中英双标结构化输出 要求它用固定的标题/列表结构输出方便前端渲染或后续处理另外一个很重要的点“提示词本身要做版本管理。可以简单做一张表记录版本日期修改内容大致效果v1.02024-01-01初始版本用作 baselinev1.12024-01-15增加角色设定、禁止编造回答更稳定、幻觉减少v1.22024-02-01补充多语言和结构化输出对接前端更方便八、RAG 效果评估我们如何知道当前这套 RAG 配置是不是靠谱的三个核心指标可以简单记成三个字母CR / AR / FCR (Context Relevancy) 检索相关性检索出来的内容和用户问题到底有多相关AR (Answer Relevancy) 答案相关性模型给的答案是否真正解决了用户的提问F (Faithfulness) 可信度回答内容是否忠于检索到的文档有没有自己编故事RAG 最大的卖点其实就是 F“我不是纯靠猜我是有文档支撑的。几种实战评估方法人工标注测试集这一步虽然传统又费时间但非常有价值收集一批真实用户问题比如 50 100 条为每条问题标注标准答案对应的关键文档片段跑你的 RAG 系统看是否检索到了这些关键片段是否能生成接近标准答案的内容你能从中看到很多问题某些问题总是检索不准某些文档总是被忽略某些回答总是遗漏关键点A/B 测试当你有多个版本比如不同分块策略、不同 Top-K 设置时用同一批问题分别跑 A/B 两套配置对比 CR/AR/F、人工侧感受、用户反馈再决定上线哪个版本用大模型做评审可以让另一个模型来帮你打分比如判定回答是否切题回答有没有违背文档内容是否存在明显的编造这能在一定程度上节省人工评估的成本。不过要注意评审模型本身也会有偏差建议和人工评估结合使用用户反馈闭环最后也是最重要的一条用户用着爽不爽。常见做法在前端加有用/没用按钮记录追问比如为什么这么回答、你是不是搞错了针对 bad case 做集中分析反向优化分块/检索/Prompt可以重点关注用户满意度追问率需要人工介入的频率常见问题 优化方向检索结果不相关方向调分块、换 embedding、增加元数据过滤检索对了答案却答偏了方向优化 Prompt强调只根据文档回答、增加 few-shot答案只对一半方向调高 Top-K、做重排序、优化块粒度出现明显幻觉方向加上查不到就说查不到的兜底、检测相关性不足时拒答术语处理差方向术语表查询扩展、考虑领域专用 Embedding响应很慢方向使用更轻量的模型、优化索引结构、减少不必要的 LLM 调用长文档效果差方向层次化索引摘要详细块、父子块策略多语言不稳定方向多语言 Embedding、按语言划分索引、必要时做翻译中转小结 一点个人感受如果用一句话总结 RAG“RAG 是让大模型带着你的知识库一起工作的一套工程方案。它并不是某个具体框架、某种固定算法而更像一整条链路上的一堆工程决策文档怎么清洗和分块嵌入模型怎么选检索怎么做单向量/多向量/混合Prompt 怎么写效果怎么评估和迭代最后2026年技术圈的分化愈发明显降薪裁员潮持续蔓延传统开发、测试等岗位大批缩水不少从业者陷入职业焦虑与之形成鲜明对比的是AI大模型相关岗位迎来疯狂扩招薪资逆势飙升150%大厂更是直接开出70-100W年薪疯抢具备实战能力的大模型人才甚至放宽年龄限制只求能快速落地技术、创造价值很多程序员、职场新人纷纷入局大模型领域绝非盲目跟风而是实实在在看到了不可替代的价值优势这也是2026年最值得抓住的职业风口1、窗口期红利入门门槛友好不同于成熟赛道的“内卷式招聘”2026年大模型人才缺口巨大简历只要达标掌握基础AI应用具备简单项目经验年龄、学历均非硬性要求小白可快速入门转行程序员也能无缝衔接2、技术可复用上手速度翻倍如果你有前后端开发、测试、数据分析等基础在大模型落地、系统部署、Prompt工程等环节会更具优势无需从零开始复用原有技术能力就能快速进阶3、懂业务更吃香竞争力翻倍单纯懂技术已不够2026年大厂更看重“技术业务”的复合型人才有垂直领域金融、医疗、工业等经验者能精准定位模型落地痛点薪资比纯技术岗高出30%以上更重要的是即便没有转型需求用AI大模型工具为工作赋能、提升效率也已经成为80%企业的硬性要求——不会用大模型提效未来很可能被行业淘汰那么2026年小白/程序员该如何高效学习大模型很多人想入门大模型却陷入两大困境要么到处搜集零散资料不成体系越学越懵要么被收费高昂的课程割韭菜花了钱却学不到实战技能白白浪费时间走弯路。今天就给大家精心整理了一份2026年最新、免费、系统化的AI大模型学习资源包覆盖从零基础入门到商业实战、从理论沉淀到面试通关的全流程所有资料均已整理归档无需拼凑直接领取就能上手学习小白可照做程序员可进阶扫码免费领取全部内容1、大模型系统化学习路线这份学习路线结合2026年行业趋势和新手学习规律由行业专家精心设计从零基础到精通每一步都有明确指引帮你节省80%的无效学习时间少走弯路、高效进阶避免踩坑。2、从0到进阶大模型学习视频教程从入门到进阶这里都有跟着老师学习事半功倍。3、大模型学习书籍电子文档涵盖2026年最新技术要点包括基础入门、Transformer核心原理、Prompt工程、RAG实战、模型微调与部署等内容4、AI大模型最新行业报告报告包含腾讯、阿里、甲子光年等权威机构发布的核心内容还有2026年中文大模型基准测评报告、AI Agent行业研究报告等帮你站在行业前沿把握技术风口。5、大模型项目实战配套源码项目包含Deepseek R1、GPT项目、MCP项目、RAG实战等热门方向还有视频配套代码手把手教你从0到1完成项目开发既能练手提升技术又能丰富简历为求职和职业发展加分。6、2026大模型大厂面试真题2026年大模型面试已全面升级不再单纯考察基础原理而是转向侧重技术落地和业务结合的综合考察很多程序员和新手因为缺乏针对性准备明明技术不错却在面试中失利。适用人群四阶段学习规划共90天可落地执行第一阶段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 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容7、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】