RAG · 检索增强生成 · 概念深潜
把"检索 + LLM"拆成一条可定位、可优化的工程系统
基于截至 2026-06 的实践与论文 · 深潜(约半天)· 概念为主,代码为示意(未本地验证)。这份教程不教你抄一段 LangChain demo,而是给你一张能在系统答错时定位问题的结构图。
A适合谁
这份教程面向已经具备检索与大模型基础、想把 RAG 从"会调库"升级到"懂机制"的工程师。需要你具备三项能力:
- 用过至少一个向量检索工具(FAISS / pgvector / Pinecone / Qdrant 之一),能解释 embedding 是什么、近邻搜索在算什么。没有这个基础,先读同系列的 向量数据库教程。
- 调用过 LLM API(OpenAI / Anthropic / 本地模型皆可),知道 prompt、token、context window 这几个词各指什么、各自的限制在哪。
- 能读 Python 伪代码。教程里的代码是讲机制的示意,不要求本地跑通——重点在"这一步在算什么",不在环境配置。
B不适合谁
- 没接触过 embedding / 向量检索:RAG 把向量检索当地基,这里不会重讲。先看 向量数据库教程,再回来。
- 只想要一段能跑的 demo 代码:去看 LangChain / LlamaIndex 官方 quickstart。这份教程讲的是 demo 背后"为什么这么搭、什么时候会塌"。
- 想深入 embedding 模型或 transformer 的训练内部:那是表示学习的主题,本教程只用到"嵌入把语义映射成向量"这一层结论。
C读完之后你能做到什么
核心收获,一句话:看到一个 RAG 系统答错时,你能定位失败发生在漏斗的哪一段——是召回没捞到、重排没排上、还是生成阶段无视了证据——而不是笼统地"再调调 prompt"或"换个 embedding 模型"碰运气。
具体到可验证的能力:
- 画出 RAG 的"召回→精度漏斗",并说出每个进阶技术(hybrid、RRF、rerank、HyDE、Contextual Retrieval)插在漏斗的哪一点、修的是哪一段的什么问题。
- 判断一个业务场景该用 RAG / 微调 / 长上下文 / 几者组合,并说出做这个决定的那条关键轴。
- 区分检索失败与生成失败,分别用 context recall、faithfulness 等指标把责任落到具体阶段。
- 解释为什么"检索对了仍会幻觉",以及 grounding 为什么是概率性的、不是开关。
- 说清 2026 年仍在演进的前沿(GraphRAG、Agentic RAG、视觉检索)各自补的是朴素 RAG 的哪个具体短板。
一句话本质
RAG 把知识从模型权重里解耦出来,变成一条可分阶段优化的"检索→生成漏斗":检索阶段用廉价方式最大化召回,重排 / 生成阶段用昂贵方式最大化精度;而 grounding 只是把生成的概率分布推向证据、并非强制——所以检索质量是答案质量的上限,但完美检索仍不保证不幻觉。
这句话里藏着三根贯穿全教程的支柱:①知识解耦(知识从"训练进权重"变成"运行时检索");②召回→精度漏斗(全教程的组织主线,每个技术都对应漏斗上的一个干预点);③grounding 概率契约(这也是为什么评估必须把"检索对不对"和"答得忠不忠实"分开量)。
D现状速览(截至 2026-06)
已稳定(放心学):retrieve-then-generate 闭环 + 分块 + 向量检索(约 2023 定型);混合检索(dense + BM25)与 cross-encoder 重排已是默认配置,不再是"可选优化";评估三件套 RAGAS / TruLens / DeepEval 与 faithfulness、context precision/recall、answer relevance 指标(约 2024 定型)。
仍在快速演进(学时带上日期):Anthropic Contextual Retrieval(2024-09)、GraphRAG → LazyGraphRAG(2024-12 / 2025-06)、Agentic RAG 体系 Self-RAG / CRAG / Adaptive(2025-01 成型)、ColPali 视觉 / late-interaction 检索(ICLR 2025);embedding 与 reranker 榜单每季度翻动,开源 Qwen3 系列已在 MTEB 反超闭源。
已被取代(别学旧法):"RAG 已死、直接塞 1M 上下文" → 共识已转向"按查询路由"(质量在约 500K token 后下滑);纯固定大小分块 → 语义 / 上下文分块;纯 dense 检索 → hybrid;复杂 PDF 的 OCR-then-embed → 正被视觉检索蚕食。
RAG 的每个组件单看都不难,连起来读会很顺。但"顺"是危险信号,不是学会的证据。三种自我感觉,对应三种假象——读到时请停下来:
· "我读得很顺":这是熟悉感,不是掌握。组件名字眼熟 ≠ 你能说出它在漏斗的哪一段、代价是什么。
· "我做题很快":多半因为题目是你刚读过那段的复述。真正的检验是 05 章那些"该用 A 还是 B"的判别题。
· "我没卡壳":很可能你的思路一直贴着正文滑行,没真正调动结构。每章的"想一想"请先停十秒、自己答,再展开。
E概念地图
F学习路径建议
顶部那条面包屑(00 → 01 → 02 → 03 → 04 → 05)是默认顺序。按你的目的可以走不同的支线:
- 只想建立心智模型读 01(概念与闭环)+ 02(检索机制),再用 05 的判别题检验。03、04 可略读。
- 要做技术选型重点读 01 的"一句话本质" + 04(前沿与 RAG-vs-长上下文的路由共识)+ 05 的场景判别题。
- 带读他人的 RAG 代码按面包屑顺序全读——你需要 02 的检索机制和 03 的失败模式,才能看懂别人为什么这么搭、哪里埋了雷。
G目录
- 01概念与闭环RAG 的核心抽象:为什么要把知识从权重里解耦;索引侧 / 检索侧 / 生成侧的最小心智模型;漏斗与 grounding 契约。
- 02检索机制(下探一层)dense 为何失手罕见词、BM25 为何精确匹配靠它、hybrid + RRF 为何用 rank 不用 score、rerank 的 cross-encoder 注意力差异、查询改写为何嵌入"假答案"。
- 03质量与评估让生成真正扎根;分块策略的三难;评估闭环(faithfulness / context precision / context recall / answer relevance);按漏斗分段的失败模式。
- 04前沿(带日期)Contextual Retrieval、GraphRAG、Agentic RAG(Self-RAG / CRAG / Adaptive)、ColPali 视觉检索、long-context vs RAG 的路由共识。
- 05自测题库三层梯度题 + 跨章场景判别(该用哪一段的哪个技术)+ 默写漏斗架构。
H学完之后
这份教程把"RAG 系统的内部结构"装进你的 schema 后,下一步可以往这几个方向接: