扒扒RAG:当大模型学会“查资料”,AI 的脑子发生了什么变化?
前瞻导读2020 年RAG 把大模型从“只靠记忆答题”带进了“先查资料、再给答案”的阶段也成为今天企业知识库、智能问答和 Agent 系统里最常见的底层能力之一。2020 年一篇名为《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》的论文把一个后来影响整个 AI 应用行业的概念推到了台前RAG检索增强生成。简单理解它让大模型从一场“闭卷考试”变成了一场允许查资料的“开卷考试”。图片来源arXiv为什么大模型明明很聪明却总在一本正经地胡说八道先说一个大模型最尴尬的问题。你问它一个问题它可能不知道。但它通常不会老老实实地回答“对不起这个我不会。”它更有可能根据自己学过的语言规律拼出一个听起来非常合理的答案。人名有了。时间有了。数字有了。甚至参考文献都给你列出来了。唯一的问题是全是编的…这就是我们经常说的“幻觉”hallucination还有另一个问题。大模型的知识大量来自训练时见过的数据。训练结束之后它脑子里的知识不会像新闻网站一样自动实时刷新。昨天发生了什么、公司内部最新政策是什么、你电脑里那份 PRD 写了什么它本来都不知道。所以大模型一直有两个很现实的短板不知道的东西可能瞎编。新发生的事情可能不知道。RAG 的出现就是在尝试给这两个问题补上一块拼图。它没有让模型凭空变得更聪明而是教会了模型一件很重要的事不知道的时候先去查。RAG 通过引入外部知识源让模型在生成答案前先寻找相关信息从而有机会获得更新、更具体、也更贴近特定领域的上下文。它能够提高知识密集型任务中的答案准确性和可信度但并不能保证彻底消除幻觉。简单整理了下面要展开的RAG的工作原理概览图片来源image2RAG 到底是什么把大模型想成一个参加开卷考试的学生RAG全称Retrieval-Augmented Generation检索增强生成。这个名字听起来很技术。但它的核心思想其实很简单回答之前先查资料。图片来源aws假设你问一个普通大模型“我们公司今年的差旅报销标准是多少”如果这个政策从未出现在模型训练数据里那它当然不知道。它可能拒绝回答。也可能根据常见企业制度给你编一个看起来很像真的答案。但接入 RAG 之后流程就不一样了:第一步模型会先去公司的制度知识库里搜索比如有没有差旅制度有没有报销标准最新版本是哪一份北京、上海和其他城市的标准是不是不同第二步找到相关文件之后再把问题和资料一起交给模型。这时大模型不再需要靠“回忆”回答。它可以根据刚刚查到的证据组织答案。所以可以把两种方式理解成普通 LLM凭脑子里记住的东西回答。RAG先翻资料再结合自己的理解能力回答。2020 年Patrick Lewis等人在 RAG 的经典论文里提出了一个很有意思的思路不要再逼着模型把所有知识都背在脑子里而是给它配一个可以随时翻阅的外部资料库。你可以把大模型想象成一个正在参加考试的学生。它在训练过程中学到的知识就像已经记在脑子里的东西这叫参数化记忆。而 Wikipedia 这样的外部知识库则像一本可以随时翻阅的参考书这叫非参数化记忆。问题来了以后模型不用只靠脑子硬想。检索器会先去外部资料库里寻找相关内容再把找到的资料交给生成模型由它结合问题组织最终答案。比如你问“《老人与海》的作者是谁”普通模型可能直接凭记忆回答。但在 RAG 里系统可以先从外部知识库找到与《老人与海》相关的文档再根据检索到的内容回答欧内斯特·海明威。这就是 RAG 最核心的变化它不是让模型记住更多而是让模型在需要的时候知道去哪里找。一套最常见的 RAG到底是怎么工作的今天工程里常见的 RAG 系统其实可以简单理解成四步先把资料整理好再建立索引用户提问后去找相关资料最后把找到的内容交给大模型生成答案。第一步先把资料整理成“能被搜”的样子假设你手里有一份 200 页的 PDF。里面可能是企业制度也可能是产品文档、研究报告或者操作手册。你当然不能每次有人提问就把整整 200 页全部塞给大模型。所以第一件事通常是把长文档切成一个个更小的片段。这就是常说的Chunk分块。但问题很快就来了。切得太小上下文容易断掉。前半句在一个块里后半句跑到了另一个块模型拿到的可能只是一截残缺的信息。切得太大又会把大量无关内容一起带进来。真正有用的信息只有两句话旁边却塞着几千字背景资料。所以分块并不是简单地“每 500 字切一刀”。更重要的是要让每个片段既保留足够的上下文又尽量围绕一个相对完整的主题。这也是为什么很多 RAG 项目做到最后会发现真正麻烦的往往不是接上一个大模型而是先把资料整理成适合被检索的样子。第二步让机器知道每段资料大概在说什么文档切好之后系统还需要理解这一段讲年假。那一段讲报销。另一段讲供应商管理。工程里常见的做法是把每个文档块转换成一串数字也就是所谓的向量Vector。你可以把它理解成给每段文字放到一个“语义地图”上。意思接近的内容会被放得更近。比如“员工每年享有 10 天年假。”和“公司的年度带薪休假是多少天”两句话虽然用词不同但表达的是同一类意思。一个好的向量模型就应该能看出这种语义上的接近。这样以后用户提问时系统找的就不只是“有没有出现同一个关键词”而是哪段资料真正和这个问题意思最接近。第三步用户提问系统开始查资料假设用户问“我工作满一年有多少天年假”这时候系统不会立刻让大模型直接回答。它会先拿这个问题去已经建立好的索引里找相关资料。可能找回来的是员工手册里的休假章节。2026 年最新修订版的休假制度。或者 HR FAQ 里关于工作年限和年假天数的说明。这一步就是Retrieval检索。说白了就是先从一大堆资料里把最可能有用的那几段找出来。第四步把找到的资料交给大模型最后系统会把用户的问题和刚刚检索到的资料一起交给大模型。这时候大模型不再只靠自己“脑子里记得什么”来回答。它有了一个额外参考。比如系统可能告诉它用户的问题是“我工作满一年有多少天年假”同时提供一段公司制度“员工连续工作满一年后每年享有 10 天带薪年假。”大模型再根据这段资料组织答案。于是整个过程就变成了用户提问 → 系统查资料 → 找到相关证据 → 大模型组织答案。这就是今天最常见的一套 RAG 工作流。看起来并不复杂。但真正做过的人通常很快就会发现RAG 最难的从来不是“能不能搜”而是“搜回来的到底是不是模型真正需要的东西”。RAG 不是一个技术点而是经历了三代进化随着技术发展RAG 早就不只是最初的“检索一下然后生成”。Gao 等人的综述将 RAG 的技术演进总结为三种主要范式Naive RAG、Advanced RAG 和 Modular RAG。范式怎么做最大特点Naive RAG索引 → 检索 → 生成简单直接但检索质量容易不稳定Advanced RAG检索前优化 检索后优化想办法让模型找到更准、更干净的资料Modular RAG路由、搜索、记忆等模块灵活组合根据不同任务动态选择处理方式为什么看似最简单的 RAG经常一上手就不好用很多人第一次做 RAG思路都差不多。把 PDF 扔进去切成小块做 Embedding存进向量数据库。等用户提问时再搜几个最相关的片段交给大模型生成答案。听起来很顺。但真正跑起来以后经常会出现一个很尴尬的问题流程全对答案还是不准。很多时候不是模型不够聪明而是它一开始拿到的资料就错了。比如用户问“这个产品为什么下线”结果系统检索回来的是产品上线时间、使用手册、另一个同名项目的复盘甚至一些根本不相关的资料。这时候再强的大模型也很难救回来。就像你让一个学生参加开卷考试题目问的是产品下线原因桌上放的却是一堆产品说明书。他翻得再认真也不一定能找到答案。所以RAG 真正难的地方从来不是“有没有接上向量库”而是在检索之前能不能先把问题理解对在检索之后能不能把真正有价值的内容留下来。检索之前先把问题和资料都收拾干净很多人第一次做 RAG会把注意力全放在模型和向量数据库上。但真正落到生产场景里你很快会发现最先拖后腿的往往不是模型而是资料本身。一份制度文档里可能混着重复页眉、扫描乱码和错位表格同一份政策可能存了三四个版本其中还有已经失效的旧文件。这些东西如果不先处理后面的检索再聪明也只是在一堆脏数据里努力找答案。所以系统级RAG的第一步很多时候不是换更强的模型而是先把知识库整理干净哪些文档还有效哪些已经过期哪些内容重复哪些需要合并一份长文档应该怎么切才能既保留上下文又不把无关信息一起塞给模型。这一步看起来不够“AI”却往往最决定最终效果。RAG非常现实资料本身是乱的模型再强也很难替你把混乱自动变成真相。查询重写用户的问题也不一定适合直接拿去搜索。比如有人问“那个报销规则改了吗”这句话人能看懂是因为我们会自动结合上下文。但对检索系统来说“那个”到底指什么是差旅报销、招待费报销还是采购报销问的是哪个部门又想比较哪个时间段如果系统直接拿这句话去搜结果很可能会很乱。所以一个更成熟的 RAG 系统往往会先帮用户把问题“问清楚”。比如把它改写成“查询 2026 年最新版员工差旅报销制度并与上一版本对比是否发生变化。”问题一旦具体了后面的检索也会准很多。但光靠语义理解还不够。有些内容人一眼就知道必须精确匹配。比如合同编号、产品 SKU、员工 ERP、SQL 字段名、报错代码。你不能指望系统去“理解一个差不多的意思”因为差一个字符可能就是完全不同的东西。这也是为什么很多实际的 RAG 系统不会只用向量检索而是把语义检索和关键词检索放在一起。前者负责判断你大概想找什么。后者负责确认你找的是不是这个具体东西。两者配合才更接近人在真实场景里查资料的方式。所以 Advanced RAG 真正做的不只是“搜得更多”而是想办法让系统在检索前先把问题理解清楚在检索中找到真正相关的内容再在检索后把噪声过滤掉。说到底它解决的还是同一个问题别急着回答先把资料找对。检索之后搜回来十篇不代表十篇都有用找完资料之后还有第二个问题排名靠前的真的就是最重要的吗这真不一定所以很多 RAG 系统会加入Rerank重排embark第一轮先粗筛比如从十万份文档里找出 50 条候选资料。第二轮再精排仔细判断哪几条和用户的问题最相关把真正重要的内容放到前面。这很像招聘。第一轮先从 1 万份简历里筛出 100 个人。第二轮再认真面试找出真正合适的 5 个。除此之外还有另一个问题资料太多。检索回来十几个文档每个都有几千字全部塞给模型不但成本增加还可能产生噪声。于是又出现了上下文压缩去掉废话。提取关键句。保留和当前问题最相关的信息。最后再交给大模型。所以一个真正成熟的 RAG不是搜得越多越好。而是刚好把最需要的证据送到模型面前。再往前一步RAG 开始学会自己决定“该怎么查”到了 Modular RAGRAG 的思路又往前走了一步。传统 RAG 的流程通常比较固定用户提问系统去检索再把结果交给大模型生成答案。这套流程应付简单问题没什么问题。但现实里的问题哪有这么整齐。你问一句“11 等于多少”当然没必要查知识库。但如果你问“我们公司昨天刚更新的差旅标准是什么”那就必须去查最新制度。再复杂一点如果你问“对比过去三年的销售数据再结合最近的市场变化判断明年的增长风险。”这时候光查一次知识库显然不够。系统可能要先读内部数据库再找最新新闻翻行业报告做数据计算最后还要根据中途发现的新线索决定要不要继续查。问题就出在这里。不同的问题本来就不应该走同一条路。这正是 Modular RAG 真正厉害的地方。它不再要求所有问题都按照“检索一次再生成一次”的固定流程处理而是把整个 RAG 系统拆成一个个可以自由组合的模块。简单问题可以直接回答。涉及企业内部知识就查知识库。需要最新信息就调用搜索。问题太复杂可以先拆成几个子问题。第一次结果不够还可以继续检索甚至换一种搜索策略重新来一遍。也就是说RAG 不再像一根固定的管道。它开始更像一个工作台问题来了先判断需要哪些工具再决定先做什么、后做什么。这也是为什么 2023 年底发布的经典 RAG 综述会把 Modular RAG 视为 RAG 演进中的重要阶段。到了 2024 年研究者又进一步提出 Modular RAG 框架希望把复杂的 RAG 系统拆成更独立的模块和专用操作组件让它们可以根据不同任务重新组合、灵活编排。如果说 Naive RAG 只是教会 AI“遇到不会的问题先去查资料。”那么 Modular RAG 更进一步它开始教 AI“先判断这个问题该不该查、去哪查、怎么查、查几次以及什么时候已经查够了。”这时候RAG 已经不只是简单的“检索增强生成”。它开始有了一点真正的任务规划能力。RAG 也不是万能药讲到这里很容易产生一个误解既然大模型会幻觉那加 RAG 不就行了吗没这么简单。RAG 自己也有一堆坑。第一检索错了后面全错用户问 A。系统找回来 B。模型再聪明也可能只能一本正经地根据 B 回答。所以RAG 的上限很大程度上受检索质量影响。第二找对了模型也可能不用即使正确资料已经放在上下文里模型依然可能忽略它。误解它。过度推断。或者继续使用自己的参数知识。所以“找到正确证据”和“根据证据正确回答”是两个不同的问题。第三知识库本身可能就是错的如果企业知识库里有过期制度。重复文件。互相矛盾的版本。错误数据。那么 RAG 只会更高效地把这些问题送给模型。第四权限和安全问题会越来越重要如果员工只能看 A 部门资料却因为一个统一向量库检索到了 B 部门机密信息那就不是模型效果问题了。而是数据泄露。随着 RAG 进入企业真实场景权限控制、隐私保护、数据污染和检索安全都会成为不能绕开的工程问题。相关综述也把检索质量、生成忠实性、评估和系统安全列为 RAG 持续面临的核心挑战。写在最后所以RAG 最值得看的地方不是给大模型外挂了一个向量数据库。而是它改变了 AI 处理知识的方式。过去我们拼命让模型记住更多。更多参数。更多训练数据。更长上下文。但 RAG 提供了另一条路不必什么都记住但要知道什么时候去找去哪找以及找到之后怎么用。这件事听起来很普通。因为人类本来就是这么工作的。医生不会背下所有医学论文。律师不会记住所有判例。程序员也不会记住每一个 API。真正专业的人不只是脑子里装得多。而是遇到一个陌生问题时知道怎么把答案找出来。但问题也来了。当知识越来越多、问题越来越复杂仅仅靠“把问题转成一个向量再找几个最相似的文档块”真的还够吗显然不一定。如果一个问题需要跨十几份文档寻找关系怎么办如果用户的问题本身就表达得不清楚怎么办如果第一次搜出来的资料不够AI 能不能自己换个关键词再查一次如果答案需要同时查数据库、知识库、互联网甚至一边推理一边决定下一步去哪找呢这也是 RAG 现在正在发生的变化。严格来说RAG 并没有被某一种新技术直接替代。真正开始过时的是最简单的那套切块、向量化、Top-K 检索然后把结果一股脑塞给模型。新的检索方法已经在往更深处走。比如 GraphRAG它不再只寻找“哪段文字和问题最像”而是尝试把人物、事件、公司、概念之间的关系组织成图再去回答那些需要跨文档理解的复杂问题。微软研究院已经将 GraphRAG 用于大规模文本数据中的关系发现和全局性问题回答。还有 Agentic RAG。它不再规定 AI 每次只能“搜一次、答一次”。Agent 可以先拆问题决定要不要检索、查哪个数据源、第一次结果够不够、要不要换个方向继续查甚至一边推理一边调整自己的搜索策略。再比如 HyDE。它的做法很有意思用户先提一个问题AI 不急着直接搜索而是先自己生成一份“假想中的答案文档”再拿这份文档去寻找真正的相关资料。有时候人不知道该怎么问但模型可以先猜出“答案大概长什么样”再顺着这个方向去找。还有 ColBERT 和 Late Interaction。传统向量检索喜欢把整段文字压成一个向量。但一段几百字的文本真的能被一个向量完整代表吗ColBERT 的思路是保留更细粒度的 Token 级表示再让查询和文档之间进行更精细的匹配从而在检索准确性和效率之间寻找新的平衡。所以RAG 的故事其实还远没有结束。它只是从最初的“先查资料再回答。”慢慢走向“先判断该不该查再决定去哪查、怎么查、查几次以及什么时候已经查够了。”RAG 让大模型学会了“查资料”。但接下来GraphRAGAgentic RAGHyDEColBERT这些RAG的优化甚至迭代方案这些可能才是检索技术真正开始变得有意思的地方。下一篇打算再扒扒GraphRAG当 AI 不再只满足于“找到相似的文档”而是开始试着看懂人物、事件和概念之间的关系时它就不只是在查资料了而是在尝试看懂知识本身参考文献1. RAG 原始论文https://arxiv.org/abs/2005.114012、Naive RAG、Advanced RAG到Modular RAG的演进https://arxiv.org/abs/2312.109973、Agentic RAGhttps://arxiv.org/abs/2501.091364、Hypothetical Document Embeddingshttps://arxiv.org/abs/2212.104965、Modular RAGhttps://arxiv.org/abs/2407.21059这里给大家精心整理了一份全面的AI大模型学习资源包括AI大模型全套学习路线图从入门到实战、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等资料免费分享扫码免费领取全部内容1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 2026行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。7. 资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容

相关新闻