当前位置: 首页 > news >正文

RAG 从诞生到今天:一个检索增强生成的演进故事

RAG 从诞生到今天:一个检索增强生成的演进故事

目录

  • 引言
  • RAG 是怎么诞生的?
    • 第一波:2019 年的 kNN-LM
    • 第二波:DPR(Dense Passage Retriever)的提出
    • Lewis 等人的贡献
  • RAG 是怎么演化的?
    • 第一代:Naive RAG(2020-2021)——“先检索,再生成”
    • 第二代:Advanced RAG(2022-2023)——“检索前先想清楚,检索后再筛选”
    • 第三代:Modular RAG(2023-2024)——“各环节解耦,自由编排”
    • 第四代:Agentic RAG(2024-至今)——“让系统自己决定怎么做”
  • RAG 真正解决了什么问题?
    • 1. 知识时效性
    • 2. 幻觉抑制
    • 3. 领域知识接入
    • 4. 可解释性与溯源
  • RAG 还没解决的问题?
    • 检索质量是最大的瓶颈
    • 幻觉没有被消灭,只是换了形式
    • 评估一团乱
    • 工程复杂度被低估
    • 隐私和安全
  • 未来会往哪里走?
    • Agentic RAG 会继续深化
    • 多模态 RAG
    • Graph RAG 的实用化
    • 检索效率的提升
    • 评估体系的收敛
  • 我现在的理解
  • 如果你也在入门

引言

2023 年 ChatGPT 爆火之后,"用 RAG 给大模型接上外部知识库"几乎成了每个 AI 应用的标准动作。一时间好像人人都知道 RAG
是什么——把文档切成块,灌进向量数据库,用户提问时检索出相关片段塞进prompt,让模型读着回答。

但认真去想,RAG 这个概念到底是怎么来的?它经历了哪些阶段?它真的解决了幻觉问题吗?还有哪些它搞不定的事?

我最近花了些时间系统梳理了一遍 RAG 的发展脉络。这篇文章就是我目前的阶段性理解。

RAG 是怎么诞生的?

RAG 的诞生不是一次性事件。它有一个明确的"学术出生日期"——202年 Meta AI 的 Lewis 等人在 NeurIPS
上发表了《Retrieval-Augmented Generation for Knowledge-Intensive NLP
Tasks》,第一次把"检索增强生成"作为一个完整框架提出来。

但在这之前,已经有两波关键铺垫。

第一波:2019 年的 kNN-LM。 Khandelwal 等人提出了一个直觉很强的想法——语言模型预测下一个token
的时候,不光看自己的参数,还可以去训练集里找相似的上下文来"参考"。这个工作第一次证明,检索能直接提升语言模型的质量。它
的局限是检索的是训练数据本身,不是外部知识。

第二波:DPR(Dense Passage Retriever)的提出。 传统的检索靠 BM25
这类稀疏方法做关键词匹配,语义上"猫坐在垫子上"和"一只猫咪趴在毯子表面"在 BM25 眼里可能毫无关系。DPR
用双编码器把问题和文档映射到同一个语义空间,让检索真正能理解"意思"而不只是"字面"。

Lewis 等人的贡献在于把这两条线——DP的密集检索 + BART 的 seq2seq
生成——缝合成了一个端到端可训练的系统。他们当时提了两种模式:RAG-Sequence(用同一批检索到的文档生成整段回答)和
RAG-Token(每生成一个 token
都可以动态换一批文档)。这个区分今天看可能有些学术化,但"检索-生成"协同工作的基本范式就此确立。

简单说:RAG 的诞生 = 密集检索的成熟 + seq2seq 生成模型的可用 +
知识密集型任务对"外部记忆"的刚需。三者碰在一起,水到渠成。

RAG 是怎么演化的?

从 2020 年到现在,我理解 RAG 大致走了四步:

第一代:Naive RAG(2020-2021)——“先检索,再生成”

就是最朴素的三步:建索引 →检索 →生成。检索方式以 BM25
稀疏检索为主,知识库是静态的,召回率不高。但它证明了一个重要的事情:给模型"开卷考试"比"闭卷考试"效果好得多。

第二代:Advanced RAG(2022-2023)——“检索前先想清楚,检索后再筛选”

这代的核心变化是增加了预检索优化和后检索优化。预检索阶段做查询改写、查询扩展——把用户那个写得不太好的问题翻译成检索系统
能理解的形式。后检索阶段做 rerank,用 Cross-Encoder 对召回的文档重新排序,把真正相关的挑出来。同时,混合检索(BM25 +
向量搜索)成为标配。

第三代:Modular RAG(2023-2024)——“各环节解耦,自由编排”

这一代的关键转变是思路上的:不再把 RAG 看作一条固定流水线,而是把索引、检索、重排、融合、生成等每个环节抽象成独立的功
能模块。不同的场景可以自由组合和替换模块。这为工程落地提供了真正的灵活性。

第四代:Agentic RAG(2024-至今)——“让系统自己决定怎么做”

这是当前最热的方向。核心理念是:检索不该是一次性行为,而应该由 Agent
动态决策——什么时候该检索、检索什么、检索结果好不好、要不要换个方向再检索一次。微软的GraphRAG 在 2024
年开源,把知识图谱引入 RAG;Self-RAG、Corrective RAG 等工作让模型具备自反思能力。RAG
从一个"管道"变成了一个"决策系统"。

RAG 真正解决了什么问题?

我觉得 RAG 最核心的价值就一个:用最小的成本,让大模型能调用"它不知道的东西"。

展开来说:

  1. 知识时效性。 大模型的训练有截止日期。RAG 让它能访问最新文档,不再"活在过去"。
  2. 幻觉抑制。 不是消除幻觉,但让模型有据可依之后,幻觉的概率和严重程度都显著降低了。
  3. 领域知识接入。 企业内部的私有文档、专业领域的知识库,不需要微调模型就能用。这对数据安全敏感的行业是刚需。
  4. 可解释性与溯源。 纯生成模型回答"为什么这么说"时只能胡诌。RAG 可以指回原始文档段落,让答案有据可查。

RAG 还没解决的问题?

诚实地说,RAG 远不是银弹。我目前看到的主要瓶颈有这几个:

检索质量是最大的瓶颈。 整个 RAG 流程超过 60% 的延迟花在检索上,而检索的精度直接影响最终回答质量。语义不对齐导致无关文
档被召回、关键信息被遗漏的情况比比皆是。还有一个叫"Lost in the Middle"的现象——LLM
倾向于关注文档开头和结尾,中间的关键信息反而被忽略。

幻觉没有被消灭,只是换了形式。 即使检索到了正确文档,模型仍可能"不理睬"检索结果,固执地用自己的参数化知识回答。内部先
验和外部证据之间的"拉扯"是更深层的问题。

评估一团乱。 每篇论文用不同的数据集、不同的指标。该衡量检索准确性还是生成流畅性?事实一致性还是回答延迟?没有统一标准
,导致跨研究对比非常困难。

工程复杂度被低估。 Chunk
大小怎么选?多跳推理怎么做查询分解?检索库大了延迟怎么控?这些问题没有通用答案,每个场景都要调参试错。

隐私和安全。 企业部署 RAG 意味着外部知识库和 LLM
之间需要频繁交互,数据隔离、对抗性攻击(恶意构造文档诱导模型输出危险内容)都是真实风险。

未来会往哪里走?

几个方向我觉得值得关注:

Agentic RAG 会继续深化。 单 Agent 到多 Agent 协作是明显趋势——路由Agent 判断问题类型,检索 Agent 执行搜索,验证 Agent
检查结果可信度。这种分工协作的模式能让 RAG 处理远比现在复杂的查询。

多模态 RAG。 不只是文本。VideoRAG、ColPali(用视觉模型直接理解文档图像)、图文混合检索都在快速发展。未来 RAG
的知识来源将包括视频、扫描件、图表、音频。

Graph RAG 的实用化。 知识图谱补上了向量检索的一个短板——关系推理。微软的GraphRAG
开源是个重要节点,但要真正在工业界普及,成本和易用性还有很长的路。

检索效率的提升。 语义缓存(如 GPTCache)、上下文压缩(xRAG 把上下文压到一个 token)、LongLLMLingua 等加速方法会让 RAG
越来越快、越来越便宜。

评估体系的收敛。 RAGAS、ARES 等框架正在往标准化方向走,中文场景也有了 CRUD-RAG
基准。评价维度会逐步收敛到几个核心指标上。

我现在的理解

RAG 的本质是一个关于"记忆"的设计决策:大模型的参数是长期记忆,检索到的文档是工作记忆。RAG
做的事,就是让模型在推理时能把"刚读到的东西"和"已经知道的东西"配合起来用。

它不是一个完美的方案,但可能是现阶段性价比最高的方案。微调贵、慢、不可解释;纯靠 prompt
又受限于上下文窗口和模型自身知识。RAG 在成本、效果、灵活性之间找到了一个比较好的平衡点。

最关键的是:RAG 好不好用,检索质量决定了 80%。 很多人在调生成策略上花太多时间,其实先把检索——chunkin策略、embedding
模型、rerank 机制——调好,效果提升会明显得多。

如果你也在入门

建议先搞懂三个东西:向量检索的基本原理(为什么能搜到语义相似的文本)、Chunking
对结果的影响(切太大噪声多,切太小语义不完整)、以及 Rerank 为什么几乎是必选项(召回和精排的分工)。

这三个概念打通了,RAG 的骨架你就抓住了。

http://www.jsqmd.com/news/887059/

相关文章:

  • Vulnhub-DC-1
  • 汕头特产肉脯选购技术解析:汕头特产老药桔/汕头特产茶叶/汕头茶叶伴手礼/汕头鸭屎香/潮汕凤凰单枞/潮汕特产三兄弟猪肉脯/选择指南 - 优质品牌商家
  • Users Chat AI全栈项目模块化开发实战解析
  • 翡翠工厂直销靠谱吗?和传统实体珠宝店有什么区别?
  • 20 Newsgroups数据集避坑指南:解决下载慢、内存溢出和中文环境报错
  • 7.力扣【三数之和】史上最清晰双指针解法!三步搞定,面试必看!
  • 单片机485实验
  • 汕头老药桔选购技术指南:潮汕特产老香黄、潮汕特产肉脯、潮汕特产茶叶、潮汕茶叶伴手礼、潮汕鸭屎香、正宗凤凰单枞、正宗鸭屎香选择指南 - 优质品牌商家
  • MBTI性格测试
  • ARM PMU性能监控单元原理与实践指南
  • Linux系统启动慢?从UEFI的DXE阶段入手,优化驱动加载让你的开机快人一步
  • 户外实用|艾迪欧 R6000 测评 —— 户外 / 自驾 / 露营的通讯好搭档
  • Python合并Excel文档
  • 2026上半年数据库系统工程师(软考)上午题回忆与解析(非标答版)
  • 2026年山东大学软件学院创新项目实训博客(六)
  • 终极鼠标连点器使用指南:3分钟掌握高效自动化技巧
  • %u的几个格式化输出版本
  • 潮州东方轻奢风全屋高定找哪家
  • 贵阳婚礼西服定制攻略:面料、工艺、版型避坑指南
  • 量子软件测试的挑战与优化策略
  • DeepSeek-R1推理延迟骤降41.8%?独家披露3类硬件感知调度策略(A100/H100/MI300X实测对比数据)
  • 谁懂啊!Win11 部署 OpenClaw 踩过的坑,2.7.5 版本一次性解决
  • Simulink中Repeating Sequence锯齿波显示恒为0解决方案
  • 别再用SonarQube凑数了!DeepSeek原生圈复杂度引擎的6大颠覆性能力(含GitHub私有部署密钥)
  • DDD在DeepSeek场景中失效的7种典型征兆,第5种正在 silently 毁掉你的推理一致性
  • 终极指南:如何用ComfyUI-Manager轻松管理你的AI工作流扩展库
  • Veo 2胶片质感生成器失效?——深度解析Color Science v2.3内核中被屏蔽的Cinematic Grain Injection层
  • 从Sora 2原始张量到可交付MP4:端到端Pipeline中被92%开发者忽略的色彩空间转换断点(BT.2020→BT.709→sRGB三级校准手册)
  • 竞赛题解题方法
  • 基于DINOv2实现特征匹配异常检测