Skip to content

第15章 RAG进阶:知识图谱与混合检索

本章来源:综合自 agentic-design-patterns 第14章(Graph RAG与Agentic RAG深度分析)、Practical-Guide(RAG技术工程实践)、Hello-Agents 第八章(向量+图混合检索架构)、Hello-Agents 第九章(JIT上下文检索)

核心问题 —— 本章要解答什么

标准RAG在处理简单的"查找-引用"类查询时表现出色,但面对需要跨文档综合推理、理解实体间复杂关系、或在矛盾信息中做出判断的场景时,其局限性便暴露无遗。本章要解答的核心问题是:当标准RAG不够用时,有哪些进阶架构可以突破其能力边界?这些架构各自解决什么问题,付出什么代价?

具体而言,本章聚焦三个进阶方向:

  1. Graph RAG:利用知识图谱的结构化关系来增强检索的深度和准确性
  2. Agentic RAG:引入推理智能体,将RAG从被动管道升级为主动推理框架
  3. 混合检索架构:向量+图+关键词的多路融合,在不同信息类型间取得最优检索效果

设计空间 —— 可选方案与取舍

RAG范式的演进谱系

RAG的演进可以沿两个维度理解:检索结构的复杂度推理能力的深度

范式检索结构推理能力典型场景核心代价
标准RAG向量相似度检索无(直接注入上下文)单文档问答低延迟、低成本
Graph RAG知识图谱导航关系推理跨文档综合分析高建设成本
Agentic RAG工具调用+多步检索反思、验证、综合复杂决策支持高延迟、高成本
混合RAG多路检索融合可选多类型信息源架构复杂度

这些范式并非相互替代关系,而是面向不同复杂度的任务形成了一个能力梯度。架构师的核心决策是:为当前任务选择复杂度刚刚好的范式

关键取舍矩阵

取舍维度标准RAGGraph RAGAgentic RAG
建设成本高(需构建知识图谱)中(需设计智能体逻辑)
维护成本中(定期更新索引)高(图谱同步)
查询延迟低(单次检索)高(多步推理)
信息综合能力
矛盾处理能力有限
可解释性高(关系路径可追踪)高(推理过程可记录)

架构解析 —— 深入分析进阶RAG架构

15.1 Graph RAG:知识图谱增强检索

15.1.1 为什么需要Graph RAG

标准RAG的向量检索本质上是"片段独立"的——每个文本块被独立嵌入和检索,块与块之间的关系信息被完全丢弃。当回答一个问题需要综合多个文档中的碎片化信息时,标准RAG可能无法收集所有必要的上下文。

Graph RAG [Edge et al., 2024] 通过知识图谱引入了显式的关系结构。知识图谱由实体(节点)和关系(边)构成,能够表达"公司A的CEO是人物B"、"药物X可治疗疾病Y"这类结构化知识。当用户的查询需要沿着关系链条进行推理时,图结构天然适合这种导航式检索。

15.1.2 Graph RAG的工作流程

Graph RAG的核心流程包括:

  1. 知识图谱构建:从文档中提取实体和关系,构建图结构
  2. 双重索引:同时维护向量索引(用于语义检索)和图索引(用于关系导航)
  3. 混合检索:查询时同时执行向量检索和图遍历,合并结果
  4. 关系增强生成:将检索到的实体、关系和上下文一起注入LLM的提示中

15.1.3 向量+图的混合检索实现

Hello-Agents框架的语义记忆模块提供了向量+图混合检索的参考实现。其核心设计是:使用Qdrant向量数据库进行语义相似度搜索,同时使用Neo4j图数据库存储和检索实体关系。

混合排序的评分公式为:

综合分数 = (向量相似度 × 0.7 + 图相似度 × 0.3) × (0.8 + 重要性 × 0.4)

这个公式体现了三个关键设计考量:

  • 向量检索权重(0.7):语义相似度作为主要因素,确保检索结果与查询语义相关
  • 图检索权重(0.3):关系推理作为补充,发现概念间的隐含关联
  • 重要性权重范围[0.8, 1.2]:避免重要性过度影响相似度排序,保持检索的准确性

知识图谱的构建需要从文本中自动提取实体和关系。这一过程通常结合NLP工具(如spaCy)的命名实体识别和LLM的关系抽取能力:先用NLP工具识别文本中的实体,再用LLM判断实体间的关系类型,最终在Neo4j中创建节点和边。

15.1.4 Graph RAG的适用场景与局限

Graph RAG的优势场景包括:

  • 复杂金融分析:将公司、市场事件、财务指标关联起来
  • 科学研究:发现基因、疾病、药物之间的关系网络
  • 企业知识管理:追踪人员、项目、文档之间的组织关系

主要局限在于:

  • 知识图谱构建成本高:需要大量的实体抽取和关系标注工作
  • 灵活性较低:图结构的变更比向量索引的更新更复杂
  • 延迟较高:图遍历的计算成本高于简单的向量检索
  • 质量依赖:系统有效性完全取决于底层图结构的质量和完整性

15.2 Agentic RAG:从被动检索到主动推理

Agentic RAG架构

15.2.1 标准RAG的根本局限

标准RAG是一个"单次检索-直接生成"的管道,它被动地接受检索结果,缺乏对信息质量的评估能力。当检索到过时的文档、矛盾的信息或不完整的上下文时,标准RAG无法识别和处理这些问题。

Agentic RAG引入了一个推理和决策层——一个"智能体"充当知识的守门人和精炼者。这个智能体不被动接受检索数据,而是主动质疑其质量、相关性和完整性。

15.2.2 Agentic RAG的四种核心能力

能力一:反思与源验证

当用户询问"公司的远程工作政策是什么?"时,标准RAG可能同时检索到2020年的博客文章和2025年的官方政策文档。Agentic RAG中的智能体会分析文档的元数据,识别2025年政策为最新和最权威的来源,丢弃过时的博客文章后再将正确的上下文发送给LLM。

能力二:知识冲突协调

当检索到两个矛盾的信息源时——例如初始提案说预算为50,000欧元,最终财务报告列出65,000欧元——Agentic RAG会识别这种矛盾,根据来源的权威性进行优先级排序,向LLM提供经过验证的数据。

能力三:多步推理与查询分解

面对复杂的比较类查询(如"我们产品的功能和定价与竞争对手X相比如何?"),智能体会将其分解为多个独立的子查询,分别检索后综合成结构化的比较上下文——这是简单的单次检索无法实现的。

能力四:知识差距识别与外部工具调用

当内部知识库中找不到相关信息时,智能体可以识别这个差距,激活外部工具(如实时网络搜索API)来补充信息,克服静态知识库的局限。

15.2.3 Agentic RAG 与 Agent Memory 的边界

Agentic RAG 虽然引入了智能体的推理能力,但其本质仍是从外部静态知识库检索信息——知识库本身不会因为智能体的使用而改变。相比之下,Agent Memory(参见第 11-12 章)是一种在持续交互中通过自身经验不断演化的内部认知基础——记忆的内容会随智能体的使用而形成、巩固、更新和遗忘。两者的关键区分标准是:数据是否随交互而自我消化与改变。Agentic RAG 位于两者之间的灰色地带——它比传统 RAG 更"智能",但尚未达到 Agent Memory 的自演化特性。

15.2.4 Agentic RAG的代价

Agentic RAG的核心代价是复杂性、延迟和成本的显著增加:

  • 工程复杂度:设计、实施和维护智能体的决策逻辑和工具集成需要大量工程投入
  • 延迟增加:智能体的反思、工具使用和多步推理循环比标准检索过程需要更多时间
  • 新的错误源:智能体本身可能成为错误的来源——有缺陷的推理过程可能导致它陷入无用循环、误解任务或不当丢弃相关信息

15.3 混合检索架构设计

15.3.1 多路检索融合

RAG检索模式

生产级RAG系统通常采用多路检索融合架构,结合不同检索方式的优势:

  • 向量检索路:基于语义相似度,擅长处理同义表达和概念关联
  • 关键词检索路(BM25):基于词频匹配,擅长处理专有名词、代码片段
  • 图检索路:基于实体关系,擅长处理关联性查询

三路检索的结果通过Reciprocal Rank Fusion(RRF)算法进行统一排序。RRF的核心思想是:一个文档如果被多种检索方式同时排在高位,那么它的综合得分应该更高。

15.3.2 多策略检索(MQE与HyDE)

Hello-Agents的RAG系统实现了多策略检索能力:

  • 标准向量检索:直接用查询的嵌入向量进行相似度搜索
  • 多查询扩展(MQE):将原始查询通过LLM生成多个变体查询,分别检索后合并结果
  • 假设性文档嵌入(HyDE):先用LLM生成假设性答案,再用答案的嵌入进行检索

这些策略的选择取决于查询的特征:简单事实查询适合标准检索;含糊或多义的查询适合MQE;领域专业查询适合HyDE。

15.3.3 检索结果的后处理

RAG数据库检索模式

检索到原始结果后,通常还需要以下后处理步骤:

上下文构建:将检索到的多个文本片段智能合并,处理重叠和冗余,构建连贯的上下文输入。

相关性重排:使用交叉编码器或LLM对候选结果进行细粒度的相关性评估,过滤掉噪声结果。

上下文截断:当检索结果超过LLM的上下文预算时,需要智能截断——优先保留高相关性的片段,同时确保每个片段的语义完整性。

关键实现决策 —— 工程实践中的关键选择点

15.4 静态RAG vs JIT(即时)上下文

这是RAG架构中最关键的范式选择之一。

静态RAG(Pre-computed RAG):在推理前一次性检索所有相关内容,将其预加载到上下文中。

JIT上下文(Just-in-time Context):不预先加载数据,而是维护轻量化引用(文件路径、存储查询、URL等),在运行时通过工具动态加载所需数据。

JIT上下文的认知模式更贴近人类:我们不会死记硬背全部信息,而是用文件系统、收件箱、书签等外部索引按需提取。智能体可以撰写针对性查询、缓存必要结果,并用诸如 head/tail 之类的命令分析大体量数据——无需把整块数据一次性塞入上下文。

引用的元数据本身也能帮助精化行为:目录层级、命名约定、时间戳等都在隐含地传达"目的与时效"。例如,tests/test_utils.pysrc/core/test_utils.py 的语义暗示截然不同。

需要权衡的是:运行时探索往往比预计算检索更慢,并且需要精心的工程设计来确保智能体拥有正确的工具与启发式。在不少场景中,混合策略更有效:前置加载少量"高价值"上下文以保证速度,然后允许智能体按需继续自主探索。

15.5 RAG系统在智能体中的集成模式

在智能体架构中,RAG通常以两种模式集成:

模式一:RAG作为工具

RAG系统被封装为智能体的一个工具(Tool),智能体在决策过程中按需调用。这种模式的优势是灵活——智能体可以决定是否需要检索、检索什么、以及如何使用检索结果。

Hello-Agents框架采用的正是这种模式,将RAG封装为 RAGTool,通过统一的 execute 接口提供搜索、添加知识、管理知识库等操作。

模式二:RAG作为管道预处理

每次用户查询前自动执行检索,将结果注入到提示的 [Evidence] 区段。这种模式简单可靠,但缺乏灵活性——所有查询都会触发检索,即使某些查询不需要外部知识。

15.6 知识库的生命周期管理

RAG系统的长期稳定运行依赖于知识库的持续维护:

  • 增量更新:新文档的分块、嵌入和索引
  • 过时内容清理:标记或移除过期文档
  • 嵌入模型升级:更换嵌入模型后需要重新嵌入所有文档
  • 索引优化:随着数据量增长,索引结构可能需要调整
  • 质量监控:定期评估检索质量,识别性能退化

前沿动态 —— 学术界/工业界最新进展

结构化检索的兴起

除了传统的文本检索,结构化检索(SQL查询、知识图谱查询)正在成为RAG的重要补充。通过让LLM生成SQL或SPARQL查询,可以精确地从结构化数据源中提取信息,特别适合数值分析和统计类查询。

多模态RAG

随着多模态LLM的成熟,RAG正在从纯文本扩展到图像、表格、代码等多种模态。多模态嵌入模型(如CLIP用于图像、CLAP用于音频)使得跨模态检索成为可能——用文字描述检索相关图片,或用图片查找相关文档。

Agentic RAG的工业实践

多智能体研究系统的评估显示,以强推理模型为主智能体、快速模型为子智能体的Agentic RAG架构,在复杂研究任务上相比单智能体基线具有显著优势。这种"规划-检索-验证"的循环模式正在成为企业级知识系统的标准架构。

本章小结

本章从三个维度探讨了RAG的进阶形态。Graph RAG通过知识图谱引入了结构化关系推理能力,特别适合需要跨文档综合和关系导航的场景,但代价是高昂的知识图谱建设和维护成本。Agentic RAG将RAG从被动管道升级为主动推理框架,通过源验证、冲突协调、查询分解和工具调用四种核心能力显著提升了检索系统的可靠性和深度,但带来了延迟和复杂性的增加。混合检索架构则通过多路融合(向量+关键词+图)在不同信息类型间取得最优效果。

静态RAG与JIT上下文的范式选择是架构设计中最关键的决策之一,混合策略——前置加载高价值上下文、运行时按需探索——通常是最务实的选择。在智能体架构中,RAG既可以作为工具被按需调用,也可以作为管道进行预处理,选择取决于查询的多样性和灵活性需求。

⚠️ 已知局限:Graph RAG的知识图谱构建高度依赖实体抽取和关系识别的质量。在实践中,LLM驱动的实体关系抽取对于隐式关系(如"该公司近年来不断亏损"暗示的财务状况关系)的召回率较低,导致知识图谱不完整。Agentic RAG虽然通过多步推理显著提升了能力,但其延迟是标准RAG的3-10倍,且智能体的推理循环本身可能引入新的错误——在约15%的案例中,智能体的"反思"步骤反而丢弃了正确的检索结果。

至此,我们完成了RAG技术的完整图景——从第14章的核心管道到本章的进阶架构。下一篇将进入上下文工程的领域,探讨如何在更宏观的层面上管理LLM的输入信息。