SH

Soloharness

概念 · 辨析 · Agent

← 返回概念辨析

Concept Contrast Fable

检索增强生成和图增强检索生成

RAG 是在文档库里找资料喂给大模型,Graph RAG 是在图数据库里沿实体关系找资料。后者是前者的一个变体——检索的底层从纯文本索引换成了图结构,但整体流程仍在 RAG 的框架之内。

寓言

翻书问路和照图问路

老城图书馆有一个参考咨询台。读者来问问题,咨询员的工作流程几十年没变过:先拆解问题里的关键词,去书架上找相关书目,翻出对应的段落,摘抄整理成一段回答,递给读者。这套流程被大家简称为「翻书问路」。

某一年,馆里来了一位制图师,花了大半年把馆藏文献里的人物、事件、机构、地点抽取出来,画成了一张巨大的关系图,挂在咨询台的墙上。图上用线条连着:「司马迁」连着「史记」、「汉武帝」、「太史令」;「太史令」又连着「天文观测」、「历法修订」、「宫廷记录」。

咨询员起初只是偶尔抬头看一眼这张图,帮自己理清思路。后来他发展出一套新问法:读者问「司马迁在写史记时受到了哪些人的影响」,他不只是去书架上搜「司马迁」「史记」「影响」这几个关键词,而是先在图上去找司马迁的相邻节点——老师、前辈、同时代人、他引用过的作者——然后按图上的每条关系线去书架上定向取对应的文献。这套新问法被叫做「照图问路」。

两种问路的差别不在结果格式上,而在检索路径上。翻书问路走的是关键词到书架的直通线。照图问路多了一个中间站:先看图,从图上找到一张关系子图,再按子图的每条边去精准定位书架上的文献。图的贡献是让检索不再凭关键词猜测,而是沿已知关系走。

但照图问路有一个前提条件:图必须是建好的。没有那张图,照图问路就退回了翻书问路。而且图的维护是持续成本——馆藏文献每更新一批,图就要更新一批节点和边。制图师不能只画一次。

咨询台后来把两种问路做了分层:任何问题都先从关键词入手走翻书流程,与此同时在图上去找对应的实体节点。如果图上有相关子图,就叠加照图流程,把子图引导的文献作为语义补强。如果图是空的或者找不到对应节点,照图流程就静默跳过,退回到纯翻书的路径。

馆长在一次行业分享会上说了一句:翻书问路是基本功,照图问路是加分项。加分项要建在基本功上面,不能反过来。

后来咨询台门口挂了路牌:一号窗口做翻书,二号窗口做翻书加照图。来的读者先走一号,一号发现需要关系线索才转二号。两套窗口共用同一排书架。

检索增强生成 (RAG)

从文档库中检索相关文本片段,将其作为上下文输入大模型以增强生成质量的通用技术范式。检索层通常是向量或关键词索引,不依赖图结构。

图增强检索生成 (Graph RAG)

RAG 的一个变体,将检索层替换为知识图谱:在图上定位相关实体和关系子图,沿边提取关联文本片段,再交给大模型生成。检索路径利用图的结构信息,而不仅靠文本相似度。

故事对应

  • 翻书问路(关键词→书架→摘抄→答案):标准 RAG 流程,文本检索加生成。
  • 关系图(人物、事件、机构、地点连线):知识图谱。
  • 照图问路(先看图→沿关系线→定向取文献→生成):Graph RAG 流程。
  • 图是空的就退回到翻书:Graph RAG 依赖已建好的知识图谱,否则退化为标准 RAG。
  • 一号窗口和二号窗口的分层:RAG 是基线,Graph RAG 是增量叠加。

落到项目里

做 Graph RAG 之前,先确认基础 RAG 已经跑通并且有明确的不足——通常是多跳推理、实体关系查询这类标准 RAG 召回不够的场景。不要一上来就建知识图谱。Graph RAG 增加了一个持续维护成本层:图谱的实体抽取、关系更新、版本同步。另外,Graph RAG 和标准 RAG 应该共用一个生成层,只在检索路径上分叉。这样你可以很方便地做 A/B 测试:同一个问题,对比纯 RAG 和加 Graph RAG 的答案质量差。