当前位置: 首页 > 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.gsyq.cn/news/1385872.html

相关文章:

  • 三十岁想从零转行现实吗?带你分辨真正有前景的好工作
  • 3步深度解锁:网络设备权限管理工具的实战手册
  • 100mV低电压连续性测试仪:分立晶体管电路设计与工程实践
  • 告别Zabbix单调图表:用DataEase v1.18.18在龙蜥OS上打造老板爱看的运维大屏
  • 避开这些坑!在Ubuntu 22.04上为Tesla V100s安装CUDA 12.2和cuDNN的完整流程复盘
  • 汕头老药桔选购技术指南:潮汕特产老香黄、潮汕特产肉脯、潮汕特产茶叶、潮汕茶叶伴手礼、潮汕鸭屎香、正宗凤凰单枞、正宗鸭屎香选择指南 - 优质品牌商家
  • TorchVision的VideoReader模块
  • Claude的安装,以及academic-research-skills的安装与使用
  • 跟着韩顺平学Java打卡笔记!(Day1)(哪天没学记得踢我一下(✿◡‿◡))
  • 用Python+Gurobi复现Benders分解算法:一个供应链优化问题的完整建模与求解过程
  • AI驱动自动化和智能体AI-加速钻头创新
  • 对比 Token Plan 与按量计费在 Taotoken 平台上的成本体感差异
  • 从Sora 2原始张量到可交付MP4:端到端Pipeline中被92%开发者忽略的色彩空间转换断点(BT.2020→BT.709→sRGB三级校准手册)
  • 基于ESP32的自适应万能红外遥控器:从硬件搭建到蓝牙通信全解析
  • Unity本地化流水线实战:AutoTranslator深度集成TextMeshPro与热更新
  • ARM PMU架构与缓存性能事件深度解析
  • ARM PMU性能监控单元原理与实践指南
  • LOOKAHEAD REASONING:大型推理模型的并行加速技术
  • 安居客nsign参数逆向与Unidbg模拟实战
  • Veo 2提示词工程进阶手册(导演级Prompt拆解):98%用户忽略的镜头语法、时空锚点与情绪动词结构
  • ARM PMU性能监控技术解析与实践指南
  • UI UX Pro Max设计技能包,一键生成专业级界面
  • 黑马点评学习笔记:短信登录流程、ThreadLocal 隔离与 Redis 共享 Session
  • 完整渗透测试用例表
  • Reqable替代Fiddler:移动端HTTPS抓包与证书配置全解
  • 磁吸扳手收纳架美国外观专利侵权预警,部分亚马逊热链遭投诉下架!
  • linux-安装Ubuntu的docker
  • 3步上手Highlighter:网页阅读者的免费记忆增强神器
  • 收藏 2026 版|一文吃透 Transformer 原理:从分词 Token 到逐字预测全过程
  • ARM PMU性能监控单元原理与优化实践