这篇文章的核心是系统性地评估了不同RAG架构在半结构化知识库上的表现并回答了何时以及如何使用GraphRAG和Agentic RAG这一关键问题。以下是全面总结一、研究背景与问题传统RAG在处理半结构化知识库同时包含文本和实体关系数据时存在局限难以应对需要多跳推理和关系理解的复杂查询如精准医学问题。GraphRAG、模块化RAG和Agentic RAG等高级变体相继涌现但它们的实际优势是否显著、何时该用哪种架构缺乏系统的实证研究。二、研究框架与方法1. 九大标准化RAG场景设计作者设计了三大类共9个场景从简单到复杂覆盖真实应用场景类别场景核心特点常规RAG场景1仅用实体描述文档纯文本检索场景2文档中融入1跳关系信息简单关系增强GraphRAG场景3仅用预定义知识图谱无文本场景4从文档自动构建KG 向量检索场景5向量检索 预定义KG遍历混合检索模块化/Agentic RAG场景6固定流程的模块化RAG查询重构→检索→重排序场景7代理自主调用模块化工具场景8仅给检索工具的自主代理最少工具场景9场景8 KG检索工具2. 实验数据集与设置数据集STaRK-Prime精准医学领域129K实体8.1M关系评估指标Hit1、Hit5、R20、MRR采用端到端生成质量评估而非仅检索排名LLMAnthropic Claude 3.7 Sonnet3. 上下文优化方法核心技术创新针对GraphRAG和Agentic RAG的上下文/内存溢出问题提出三方面优化关系分组图表示将三元组(实体1-关系-实体2)压缩为实体1-(关系1|关系2)-实体2减少重复实体名去重机制维护统一子图对图检索和文档检索分别进行实体级和内容级去重批量代理检索结合ReAct和ReWOO一次规划多个子查询并批量执行减少LLM往返次数三、核心实验发现1. 性能对比结果关键发现具体数据场景2简单关系增强表现优于场景5GraphRAGHit1: 0.6972 vs 0.6422场景8最少工具的自主Agentic RAG取得最佳整体表现Hit1: 0.6881MRR: 0.7549仅用KG场景3表现最差Hit1仅0.1376证明纯图检索缺乏语义信息效果很差混合检索场景5优于纯文本场景1Hit1: 0.6422 vs 0.6147添加KG工具场景9反而降低表现Hit1从0.6881降至0.60552. 上下文优化效果令牌使用量减少19%–53%同时保持或提升性能场景9优化后令牌减少达42%–48%且部分指标有所提升批量查询策略提升检索覆盖率RoR最高达94.4%但未必提升生成质量3. 检索-生成差距最关键发现这是本文最核心的洞察扩展检索大幅提升实体覆盖率如KG检索从54.9%提升至83.5%但LLM答案召回率几乎不变仅45.4%–48.2%原因分析位置性注意力衰减提取的实体平均出现在前10.5%令牌位置遗漏实体平均在36.8%位置中间丢失现象语义偏好LLM倾向于规范/常见术语而非穷举所有匹配项如倾向输出牙周炎而非化脓性根尖周炎查询基数效应单数提问What is...诱导LLM只输出一个答案即使多个正确答案存在于上下文中四、结论与建议问题答案是否需要GraphRAG需要依据具体场景复杂关系查询可考虑但简单关系增强往往更高效哪种架构最优自主Agentic RAG最少工具综合表现最佳添加过多工具反而损害性能核心优化方向上下文压缩与去重19%–53%令牌节省是生产部署的关键评估方式启示不能仅看检索指标Hitk、MRR必须评估LLM实际生成质量因为检索提升不等于生成提升五、局限性与未来方向局限性仅用单一数据集精准医学和单一LLMClaude 3.7通用性有待验证缺乏对事实忠实度、幻觉率的评估。未来方向改进上下文结构以缩小检索-生成差距设计鼓励穷举提取的提示策略开发平衡效率与自适应性的混合方法。论文通过系统实验证明简单的关系增强和最少工具的自主Agentic RAG往往比复杂的GraphRAG更有效同时揭示了检索多≠生成好的关键差距为生产级RAG系统的架构选型和评估提供了数据驱动的实践指南。这里是自己的论文阅读记录感兴趣的话可以参考一下如果需要阅读原文的话可以看这里如下所示摘要随着 GraphRAG 和 Agentic RAG 等高级 RAG 变体的出现一个首要问题是何时以及如何使用它们。在此我们介绍一个框架用于在半结构化知识库上评估和比较不同的 RAG 场景包括常规 RAG、GraphRAG、模块化 RAG 和 Agentic RAG。我们为 9 个标准化的 RAG 场景提供了实现并进行了实验以进行全面比较。这些场景针对真实用例设计涉及数据和领域限制范围从基于文档的简单检索到混合文本-图检索、与计算出的或预定义的领域知识图谱集成、代理式多步规划以及代理-图集成等高级功能。此外我们提出了一种用于 GraphRAG 和 Agentic RAG 的新型上下文工程方法解决了上下文/内存溢出问题通过新的表示形式和代理循环设计有效管理文本和图检索使得令牌使用量减少了 19% - 53%。此外进一步的分析发现了一个检索-生成差距即扩展的检索并不能按比例提高生成质量这表明面向检索的指标高估了高级检索的优势。这项工作为构建生产就绪的智能 RAG 系统提供了关于何时以及如何使用它们的数据驱动洞察。1 引言检索增强生成RAGLewis 等2020已成为将大型语言模型LLM输出基于外部知识的主流范式。传统的 RAG 方法在处理非结构化文本语料库的问答任务上已被证明非常有效。现实世界应用日益增长的复杂性凸显了纯文本知识表示的局限性推动了对更复杂方法的需求以处理包含非结构化文本信息和实体间显式关系数据的半结构化知识库。例如诸如“哪个基因参与囊泡运输位于着丝粒并参与抗原加工通路”这样的精准医学查询需要同时对实体属性和多跳关系进行推理而基础 RAG 系统难以提供这些。这些需求暴露了基础 RAG 在面对半结构化知识库时的局限性。认识到这些局限性高级 RAG 变体应运而生。GraphRAGPeng 等2024通过整合基于图的表示和推理能力扩展了传统检索使得能够在知识图谱KG上进行实体关系导航和多跳推理。模块化 RAGGao 等2024通过将流程分解为专门化、可互换的组件针对特定数据类型和查询模式进行了优化引入了架构灵活性。Agentic RAG 系统Singh 等2025利用能够进行动态规划、工具使用和迭代推理的自主代理实现了复杂的多步问题解决能够自适应地与各种知识源交互并采用自我修正机制。然而这些先进方法的快速采纳引发了一个根本性问题这些复杂的架构是否能转化为有意义的改进以及标准评估指标是否能捕捉到这些差异尽管这些复杂系统承诺在互连数据上增强推理能力但这些方法相对于经过良好优化的基线模型的实际优势在很大程度上仍未得到探索。为了解决这一差距我们引入了一个全面的框架用于在半结构化知识库上评估和比较不同的 RAG 范式涵盖传统 RAG、GraphRAG、模块化 RAG 和 Agentic RAG 方法。我们的工作为 9 个标准化的 RAG 场景提供了系统化的实现这些场景针对现实世界用例设计具有真实的数据和领域限制范围从基于文档的简单检索到高级能力包括文本到图查询翻译、混合文本-图检索、与计算出的或预定义的领域知识图谱集成、代理式多步规划以及复杂的代理-图集成模式。通过在精准医学领域的半结构化知识库上进行实验我们提供了数据驱动的洞察阐明了何时以及如何战略性地部署这些 RAG 变体以构建生产就绪的智能系统。此外我们提出了一种简单但新颖的 GraphRAG 和 Agentic RAG 上下文工程方法通过利用更简洁的文本和图上下文表示以及一种超越 ReActYao 等2023的新代理循环设计模式解决了上下文/内存溢出问题。我们还识别出一个检索-生成差距在答案生成过程中对 LLM 选择的实体进行端到端评估而不是原始的检索排名揭示了扩展的检索并不能转化为答案质量的相应提升。这表明面向检索的指标高估了高级检索策略的优势。我们的贡献为实践者提供了经验指导以便根据特定的用例需求、数据特征和性能约束做出明智的架构决策。2 相关工作集成文本和关系数据的半结构化知识库对于知识密集型应用日益重要。STaRKWu 等2024为评估此类混合资源的检索提供了一个全面的基准而像 HotpotQAYang 等2018和 ComplexWebQuestionsTalmor 和 Berant2018这样的数据集则测试多跳推理能力。GraphRAG 方法利用知识图谱进行关系感知的检索Edge 等2024Peng 等2024而 Agentic RAG 则引入了能够动态编排检索和推理的自主代理Singh 等2025。这些方法与半结构化知识库的交集为利用图的结构精度和代理驱动检索的灵活性提供了独特机会尽管与更简单的基线相比这些方法的优势和权衡仍然是一个悬而未决的问题我们的工作旨在解决这一问题。3 方法3.1 问题定义因此这是一个典型的 RAG 问题可以通过不同的场景来解决。然而RAG 场景的选择高度依赖于文本和关系资源的可用性以及用户查询的复杂性。在以下小节中我们将解释三大类别下的 9 个场景常规 RAG、GraphRAG 以及模块化和 Agentic RAG。3.2 常规 RAG 场景场景 1 - 仅使用实体描述文档的 RAG此基线场景仅索引实体描述文档。如图 1 所示给定查询后通过向量相似性搜索检索文本文档并串联起来作为 LLM 答案生成的上下文。对于我们的任务LLM 被指示同时提供答案和实体 ID。这种方法代表了最常用的 RAG 方法特别是在无法访问预定义关系数据的情况下。然而它面临缺乏关系上下文以处理复杂查询的限制。场景 2 - 使用包含实体描述和关系的文档的 RAG此场景在索引之前将每个实体文档与其按关系类型分组的 1 跳邻居进行增强。附录中的图 2 提供了场景 1 和场景 2 中文档的示例。其余步骤与场景 1 相同。这提供了一种无需图搜索即可整合关系信息的简单方法尽管它仅限于 1 跳关系。3.3 GraphRAG 场景3.4 模块化和 Agentic RAG 场景3.5 上下文优化在我们对 GraphRAG 和 Agentic RAG 系统的实验中我们观察到显著的令牌使用和成本挑战这些挑战经常接近或超过 LLM 的上下文限制。分析揭示了两个主要的冗余来源1图表示的传统三元组格式实体1-关系-实体2在实体对共享多个关系时会重复实体名称2像 Strands Agents 这样的传统代理框架会平铺存储检索结果并将整个会话历史注入到每个后续的 LLM 调用中导致重叠子图和重复文档在多步骤中累积。为了解决这些问题我们提出了一个三方面的上下文优化策略。首先我们引入了一种关系分组的图表示将传统的三元组转换为紧凑格式实体1 - (关系1|关系2|关系3) - 实体2将被 n 个关系连接的实体的令牌使用量从 O(n) 减少到 O(1)。其次我们通过在代理会话期间维护一个单一的、统一的子图来实现图检索去重通过实体级和关系级去重合并新的图检索以确保上下文呈亚线性增长。第三我们使用内容哈希实现内容感知的文档检索去重在将重复文档或块添加到代理内存之前识别并消除它们。除去重外我们还通过修改代理的循环设计和检索模式来进一步减少令牌开销。我们不是为每个工具调用发出一个查询默认的 ReActYao 等2023行为而是实施批处理代理检索策略结合 ReAct 和 ReWOOXu 等2025风格指示代理制定多个互补的子查询并在单个批处理检索调用中执行它们算法 1。这种混合 ReAct-ReWOO 方法减少了 LLM 往返次数每次往返都会重新发送完整的对话历史。关于批处理策略的设计原理及其与检索-生成差距的交互请参见附录 D 的详细讨论。此外我们进一步研究了扩展检索的变体方法包括利用节省的令牌预算例如增加最大路径数和子图数以及检索非冗余文本块。这些优化还能实现受控实验以研究检索-生成差距因为节省的令牌可以重新投资于扩展检索同时监测生成质量是否随之变化。4 实验设置数据集和指标我们在一个半结构化知识库数据集 STaRK-PrimeWu 等2024上评估我们提出的 RAG 场景。这是一个精准医学查询数据集其文本文档来自约 129K 个实体如疾病、药物、蛋白质和基因的多个来源而 8.1M 条 KG 关系来自 PrimeKGChandak 等2023。我们使用官方测试集包含人工生成的查询以及以下评估指标Hit1、Hit5、Recall20R20和平均倒数排名MRR。重要的是与评估原始检索排名的原始 STaRK 基准Wu 等2024不同我们的指标评估端到端的生成质量LLM 生成自然语言答案并返回一个缩小的实体 ID 集然后将其与真实值进行比较评估。对于上下文优化实验我们包含每个查询的平均令牌使用量#Tokens和在生成利用前关于真实实体 ID 覆盖率的检索召回率RoR。算法 1 批处理代理检索混合 ReAct-ReWOO 风格预定义知识图谱为准备用于图搜索的预定义 KG我们从 STaRK-PRIME 数据集中提取了所有 129K 个实体和 8.1M 条关系并将它们以 openCypher 格式导入 Amazon Neptune Analytics Graph。然后我们使用 LlamaIndexLiu2022将 Neptune 图加载到属性图索引中并使用 CypherTemplateRetriever 创建知识图谱检索器。对于子图提取我们设置 h 2 跳邻居遵循 Xia 等Xia 等2024并设置最大 100 条路径以避免邻居节点和关系数量呈指数级增长。文档检索文档检索器使用 Amazon Bedrock Knowledge Bases 构建。由于实体描述文档的令牌大小可行并且为保持实体描述的完整性未进行分块。我们使用 Amazon Titan Text Embedding v2 进行嵌入使用 Amazon OpenSearch Serverless 作为向量存储并使用实体类型、名称等信息作为索引的元信息。对于使用从文档计算出的知识图谱的实验我们使用 Amazon Neptune Analytics 作为向量存储并使用 Bedrock Knowledge Bases 中预定义的 GraphRAG 流程。每次检索调用检索 20 个文档。Agentic RAG 实现除了文档检索器和预定义的 KG 检索器我们还为模块化 RAG场景 6和相应的 Agentic RAG场景 7实验实现了基于 LLM 的查询重构器和文档重排序器。我们使用 Strands AgentsAWS2025作为 Agentic RAG 实现的框架默认采用其 ReAct 风格Yao 等2023的推理循环未指定时代理迭代地思考查询通过调用工具行动并观察结果后再决定下一步。在场景 7 中代理可以访问文档检索器、查询重构器和文档重排序器作为工具。而在场景 8 中代理只能访问文档检索器但系统提示指示其自主考虑其他过程。系统提示可在附录 Box A 中找到。场景 9 与场景 8 类似但代理也可以访问预定义的 KG 检索器。LLM测试不同 LLM 的性能并非本工作的当前重点。因此为公平比较不同的 RAG 场景Anthropic Claude 3.7 Sonnet 被用作基于 LLM 的模块/工具和代理的核心 LLM。5 实验结果常规 RAG表 1 提供了基于常规 RAG 的场景场景 1-2的性能。场景 1 仅使用实体描述文档和仅检索配置取得了中等性能Hit1 为 0.4404MRR 为 0.5455。加入 LLM 答案生成和实体选择显著改善了结果Hit1 提升至 0.6147MRR 提升至 0.6769。场景 2 同时包含实体描述和关系文档在所有指标上均显示出一致的改进。仅检索方法取得了 Hit1 为 0.5596MRR 为 0.6647而带有 LLM 处理的增强版本达到了基础 RAG 方法中的最高性能Hit1 为 0.6972MRR 为 0.7531。这些结果清楚地证明了在 RAG 系统中纳入关系信息的有效性即使它是按照场景 2 定义的非常简单的方式进行的仅将 1 跳邻居和关系添加到原始文档的末尾。值得注意的是当从仅检索评估转向 LLM 选择的评估时R20 从 0.7154 下降到 0.6119表明 LLM 选择了更少但更精确的实体。这种检索指标和生成指标之间的差异是所有场景中反复出现的模式这促使我们采用生成感知的评估方法。GraphRAG如表 1 的第二部分所示在 3 个 GraphRAG 场景场景 3-5中场景 5 始终优于其他场景。场景 3 仅使用预定义知识图谱在所有指标上表现不佳Hit10.1376MRR0.1542这表明仅依赖图搜索而不利用任何语义信息的 RAG 系统面临挑战。相比之下场景 5 相对于场景 3 的性能提升清楚地显示了在 GraphRAG 中利用语义信息的好处。场景 4 利用从实体文档计算出的知识图谱表现出极度不一致性。仅检索配置在 Hit1 上完全失败0.0000同时取得了有竞争力的 R200.6340。带有 LLM 答案生成和实体选择的版本将 Hit1 提升至 0.5596但降低了整体效果MRR0.6162。场景 4 和场景 5 之间的性能差距反映了计算 KG 与预定义 KG 之间的差距。在场景 4 中计算 KG 是由文档中提取的实体和关系生成的这很难做到像预定义 KG 那样准确和全面。此外使用低质量的计算 KG 可能会对最终的 RAG 性能产生负面影响这可以解释场景 4 和场景 1 之间的性能差距。场景 5 相对于场景 1 的性能提升证明了利用来自预定义 KG 的关系信息。然而有趣的是注意到场景 2 的性能优于场景 5这表明简单的 1 跳关系集成可以比更复杂的 GraphRAG 方法带来更好的性能。这个结果也可能归因于未优化的子图表示三元组以及超参数选择例如跳数、最大路径数、子图实体数量。在场景 2 中1 跳关系按关系类型分组参见附录图 2 中的示例而在场景 5 中子图以三元组格式表示这通常会导致冗长的上下文LLM 可能因“中间丢失”问题Liu 等2023而失去注意力。在场景 5 下我们比较了不同的最大路径数和子图实体数。结果显示随着子图实体数和最大路径数的增加性能有提升的趋势。然而由于冗长的上下文和“中间丢失”问题性能也可能下降。模块化和 Agentic RAG对于模块化 RAG场景 6添加新组件后性能有所提升这证明了组件专业化的价值。具有查询重构器、文档检索器和重排序器的完整流程取得了卓越的性能Hit10.6239Hit50.8073R200.7857MRR0.703。场景 7 使用相同的模块化组件查询重构器、文档检索器和重排序器作为工具取得了比场景 6 更好的性能这表明 AI 代理在自我规划和多步推理方面的能力。更有趣的是自主 Agentic RAG 系统场景 8在模块化和 Agentic RAG 类别中取得了最佳性能这表明 AI 代理有可能在最少的扩展支持或预定义专业化工具的情况下自主执行复杂任务。然而启用思考或添加预定义 KG 检索器场景 9似乎没有帮助。在附录 A 中我们分享了场景 8 中代理思考过程的一个示例由 Strands Agents 输出。该示例展示了代理处理复杂的、多方面的查询的能力这些查询需要广泛的领域知识整合同时保持高准确性。代理的自主推理和自适应行为使其能够成功应对跨领域医学和环境关系的复杂性。然而追踪也揭示了一个关键限制在多次检索调用后累积的会话历史反复触发上下文窗口溢出错误迫使代理进行越来越窄的搜索并最终返回不完整的结果。这突显了接下来提出的上下文优化方法的必要性。上下文优化表 2 显示了场景 5、8 和 9 在上下文优化下一致的令牌减少。对于场景 5GraphRAG优化在基线参数下实现了 53% 的令牌减少且性能相当而扩展到 500 条路径则在减少 41% 令牌的情况下取得了最佳的 Hit50.7982。对于场景 8单独去重实现了 19% 的减少代价是轻微的权衡。最令人印象深刻的是场景 9 表明优化带来的好处随检索复杂性增加而扩大基线配置实现了 24% 的令牌减少同时提高了 Hit5 和 R20而扩展到 500 条路径则进一步提升性能同时实现了 42% 的令牌减少。这表明上下文优化不仅减少了开销还增强了代理有效利用扩展的混合文本-图检索的能力。批量查询变体算法 1减少了工具调用次数同时增加了检索覆盖范围如场景 8 和 9 所示。它达到了最高的检索覆盖率RoR94.4%同时在与非冗余检索结合时仍低于基线令牌使用量。这些结果表明批处理代理检索发出更多推测性查询是增加检索覆盖范围的有效方法同时减少了 LLM 往返次数从而减少了为重复注入会话历史而产生的代理内存使用量。然而如表 2 所示扩展的检索并不一定能提高生成质量这直接证明了接下来讨论的检索-生成差距。检索-生成差距在各种场景中随着检索范围的增加性能提升仍低于预期。我们的深入分析见附录 B表明虽然扩展检索显著增加了真实实体的覆盖范围但 LLM 并未有效利用这些额外信息进行答案生成突显了检索全面性与生成有效性之间的关键差距。为了理解这一差距我们比较了场景 5-Opt500 条路径20 个子图中 LLM 提取的答案实体与遗漏的答案实体其中检索覆盖率达到 83.5%但 LLM 提取率仅为 47.9%。如表 3 所示提取的实体在令牌位置上出现得早 3.5 倍平均 10.5% 对比 36.8%且提取率随位置急剧下降表明存在位置性注意力衰减。除了位置定性分析附录 C还确定了两个额外因素LLM 偏好规范实体而非穷举枚举以及查询引发的基数期望抑制了多实体提取。这些发现表明当前的面向检索的指标HitkMRR可能高估了扩展检索的好处并且 RAG 系统的评估应分别评估检索覆盖率和生成利用率。此外研究附录 B还揭示具有优化上下文的代理会更自主地调用检索工具而无需明确提示。这些观察值得进一步研究。6 结论与未来工作我们引入了一个综合框架用于在半结构化知识库上评估常规 RAG、GraphRAG、模块化 RAG 和 Agentic RAG 架构。我们的研究表明“是否需要 GraphRAG”这个问题需要一个细致入微、依赖上下文的答案。虽然 GraphRAG 在处理复杂关系查询方面显示出潜力但更简单的 RAG 变体可以以更低的开销提供有竞争力的性能而具有最少专用工具的自主 Agentic RAG 则在各方面取得了卓越的结果。我们的上下文优化方法实现了 19% - 53% 的令牌减少同时保持或提升了性能展示了其在生产部署中的实际价值。此外我们识别出一个检索-生成差距这对 RAG 系统的评估方式具有影响。我们的分析表明扩展的检索并不会转化为成比例的生成改进这是由位置性注意力衰减、语义显著性偏好和查询引发的基数效应驱动的。未来的工作应解决检索-生成差距问题例如通过上下文重构和提示设计鼓励穷举提取。其他方向可能包括开发平衡效率和适应性的混合方法探索特定领域的图利用策略。局限性我们的实验是在一个来自精准医学领域的单一数据集STaRK-Prime上进行的这可能限制了其推广到具有不同结构特征或关系复杂性的领域的普适性。然而该数据集的规模129K 个实体8.1M 条关系及其文本和关系数据的组合使其能够代表现实世界的半结构化知识库并且我们的框架被设计为与数据集无关。同样所有实验都使用单一 LLMAnthropic Claude 3.7 Sonnet。虽然不同模型的相对场景性能可能会发生变化但我们的核心发现例如检索-生成差距和简单关系增强的有效性反映了架构属性而非模型特定行为。Agentic RAG 场景在工具选择和规划方面表现出固有的非确定性尽管使用温度设置为零但仍可能引入变异性。由于缺乏真实自然语言答案我们的评估仅限于面向检索的指标Hit1、Hit5、R20、MRR并未评估事实忠实度或幻觉率等维度我们将这些留待未来工作。最后我们没有对所有场景进行详尽的超参数调整这可能为个别配置留下进一步性能提升的空间。伦理声明本工作使用了公开可用的 STaRK-Prime 数据集Wu 等2024该数据集源自包括 PrimeKGChandak 等2023在内的开放生物医学知识库。我们的实验未涉及人类受试者。所有评估均使用自动化指标在现有基准查询上进行。我们的实验依赖于商业 LLM API通过 Amazon Bedrock 的 Anthropic Claude这会产生计算成本和相关的能源消耗。本文讨论的生物医学领域应用旨在用于研究评估目的未经适当验证不应用于临床决策。