文章

GraphRAG vs LightRAG:从传统 RAG 的痛点到图增强检索的选型权衡

传统 RAG 在多跳推理、全局归纳、语义断裂上力不从心,GraphRAG 用知识图谱+社区摘要解决但代价高昂,LightRAG 用双层检索+去社区化实现 99% 降本——两者适用场景和选型策略的完整梳理。

GraphRAG vs LightRAG:从传统 RAG 的痛点到图增强检索的选型权衡
  1. 传统 RAG 的三大痛点
    1. 多跳推理做不了
    2. 全局性问题答不上
    3. 切块导致语义断裂
  2. GraphRAG:用知识图谱升级 RAG
    1. 核心思路
    2. 索引阶段:5 步构建知识图谱
    3. 查询阶段:两种模式
    4. 为什么图结构能解决三大痛点
  3. GraphRAG 的四大落地难点
    1. 索引成本:Token 焚烧炉
    2. 实体消歧
    3. 查询延迟
    4. 增量更新:牵一发动全身
  4. LightRAG:轻量化的图 RAG 替代方案
    1. 定位与背景
    2. 三大核心创新
      1. 创新一:去社区化
      2. 创新二:双层检索(Dual-Level Retrieval)
      3. LightRAG 的检索模式:一套渐进式能力梯度
      4. 创新三:增量天然友好
    3. 代价
  5. 向量检索在图 RAG 中的角色
    1. 共同模式:向量定位 + 图扩展
    2. 向量定位的固有问题
  6. 宏观信息从哪来
    1. 三种方案对比
    2. GraphRAG 的宏观信息:社区摘要
    3. LightRAG 的宏观信息:关系描述
    4. 本质差异
  7. 核心对比
  8. 选型策略
  9. FAQ:几个容易搞混的关键问题
    1. Q1:GraphRAG 和 LightRAG 都用了向量数据库吗?还是只有图数据库?
    2. Q2:向量检索拿短关键词去匹配一大段实体描述,能准吗?
    3. Q3:从入口实体往外扩展几跳?
    4. Q4:传统 RAG 没有宏观信息,图 RAG 的宏观信息从哪来?
    5. Q5:传统 RAG 有 BM25 全文检索,图 RAG 里这一路去哪了?
    6. Q6:LightRAG 有哪些检索模式?各对应什么能力层级?
  10. 核心
  11. 评价

原文:字节二面,我霸气反问:"别光吹RAG,说说GraphRAG的多跳推理,你们线上跑通了吗"

传统 RAG(文档切块 -> Embedding -> 向量检索 -> Top-K 喂给 LLM)在 Demo 场景下表现不错,但企业复杂场景下撞墙频繁。GraphRAG 和 LightRAG 分别代表了两种不同思路的解法——一个重而精,一个轻而快。这篇文章系统性地拆解了两者的设计哲学、工作流程、落地痛点和选型策略。

传统 RAG 的三大痛点

多跳推理做不了

传统 RAG 的检索逻辑是「找语义最相近的 Top-K 文本块」。当一个问题需要同时从供应商档案、审计报告、合同文档三类文档中交叉关联信息时(Multi-hop Reasoning),传统 RAG 没有任何机制做「交集」——只能把零散文本块一股脑扔给 LLM,LLM 自己也没法把互相独立的资料关联起来。

全局性问题答不上

「这本书的主题思想是什么?」「这份年报里战略发生了哪些变化?」——这类问题的答案不在某一个文本块里,需要通读全文做归纳。传统 RAG 本质是检索,不是全局归纳。微软论文把这个叫 Query-Focused Summarization 问题。

切块导致语义断裂

按字符数切块会造成三个麻烦:完整论述被拦腰斩断、实体间因果关系丢失(「卡托普利属于 ACEI」和「肾功能不全者禁用」被切到不同块)、语义相似但实际无关的块带来检索噪声。

根因:传统 RAG 做的是「找相似文本」,企业真正需要的是「理解实体关系」。向量检索擅长找「长得像的句子」,但没有机制理解实体间的关系和因果链。

GraphRAG:用知识图谱升级 RAG

核心思路

GraphRAG 就是用 LLM 把文档「读成一张知识图谱」,然后基于图谱做检索和回答。知识不再以离散文本块形式存储,而是以图(节点=实体,边=关系)的形式显式组织。

微软 2024 年 4 月发布论文《From Local to Global: A Graph RAG Approach to Query-Focused Summarization》,是目前影响力最大的方案。

为什么知识图谱现在才火:知识图谱的概念 2012 年就有了(Google Knowledge Graph),但过去构建知识图谱极度依赖人工标注和规则抽取,成本高、覆盖窄、领域迁移困难。LLM 的出现彻底改变了这个局面——只需要一段 Prompt,就能让模型从任意文本中抽取实体和关系、生成描述摘要、做实体消歧判断。以前需要 NLP pipeline + 标注团队几个月做的事,现在几个 API 调用就能完成。这也是为什么 GraphRAG 和 LightRAG 都是 2024 年才出现的成果:不是"图+检索"这个思路新,而是 LLM 让"从文档自动构建知识图谱"这个前置步骤变得可行且廉价了。

索引阶段:5 步构建知识图谱

  1. 文档切块:和传统 RAG 一样,按字符数切成 Text Unit
  2. 实体与关系提取:每个文本块发给 LLM,用专门 Prompt 抽取实体(名称、类型、描述)和关系(源、目标、描述、强度)
  3. 生成实体/关系摘要:同一实体在多个文本块中的描述汇总,让 LLM 合成综合描述
  4. 社区检测:用 Leiden 算法把图谱划分为多层级社区(Layer 0 粗粒度到 Layer N 细粒度)
  5. 生成社区摘要(Community Reports):为每个社区用 LLM 生成一份摘要报告

查询阶段:两种模式

Local Search:用向量相似度定位入口实体 -> 沿图动态扩展邻居(不是固定跳数,而是按 token 预算控制——从入口不断往外扩展,直到收集的上下文接近 LLM context window 上限)-> 组装上下文 -> LLM 生成。适合「围绕具体实体」的问题。

Global Search:Map-Reduce 策略——Map 阶段把某层级所有社区报告分批让 LLM 生成中间答案并打分;Reduce 阶段汇总观点生成最终答案。适合全局性、宏观性问题。

为什么图结构能解决三大痛点

  • 多跳推理变成图遍历(Graph Traversal),天然擅长「顺藤摸瓜」
  • 全局问题通过层次化社区摘要的 Map-Reduce 聚合来回答
  • 实体关系显式化,切块造成的因果断裂通过节点连接恢复

GraphRAG 的四大落地难点

索引成本:Token 焚烧炉

每步都在调 LLM。100 万 token 的语料索引成本约 $20-50(GPT-4o 定价),传统 RAG 只需几美分——差三四个数量级。5GB 法律文档建索引估算成本 3.3 万美元。

实体消歧

LLM 抽取天然不一致,同一实体(IBM / 国际商业机器 / Big Blue)被抽成多个独立节点。导致关系碎片化、检索召回不全。业界没有标准解法,生产环境通常叠加字符串编辑距离+向量相似度+LLM 判别+人工兜底。

查询延迟

Global Search 需要遍历几百上千个社区,端到端延迟 10 秒到 1 分钟,C 端实时交互完全不可用。

增量更新:牵一发动全身

新文档进来 -> 实体消歧 -> 图结构变化 -> 社区重划 -> 社区摘要失效 -> 向量索引同步更新。传统 RAG 一步搞定的事变成级联操作。很多团队只能「定期全量重建」。

业界应对策略包括:定期全量重建、增量索引(只重建受影响社区)、混合策略(日常增量+周期全量)、时间分区、延迟合并+最终一致性。

LightRAG:轻量化的图 RAG 替代方案

定位与背景

香港大学 2024 年 10 月发布,论文标题 《LightRAG: Simple and Fast Retrieval-Augmented Generation》,被 EMNLP 2025 Findings Track 接收。核心目标:保留图结构的关系理解能力,把成本、速度、增量做到极致。

三大核心创新

创新一:去社区化

完全不做社区检测和社区摘要。只保留实体节点+关系边,描述向量化后存入向量库。仅这两步省掉就减少 80% 以上 LLM 调用量。

创新二:双层检索(Dual-Level Retrieval)

查询时把问题拆成两组关键词:

  • 低层关键词(Low-level):具体实体和术语 -> 用来检索实体节点,扩展到一跳邻居 -> 获取微观信息
  • 高层关键词(High-level):抽象主题和概念 -> 用来检索关系边,聚合涉及的实体 -> 获取宏观信息

两路并行检索,定位到实体和关系后在图上做一跳扩展,合并后组装上下文,交给 LLM 生成。不用预先生成社区摘要,查询成本和延迟降一个数量级。

LightRAG 的检索模式:一套渐进式能力梯度

LightRAG 实际上提供了多种检索模式,不只是 local 和 global:

模式做了什么对应能力
naive纯向量检索,完全不碰图等价于传统 RAG,只找语义相近的文本
local低层关键词 → 检索实体节点 → 一跳扩展微观:围绕具体实体的事实和直接关系
global高层关键词 → 检索关系边 → 聚合涉及实体宏观:跨实体的主题和联系
hybridlocal + global 并行,合并结果微观+宏观兼顾

这个设计的启发性在于:每种模式就是解题路径上的一个"推进档位"。你选用哪个模式,本质上是在决定把检索推进到哪个抽象层级:

  • 只需要找具体事实?naive 就够了,和传统 RAG 一样。
  • 需要围绕一个实体展开它的上下文?用 local,图帮你把相关邻居带出来。
  • 需要跨实体的宏观联系?用 global,通过关系边拿到更抽象的信息。
  • 问题既涉及具体细节又涉及宏观判断?用 hybrid,两路都跑。

这意味着 LightRAG 不是一个"要么全用要么不用"的系统——它是一个可以按需调节深度的检索框架。同一套索引,针对不同类型的问题选不同模式,成本和精度都可控。这也是它相比 GraphRAG 在工程上更灵活的一个体现:GraphRAG 的 Local Search 和 Global Search 背后依赖完全不同的数据结构(图遍历 vs 社区摘要),切换代价大;而 LightRAG 的四种模式共享同一套索引,只是查询路径不同。

创新三:增量天然友好

新文档来了 -> 抽实体和关系 -> 同名节点合并描述、新节点直接追加 -> 向量追加。没有社区层,自然没有「社区失效」问题。整个流程和传统 RAG 的 upsert 一样轻。

代价

牺牲了「全局深度洞察」。GraphRAG 的社区摘要是经过 LLM 加工的层次抽象知识视图;LightRAG 虽然也查图(一跳扩展),但没有多跳深度遍历和预计算的社区摘要,本质是查询时「现场拼凑」全局视角,对极复杂的全局归纳问题深度不如 GraphRAG。

另外实体消歧只做朴素名称匹配,不处理同人不同名的情况。时效性冲突也不自动处理(新旧信息会同时保留)。

向量检索在图 RAG 中的角色

GraphRAG 和 LightRAG 都不是纯图数据库方案——两者的查询入口都依赖向量检索做定位,图结构在定位之后才发挥作用。

共同模式:向量定位 + 图扩展

两者的查询流程都是「先用向量找到入口,再在图上扩展」:

 GraphRAGLightRAG
向量检索对象实体描述的 embedding实体描述 + 关系描述的 embedding
定位方式query embedding 直接匹配实体LLM 先从 query 提取关键词,再用关键词 embedding 匹配
图上扩展深度动态多跳(token 预算控制)固定一跳
全局问题不走向量,走社区摘要 Map-Reduce高层关键词检索关系边,按需拼凑

向量定位的固有问题

这一步本质上和传统 RAG 面临的是同一个挑战——只是检索对象从文本块变成了实体/关系描述。

短 query vs 长描述的不对称:实体在图里只是一个短词(如"特斯拉"),但它的描述是 LLM 合成的一大段综合文本。用短 query 去匹配长描述时,embedding 的信息量不对等。更麻烦的是,其他实体(如"马斯克")的描述里也可能频繁提到"特斯拉",导致向量距离很近而误召回。

实际工程中的缓解手段

  • 实体名称单独建索引,短对短精确匹配,精度远高于短对长
  • 名称索引 + 描述索引分别打分,名称匹配权重更高
  • LLM 先从 query 抽取实体关键词,直接按名称查图节点,不纯靠向量
  • 混合策略:精确/模糊名称匹配缩小范围,向量做精排

好处是实体描述通常比随机切出的文本块语义更集中自洽(LLM 合成的综合描述),所以向量匹配准确率理论上比传统 RAG 的块检索更高。但根本局限不变:向量检索只能找「语义相近」,无法处理别名、隐喻、指代等语义鸿沟问题。

宏观信息从哪来

传统 RAG 的一个根本缺陷是没有宏观数据——所有被检索出来的都是碎片化的文本块,面对「这份年报的战略方向是什么」这类需要全局视角的问题,它只能碰运气看 Top-K 里有没有恰好讲大方向的段落。图 RAG 的核心价值之一,就是创造了宏观信息的来源。但 GraphRAG 和 LightRAG 走了两条截然不同的路。

三种方案对比

 传统 RAGGraphRAGLightRAG
宏观信息来源无(只有碎片文本块)社区摘要(Community Reports)关系描述(边的描述文本)
生成方式LLM 对实体集群做有意识的高层归纳,预计算从原文局部抽取的关系描述,建索引时自然产生
抽象层级高:多实体交互的主题级归纳中:跨两个实体的关系级描述
查询时获取方式Map-Reduce 遍历社区摘要高层关键词向量检索关系边

GraphRAG 的宏观信息:社区摘要

GraphRAG 用 Leiden 算法把图谱划分为多层社区,然后为每个社区让 LLM 写一份摘要报告。这份报告不是简单拼接实体描述,而是 LLM 刻意归纳出来的——"这个集群里的实体构成了什么样的主题、有什么宏观趋势、存在什么潜在冲突"。

优点

  • 抽象层级高,能回答真正的全局性问题("这份年报战略的主线是什么")
  • 层次化社区(从粗到细)提供了不同粒度的宏观视角
  • 预计算好的,查询时直接用,宏观信息的质量在索引阶段就已锁定

缺点

  • 索引成本极高(每个社区都要调 LLM 生成摘要)
  • 增量困难:新实体加入 → 社区结构变化 → 摘要失效需重建
  • Global Search 要遍历大量社区摘要做 Map-Reduce,延迟高

LightRAG 的宏观信息:关系描述

LightRAG 的洞察是:关系(边)天然比实体(点)更抽象。"特斯拉"是一个具体实体,但"特斯拉推动了电动车市场变革"这条关系描述本身就承载了跨实体的宏观信息。把实体和关系分开索引,等于人为制造了两个素材池——实体池提供微观事实,关系池提供宏观联系。

为了让关系边能被高层关键词精准检索到,LightRAG 专门为每条边独立生成了关键词——这不是简单地把关系描述文本向量化就完了,而是用 LLM 为每条关系提取代表其宏观语义的关键词,单独建索引。这一步是刻意的设计:正因为关系边承载了宏观信息(相当于知识湖里的宏观素材),所以必须有一套独立的关键词体系来让它们能被高层查询命中。

查询时,高层关键词(抽象主题)命中的关系边,加上这些边连接的实体节点,拼合起来就构成了一份关于该主题的宏观素材。

优点

  • 零额外成本:关系描述在实体抽取时就自然产生了,不需要额外的 LLM 调用
  • 增量友好:新关系直接追加,不存在"摘要失效"问题
  • 查询延迟低:向量检索关系边,和检索实体一样快

缺点

  • 抽象层级有上限:每条关系只涉及两个实体之间的局部联系,无法承载多实体交互的宏观主题
  • "碰巧宏观"而非"刻意归纳":能覆盖到什么程度取决于原文里恰好写了哪些关系
  • 面对极复杂的全局问题("这个行业十年来的三个转折点是什么"),拼凑出来的关系描述深度不够

本质差异

GraphRAG 的宏观信息是预计算的刻意归纳——牺牲索引成本和增量灵活性,换来查询时高质量的全局视角。

LightRAG 的宏观信息是查询时按需拼凑——关系描述天然承载一定的宏观语义,用高层关键词把它们捞出来组装。成本几乎为零,但宏观深度受限于单条关系的信息容量。

这个取舍也直接决定了两者的适用边界:需要"真正的全局归纳"(跨几十个实体的主题概括)时,只有 GraphRAG 的社区摘要能做到;只需要"比传统 RAG 更宏观一点"(跨少数实体的关系联系)时,LightRAG 的方案性价比高得多。

核心对比

维度GraphRAGLightRAG
索引步骤5 步(含社区检测+摘要)3 步(无社区)
索引 100 万 token 成本$20-50~$0.15
查询延迟10s-1min(Global)1-3s
增量更新级联复杂直接追加
全局深度洞察强(社区摘要)一般(临场组装)
实体消歧多层策略朴素名称匹配
适合业务深度分析、静态知识、高精度实时更新、成本敏感、轻量部署

选型策略

选 GraphRAG 的场景

  • 需要全局洞察的深度内容分析(长篇文学主题、研报综述、专利趋势)
  • 跨文档多跳推理且容错率极低(合规审计、医疗诊断、法律检索)
  • 数据静态、更新不频繁的知识库
  • 对可解释性和审计追踪要求极高

选 LightRAG 的场景

  • 数据频繁更新(企业知识库、新闻、工单)
  • 成本敏感的中小团队
  • C 端实时交互(客服、语音助手)
  • 轻量部署/本地化/私有化
  • 中小规模知识库(10 万-500 万 token)

务实建议:先用传统 RAG 搭 MVP,观察用户实际问题类型。大量问题涉及跨文档关系和全局主题时再升级 LightRAG。LightRAG 搞不定的深度分析需求再上 GraphRAG。也可以混合架构——静态核心知识用 GraphRAG,动态增量用 LightRAG,加 Query Router 分流。

FAQ:几个容易搞混的关键问题

Q1:GraphRAG 和 LightRAG 都用了向量数据库吗?还是只有图数据库?

都用了。两者都不是纯图方案,查询入口都依赖向量检索做定位,图结构在定位之后才发挥作用:

  • GraphRAG:query embedding 匹配实体描述 → 定位入口实体 → 图上动态多跳遍历
  • LightRAG:LLM 从 query 提取关键词 → 关键词 embedding 匹配实体/关系描述 → 图上一跳扩展

向量负责"找到起点",图负责"从起点往外展开"。两者缺一不可。

Q2:向量检索拿短关键词去匹配一大段实体描述,能准吗?

这确实是个固有问题。实体在图里是一个短词(如"特斯拉"),但它的描述是 LLM 合成的一整段综合文本。短 query 和长描述之间 embedding 信息量不对等;更麻烦的是,其他实体(如"马斯克")的描述里也可能频繁提到"特斯拉",导致误召回。

实际工程中的缓解手段:实体名称单独建索引做短对短匹配;名称+描述分别打分加权;LLM 先抽关键词再按名称直接查图节点。本质上和传统 RAG 的向量检索精度问题一样,只是检索对象从文本块变成了实体/关系描述——好处是实体描述通常比随机切块语义更集中,坏处是别名、隐喻、指代等语义鸿沟依然解决不了。

Q3:从入口实体往外扩展几跳?

  • GraphRAG:不是固定跳数,而是按 token 预算动态控制——从入口不断往外扩展邻居,直到收集的上下文接近 LLM context window 上限为止。图越稀疏跳得越远,图越稠密收得越快。
  • LightRAG:固定一跳。

这直接解释了两者的延迟差异:GraphRAG 可能扩展出大量上下文塞给 LLM,LightRAG 只看一跳所以更精简更快。

Q4:传统 RAG 没有宏观信息,图 RAG 的宏观信息从哪来?

传统 RAG 检索出来的都是碎片化的文本块,没有宏观数据。两个图 RAG 走了不同的路:

  • GraphRAG:来自社区摘要(Community Reports)。LLM 对实体集群做有意识的高层归纳,预计算好存起来。抽象层级高,能回答真正的全局问题;代价是索引贵、增量难。
  • LightRAG:来自关系描述(边)。关系天然比实体更抽象——"特斯拉推动了电动车市场变革"本身就承载了宏观信息。LightRAG 还专门为每条边独立生成关键词,让高层查询能精准命中。零额外成本、增量友好;但宏观深度受限于单条关系的信息容量,是"碰巧宏观"而非"刻意归纳"。

Q5:传统 RAG 有 BM25 全文检索,图 RAG 里这一路去哪了?

传统 RAG 的标配是 hybrid search——向量检索 + BM25 分词检索两路召回再 rerank。但 GraphRAG 和 LightRAG 的论文里都只提了向量检索入口,没有全文检索这一路。原因:

  • 检索对象变了:传统 RAG 检索的是原始文本块(自然语言段落),BM25 分词匹配对这类长文本很有效。图 RAG 检索的是 LLM 合成的实体描述和关系描述——语义更集中、更短,向量匹配已经比较够用。
  • LightRAG 的关键词提取是一种变体:它让 LLM 从 query 里抽关键词再去匹配,目标和 BM25 分词类似(精确命中关键词),只是用 LLM 做了更智能的"分词"。

但要注意:这只是论文方案本身的设计。实际生产环境中,很多团队会在图 RAG 之外保留一路全文检索兜底——尤其是当实体消歧做得不好、向量也匹配不准时,BM25 能靠关键词硬匹配捞回来一些结果。类似地,实体名称单独建索引做精确/模糊匹配也是常见的工程补充(论文没提,但落地时会加),本质上起到了 BM25 在传统 RAG 里"关键词精确命中"的作用。

总结:图 RAG 论文里没有 BM25,但不代表生产系统不用。论文关注的是图结构带来的新能力,全文检索作为工程保险策略在落地时经常回来。

Q6:LightRAG 有哪些检索模式?各对应什么能力层级?

LightRAG 提供四种模式,构成一个渐进式能力梯度:

模式做了什么对应能力
naive纯向量检索,不碰图等价传统 RAG
local低层关键词 → 实体节点 → 一跳扩展微观:围绕具体实体的事实
global高层关键词 → 关系边 → 聚合实体宏观:跨实体的主题联系
hybridlocal + global 并行合并微观+宏观兼顾

用到哪一步,就决定了把检索推进到哪个抽象层级。同一套索引、不同查询路径,按需调节深度和成本。这比 GraphRAG(Local Search 和 Global Search 依赖完全不同的数据结构)在工程上灵活得多。


核心

RAG 的演进本质是在「精度-成本-速度-可维护性」四维空间里做权衡。GraphRAG 的真正贡献不是知识图谱本身(2012 年就有),而是用 LLM 让「从文档自动构建知识图谱」变得可行——但它为了全局洞察付出了社区摘要这个昂贵的代价,而社区摘要又是增量困境的根源。LightRAG 的核心洞察是:去掉社区层,用查询时的双层关键词检索「按需拼凑」全局视角,以全局深度的适度牺牲换来成本降低两个数量级和增量零负担。两者不是替代关系,而是同一条光谱上的不同取舍点。

评价

说得好的部分:文章用具体场景(欧洲供应商多跳查询、卡托普利禁忌症)把抽象的技术痛点讲得非常直观;成本对比用了真实数字,没有含糊其辞;增量更新的级联分析讲得清楚透彻,点出了「社区摘要是增量困境根源」这个关键因果链。

有问题的部分:文章标题是面经体但内容其实是技术科普,标题党降低了信任度。LightRAG 的精度评价几乎只引用了 LightRAG 自己论文里的基准测试(论文作者选数据集和评测维度难免有偏),缺乏第三方独立验证或实际生产案例的佐证。GraphRAG 的 DRIFT Search 一笔带过,但它恰恰是微软对 Global Search 成本问题的官方改良,值得展开。

没说到的部分:没讨论 GraphRAG 和 LightRAG 在「幻觉率」上的差异(图结构约束是否能有效降低幻觉);没提到 HippoRAG 等其他竞争方案的设计差异;没讨论 LLM 上下文窗口快速增长(100K -> 1M)对 RAG 本身是否必要这个更根本的问题——如果窗口够大,是否直接长文本就行?

隐含假设:假设 LLM 抽取实体关系的质量足够好。实际上抽取质量高度依赖 Prompt 设计和模型能力,用弱模型做抽取可能导致图谱质量很差、垃圾进垃圾出。文章没有讨论这个前置条件对整套方案可行性的影响。

本文由作者按照 CC BY 4.0 进行授权