检索增强生成的设计空间地图
A Design-Space Atlas of Retrieval-Augmented Generation
RAG 的下一步不是单点替代,而是分支并存、能力组合,以及自动选路。
RAGMap 是一份写给后来读者、研究者与系统构建者的中文技术地图。它把 Retrieval-Augmented Generation 看成一棵仍在分叉的技术树:先标明每条枝在解决什么问题、付出什么代价,再讨论系统能否根据问题自动选择路线。
它不是又一份「从 Naive 到 Advanced」的时间线,也不是某个框架的功能清单。时间线暗示后来者取代先来者;功能清单暗示名词可以当模块直接安装。两者都会让人选错复杂度。
RAGMap
├── 向量检索 局部相关、低成本、标准知识库问答
├── 图检索 关系、社区、全局主题、结构路径
├── 记忆 / Agentic 长期记忆、任务分解、检索—推理协同
└── 自动选路 先理解问题,再调度前三条路径
1. 向量检索没有过时。
它是多数业务的最优解,也是其余分支的底座。过时的是「把所有问题都当成局部近邻」这个假设。
2. 图不是更高级的向量。
图改的是知识组织。它在路径与综括上成立,在频繁更新、强审计原文、抽取不稳时会先被约束否决。
3. Agent 外壳不等于 Agentic RAG。
这一枝要显式化的是:何时检索、检索什么、失败后如何改写、证据如何累积、何时停止。记忆则是另一问:新经验如何被索引、关联、在不重训的前提下再激活。
4. 真正可扩展的系统需要路由。
能力模块可以并存;调度必须被设计、被日志、被评估。默认走最贵路径,只是把选择权藏起来。
这四条对应四个常见误读:新方法全面替代旧方法;图一定优于向量;加上 agent 一定更强;混合召回可以代替选择。
任何 RAG 系统都在四条轴上取坐标。一篇新论文值得跟,当且仅当你能指出它改了哪一条。
| 轴 | 它在问 | 常见取值 |
|---|---|---|
| 组织 | 外部知识以什么结构被存储? | 扁平切片 · 层次树 · 关系图 · 记忆单元 |
| 动态 | 一次提问对应几次查找? | 单次 · 迭代 · 工具化 · 有状态 |
| 控制 | 谁决定走哪条路? | 固定流水线 · 规则 · 分类器 · 生成期自适应 |
| 约束 | 正确率之外还要满足什么? | 延迟 · 费用 · 可更新性 · 可审计性 |
四条公开枝条是这张空间的投影,不是另外一套分类学。基座文献里的 Naive / Advanced / Modular,对应的是控制流从线性走向可重排,而不是三代产品。展开见 设计空间。
| 枝条 | 主要改动 | 适合 | 主要代价 |
|---|---|---|---|
| 向量检索 | 切片组织 + 单次动态 | FAQ、手册、条款定位 | 结构弱、多跳弱、全局综括弱 |
| 图检索 | 关系组织 | 路径、社区、主题综括 | 构图贵、更新难、抽取误差会传播 |
| 记忆 / Agentic | 动态 + 记忆组织 | 多步、开放、长叙事、矛盾证据 | 时延高、控制复杂、评估难 |
| 自动选路 | 控制平面 | 混合入口、成本敏感、可演进系统 | 路由本身必须被评估 |
flowchart TB
Q[Query] --> U[Query Understanding]
U --> E[Complexity / Structure / Budget]
E --> R[Router]
R --> V[Vector path]
R --> G[Graph path]
R --> A[Agentic / Memory path]
R --> H[Hybrid / Cascade]
V --> F[Evidence fusion]
G --> F
A --> F
H --> F
F --> X[Reasoning / Generation]
工程上更稳的默认往往是 cascade,而不是无条件 hybrid:
检索前决定哪条路径;检索后还要再决定证据是否采用、是否再找、是否停止。细节在 自动选路,教学实现见下方 Web Atlas 的选路实验室。
三种入口,选一条走完。细节在 如何阅读这张地图 与 学习路径。
| 你是谁 | 先读 | 读完应能做什么 |
|---|---|---|
| 初学者 | 基座 → 向量枝 → 自己准备 10 个失败问题 | 不再把 RAG 和向量库当成同义词 |
| 研究者 | 设计空间 → 论文地图 → 一枝深读 | 把新工作钉到轴上,并写出反例 |
| 系统构建者 | 向量枝 → 评估 → 清单 → 按失败长旁枝 | 默认路径便宜,贵路径有开关和回退 |
最小闭环:
- 承认向量检索仍是底座;
- 看清哪些问题必须引入结构;
- 看清哪些问题必须把检索动态化或记住状态;
- 把选择权从默认值里拿出来,交给路由。
讲义按阅读顺序编号,每篇可以单独印发。
| # | 文档 | 这一篇在干什么 |
|---|---|---|
| 00 | 如何阅读 | 地图不是时间线,读法与误读 |
| 01 | 设计空间 | 组织 / 动态 / 控制 / 约束 |
| 02 | 基座 | Lewis,Naive / Advanced / Modular |
| 03 | 向量检索 | 切块、混合检索、HyDE、RAPTOR |
| 04 | 图检索 | GraphRAG、LightRAG、ToG,以及抽取损失 |
| 05 | 记忆与 Agentic | IRCoT、Self-RAG、HippoRAG、ComoRAG、CogitoRAG |
| 06 | 自动选路 | Adaptive-RAG、cascade、检索后纠正 |
| 07 | 评估 | 把失败拆开,而不是只看准确率 |
| 08 | 论文地图 | 精选注释,而不是无差别清单 |
| 09 | 学习路径 | 三种角色的最小完成标准 |
| 10 | 设计清单 | 写代码之前要能回答的问题 |
| — | 术语表 | 仓库里反复出现的词 |
| — | 如何增补 | 接受判断,不接受无注释链接 |
向量枝的最小闭环:
完整注释见 论文地图。下列是进入地图的最低读物。
基座
Lewis et al., 2020, RAG · Gao et al., 2023, Survey · Gao et al., 2024, Modular RAG
图
GraphRAG · LightRAG · Think-on-Graph · ToG-2
记忆 / Agentic
IRCoT · FLARE · Self-RAG · HippoRAG · HippoRAG 2 · ComoRAG · CogitoRAG
选路与纠正
Adaptive-RAG · CRAG
评估
RAGAS
读一篇新论文时先填卡片:它改的是组织、动态、控制还是约束?它在哪类任务上成立?代价付在离线还是在线?什么问题上它应该变差?
RAGMap
├── README.md # GitHub 首页:主张、地图、入口
├── CITATION.cff # 引用元数据
├── CONTRIBUTING.md # 增补论文 / 枝条 / 失败案例
├── LICENSE # CC BY 4.0
├── assets/ # 首页图示(README 使用 PNG,源文件为 SVG)
├── docs/ # 12 篇可独立阅读的讲义
└── src/ # Web Atlas(Next.js)
讲义是知识的源。Web Atlas 只是同一套判断的可点击界面,不另起一套说法。
交互地图用来把同一套判断变成可点、可过滤、可试验的界面。它不调用任何检索后端或模型 API。选路实验室是教学用规则路由器,用来把「为什么选这条路」说成句子。
npm install
npm run dev默认地址:http://127.0.0.1:43217
| 页面 | 作用 |
|---|---|
/ |
主张、四条轴、可点击的技术树 |
/branches/[id] |
每一枝的适用、反例、机制、论文 |
/papers |
按层与枝条过滤的注释卡片 |
/learn |
三种角色的路径 |
/lab |
输入查询,看教学路由的分数与解释 |
/docs/[slug] |
与 docs/ 目录同步的讲义 |
地图刻意保持可增补,但不接受「再加一个时髦词」作为生长方式。值得长的方向:
- 为每一枝补一份失败案例库(真实问题,而不是榜上句子);
- 把路由从教学规则推进到可复现的评测协议;
- 在组织轴上单独展开表格、代码、多模态,而不是把它们塞进向量枝的附录;
- 当一篇新论文真的改了坐标,再给它在树上一张椅子。
贡献前请先读 如何阅读 与 如何增补。新增论文必须带问题意识、代价和反例,而不是只有链接。
如果你在论文、组会或课程里使用这份地图,建议同时写明:它是一份设计空间上的判断,而不是对任何方法的性能承诺。
@misc{ragmap2026,
title = {RAGMap: A Design-Space Atlas of Retrieval-Augmented Generation},
year = {2026},
howpublished = {\url{https://github.com/TreeEast1/RAGMap}},
note = {Chinese technical atlas of RAG branches, trade-offs, and auto-routing}
}GitHub 也识别仓库根目录的 CITATION.cff。
文档与图示采用 CC BY 4.0。转载、翻译、改写都可以,保留署名即可。论文本身的权利归原作者。
本项目从「技术树 + 自动选路」这一判断出发,扩写成可供后人自学的设计空间地图、讲义与交互 Atlas。




