Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

RAG 技术演进 2023→2026:从外挂到操作系统

2023 年搭一个 RAG 只要五步:分片、过 embedding、写向量库、top-k 检索、拼进 prompt。一个看完 LangChain 入门教程的工程师,周末两天就能搭出能跑的 demo。今天再画同一个系统的架构图,上面有调度器、路由器、降级兜底和生成后验证——中间隔了整整三年的工程化。

这一篇只做事实性对比:什么变了、怎么变的、什么没变。至于“RAG 会不会死、形态往哪迁“,那是下一篇的事。上一篇讲的五个通用模式不是谁某天想出来的,是这三年磨出来的——要理解那些模式为什么长那样,得先看这三年发生了什么。

两张架构图:从食谱到系统

先把差距摆出来,再谈细节。2023 年的链路干净得像一份食谱:

文档 → 切块(固定 token)
     → Embedding 模型(text-embedding-ada-002 或 bge-large)
     → 写入向量数据库(Pinecone / Qdrant / FAISS)

用户提问 → 同样过 Embedding
         → top-k 相似度检索
         → 召回的几个 chunk 拼进 prompt
         → 送进 LLM 生成回答

五步,没有 reranker,没有 query 改写,没有混合检索,没有 metadata filter。2026 年再画,几乎认不出来:

用户提问
  ↓
Query 改写 / 扩展 / HyDE
  ↓
多路并行检索
  ├─ 向量检索
  ├─ BM25 关键词检索
  ├─ 知识图谱遍历(可选通路,见下注)
  └─ SQL / 结构化查询
  ↓
合并 + 去重 + Reranking(Cross-Encoder)
  ↓
上下文压缩 / 过滤
  ↓
组装 Prompt
  ↓
LLM 生成 + 自我验证
  ↓
不确定?再检索一轮(Agentic RAG)

注:知识图谱那一路不是标配。构建和维护图谱的成本摆在那里,只在实体关系本身就是问题核心的场景(投并购版图、供应链、反欺诈)值得开;多数生产系统的实际标配是向量 + BM25 + metadata filter。这笔账第 18 篇算过,这里只在图上标个边界。

每个环节都从单一动作变成了一组策略。检索不再单路,Embedding 不再单模型,Query 不再是用户原文,生成完不一定就结束。更要紧的是位置变了:RAG 不再是装在应用层的外挂,而是一个 system——有调度器决定查几次、查哪里,有路由器决定用哪种检索,有兜底(向量召回失败降级到关键词),有验证(生成后再 ground 一遍)。

变的不是核心思想,是它在 LLM 栈里的位置。代价也得说清楚:一个生产级 RAG 系统,从代码量到运维难度,跟 2023 年的 demo 完全不是一个量级。能力涨了,复杂度也涨了,两者是同一件事的两面。

三年三段:每年各自解决了什么

2023 元年:验证可行性,“外挂“形态确立

2023 年的 RAG 之所以长那样,是四个锚点事件定的:

  • LlamaIndex 和 LangChain 把 RAG 变成了一个 pip install 的事。在此之前,搭一套要自己写 PDF 解析、自己调 FAISS、自己拼上下文。
  • ada-002 成了事实标准,“选什么 embedding 模型“这道选择题被直接跳过,选型成本接近零。
  • chunk 策略只有一个选项:按 512 token 切。不是这个选项多好,是还没人系统踩过“一刀切在复杂文档里崩盘“的坑。
  • 上下文窗口只有 4K(GPT-3.5)和 8K(GPT-4)。这条约束决定了 RAG 当时的地位:它不是优化项,是必需品——不检索,私有知识根本塞不进 prompt。

这一年解决的问题是“能不能用“。答案是能,但边界清楚:FAQ、博客搜索、简单文档问答表现不错;多跳推理、跨文档比较、长文档摘要,几乎立刻崩盘。没解决的也列得出来:PDF 解析质量参差不齐、chunk 一刀切、metadata 几乎不存在、多轮对话状态靠手动管。这份“未解清单“不是点缀,它是 2024 年所有修补的源头。

2024 垂直化:从“能用“到“管用“

2024 年场景从通用走向垂直——财报、法律、医疗、电力——通用 RAG 的假设在这些场景里逐一崩溃。崩溃逼出了四条修补线。

Ingestion 工程化。PDF 解析不再是“调个库就行“,reading order、表格结构、多栏布局,每一个都能让下游全废。MinerU 这类专门对付复杂 PDF 的工具就是被这些坑逼出来的。

Metadata 成为一等公民。跨年财报混检是最典型的翻车现场:问 2025 Q4,召回 2020 Q4——两份文档长得像孪生,纯向量检索在这种场景下系统性失效,没有 metadata 硬过滤就是不行。时间错配这一类问题,第 6 篇展开过,这里只说结论:metadata 从“附带的标签“变成了检索链路的核心组件。

Chunk 策略分化。语义边界切分、父子分片、sentence window,不同文档类型配不同切法,“512 token 打天下“正式退场。分片怎么选,第 4 篇有完整讨论。

Agentic RAG 露头。LLM 开始参与“要不要检索、检索什么、结果不好怎么改 query“的决策。这是 RAG 从被动检索走向主动信息获取的第一步,当时还是苗头,两年后成了主线。

2024 年解决了“管用“,没解决的是成本:这套工程管线要真金白银的投入,RAG 不再是“调 API + 拼 prompt“的周末项目。

2025–2026:从管道到系统

这两年是四条线同时推进。

Agent 框架(LangGraph、CrewAI、AutoGen)把检索嵌进 agent loop,由 LLM 动态决定检索时机和策略。RAG 从一段固定管道变成可被编排的能力——这是“外挂→系统“迁移里最关键的一步。

GraphRAG 从热议走向务实评估。微软 2024 年中发布时讨论很热,到 2026 年共识冷静了:多跳推理、实体关系查询适用,单跳查询、FAQ 型问答不适用。它是补充者,不是替代者。GraphRAG 的适用边界和成本,第 18 篇专门谈过。

Embedding 性能接近瓶颈。MTEB 榜单 top-10 模型的平均分差距只有 1–2 分(成稿时的观察,榜单本身滚动更新),纯拼“更准“不再是竞争点,竞争转向多语言、领域微调和推理效率。

长上下文动摇了 RAG 的定位,但没有消灭它。窗口从 8K 涨到百万级,“全塞进去“技术上可行了——这里只陈述动摇这个事实;它会不会杀死 RAG,留到终篇再辩。

七个环节逐项对照:一张表加三处点拨

把三年收拢成一张表。名单里的模型和工具以成稿当月(2026 年中)为准,这个领域的名单半年一轮,读的时候按当月复核:

环节2023 怎么做2026 怎么做
分片固定 token / 递归字符切分结构感知分片;Late Chunking
Embeddingada-002 / bge-large,512 tokenQwen3-Embedding-0.6B(32K)/ gemini-embedding-001;Matryoshka 截断
检索单路向量检索向量 + BM25 + SQL 多路混合(知识图谱按需加入)
Reranking几乎没有,向量库顺序即最终顺序两阶段:向量 Top-50 → Cross-Encoder 精排 Top-5
Query 处理用户原文直接检索HyDE / Multi-Query / Step-Back 三件套
Agent 化一次检索 → 生成 → 结束Agent 自主决定怎么搜、何时停、何时换数据源
上下文窗口GPT-3.5 4K / GPT-4 8KClaude 200K / Gemini 1M / GPT-4o 128K

表格承载信息量,正文只挑三个“不只是升级、是位置或性质变了“的点。

第一个,分片的 Late Chunking。思路是把整篇文档先过一次长上下文 embedding 模型,让每个 token 的向量都带上全文上下文,然后再按事先在文本层定好的分片边界(句子、段落)对 token 向量做池化,得到各个 chunk 的向量。注意:分片边界仍然在文本空间确定,并不是“在向量空间里切分“;变的是每个 chunk 的向量不再只看自己那几百个 token——“先切后嵌“造成的上下文缺失被绕开了。embedding 从“切完之后对每个块做的事”,变成了“切之前对全文做的事“,位置变了,性质也变了。

第二个,检索从可选到必选。混合检索成为标配,原因不是向量检索变差了,是问题本身变复杂了。拿伯克希尔当示意用例(素材自带的例子,不是实测结论):“伯克希尔投资了哪些有护城河的公司”,向量检索够用;“1985 年浮存金是多少”,要向量和 BM25 分工,靠 BM25 字面匹配“1985“和“浮存金“;“巴菲特的投资理念经历了哪些变化”,得靠知识图谱跨年份关联。单一检索方式永远有盲区,这才是混合检索的真正理由。

第三个,Reranking 从无到有。2023 年几乎没有生产系统用 reranker,2026 年两阶段是标配:向量检索粗排 Top-50(快但粗糙),Cross-Encoder 精排 Top-5(慢但精准)。Cross-Encoder 相对双塔模型的精度提升通常在 15~40%——这里说的是 NDCG 这类排序指标的相对提升,经验口径,具体数字取决于领域和文档类型,不是到处都成立的常量。

演进沉淀出的选型框架:什么时候该用什么

三年演进的一个事实性产出,是分层选型的共识基本成型:

  • 直接靠 LLM:不需要最新信息、不需要私有知识、不需要引用和审计。写作润色、代码解释、头脑风暴都在这层。
  • 增强版传统 RAG:关键词 + 向量 + metadata filter + reranker + citation。适合 1~3 段证据就能回答、文档结构清晰的场景——企业知识库、产品文档、内部 SOP。
  • Agentic RAG:一次检索不够、问题模糊需要拆解、证据分散在多个数据源。多跳、跨源、需要先规划再检索的问题归这层。

检验流程压缩成四问:需要最新信息吗?需要私有知识吗?需要引用或审计吗?——有一个“是“就该检索。再问第四问:一次检索够吗?够,传统 RAG;不够,Agentic RAG。

这是当下的事实陈述,不是对未来的判断。这个框架明年还成不成立,同样是终篇的问题。

三年没变的东西

变的说完,翻面。有一件事从始至终没变:**“找证据 → 给模型看 → 让它生成“这条骨架,从未改变。**变的只是找证据的方式、给模型的路径、以及模型看完之后做什么。

工程层面,四条没变:

  • 核心价值没变——给 LLM 提供它训练数据里没有的、事实性的、可追溯的信息。
  • 向量检索 + metadata 过滤 + reranker 精排,这三件套的结构没有动摇。每一环都升级过,组合方式没变。
  • ingestion 质量决定系统上限,模型只决定下限。这条原理 2023 年成立,2026 年依然成立。
  • 做垂直场景 RAG,大约 80% 的工程时间花在数据上,20% 花在模型上。这是经验估计,不是统计结论,但方向和量级我没见过反例。

注意这四条的位置:它们全在“没变“这一侧。这个系列前 19 篇讲的脏数据、metadata、口径、评估,没有一篇讲的是“哪个新模型又涨了多少分“——不是模型不重要,是决定系统生死的问题,三年里始终是同一批。垃圾进,垃圾出,这句话 2023 年成立,今天一个字都不用改。

收尾:事实到此,判断下篇

一句话收束全篇:2023 年 RAG 是外挂,2026 年 RAG 更像底层操作系统的一部分。被取代的只是低配 RAG——2023 年那种机械 top-k 拼接;而“找证据“这套思想没有消失,反而被内化成了更强的检索工具链。这是事实陈述,不是胜利宣言。

成熟度对比到此为止。三年里变的是每个环节的成熟度,不变的是骨架和那条最朴素的原理。但还有最后一个问题本篇故意没碰:长上下文和 Agent 还在进化,这套操作系统会消亡还是变形?下一篇,终篇《RAG 的未来:形态迁移,而非死亡》,给出我的判断。