一、单跳 RAG 的天花板:为什么它回答不了“张三的部门负责人是谁?”

在当前主流的检索增强生成(Retrieval-Augmented Generation, RAG)系统中,单跳检索(Single-hop Retrieval)是最常见的实现方式:用户提问 → 系统从文档库中检索一次最相关的片段 → 大模型基于该片段生成答案。

这种方式在回答“张三的工号是多少?”这类直接事实型问题时表现优异。但一旦问题需要多步逻辑推理,比如:

“张三的部门负责人是谁?”

系统就可能“卡壳”。原因在于:没有任何单一文档同时包含“张三”和“部门负责人”这两个信息点。通常,员工信息表记录“张三 → 技术部”,而组织架构表记录“技术部 → 李四(负责人)”。要回答这个问题,必须先查张三所属部门,再用该部门去查负责人——这就是典型的多跳推理(Multi-hop Reasoning)。

单跳 RAG 的本质局限在于:它缺乏“中间推理步骤”的能力。它只能做“检索 → 生成”,无法动态拆解问题、迭代查询、整合多源信息。


二、多跳检索:让 RAG 学会“分步思考”

为突破这一瓶颈,研究者提出了多跳检索(Multi-hop Retrieval)策略。其核心思想是:将复杂问题拆解为多个子问题,通过多次检索逐步逼近最终答案

1. 迭代检索(Iterative Retrieval)

这是最直观的多跳实现方式:

  1. LLM 接收原始问题(如“张三的部门负责人是谁?”)
  2. LLM 生成第一个子查询:“张三属于哪个部门?”
  3. 系统检索并返回结果:“技术部”
  4. LLM 基于上下文生成第二个子查询:“技术部的负责人是谁?”
  5. 系统再次检索,返回“李四”
  6. LLM 综合所有检索结果,生成最终答案:“张三的部门负责人是李四”

关键挑战:如何防止 LLM 陷入无效循环(如反复问同一个子问题)?如何控制最大跳数以避免无限递归?

解决方案包括:

  • 设置最大跳数上限(如最多3跳)
  • 维护已访问查询的历史记录,避免重复
  • 引入置信度判断:若某次检索结果置信度低,则提前终止

2. 图结构辅助:用知识图谱打通实体关系

另一种更结构化的思路是:将非结构化文档转化为知识图谱(Knowledge Graph)。

在图谱中:

  • 节点 = 实体(如“张三”、“技术部”、“李四”)
  • = 关系(如“属于”、“负责”)

于是,“张三 → 属于 → 技术部 → 负责 → 李四”形成一条清晰的两跳路径。系统只需在图上执行路径查询,即可直接定位答案,无需依赖 LLM 生成中间问题。

这种方式的优势在于:

  • 推理路径可解释、可追溯
  • 天然避免循环(图遍历算法可控制)
  • 支持复杂关系推理(如“张三的上级的上级是谁?”)

三、技术实现:Neo4j + LangChain + LlamaIndex 的混合架构

要落地多跳图增强 RAG,我们需要一套完整的工具链。以下是推荐的技术栈组合:

  • 图数据库:Neo4j —— 高效存储实体-关系三元组,支持 Cypher 查询语言
  • RAG 框架:LangChain 的 Graph RAG 模块 或 LlamaIndex 的 Graph Store
  • 文档预处理:使用 NER(命名实体识别)和关系抽取模型,从原始文本构建图谱

特别值得一提的是 LlamaIndex 的 Parent-Child + Graph RAG 混合模式

  • Parent-Child 索引:保留文档的层次结构(如章节 → 段落),确保细粒度检索不丢失上下文
  • Graph RAG:在实体层面建立跨文档关联,支持多跳推理

二者结合,既能保证局部语义的完整性,又能实现全局关系的连通性

下图展示了该混合系统的整体工作流程:


四、评估标准:HotpotQA 与 EM/F1 指标

如何衡量多跳 RAG 系统的效果?学术界普遍采用 HotpotQA 数据集

HotpotQA 是一个专为多跳问答设计的基准数据集,包含:

  • 11 万+ 需要至少两跳推理的问题
  • 每个问题提供支持事实(supporting facts)和最终答案
  • 要求模型不仅答对,还要指出推理路径

评估指标主要包括:

  • Exact Match (EM):预测答案与标准答案完全一致的比例
  • F1 Score:考虑部分匹配的综合指标(兼顾精确率与召回率)

在 HotpotQA 上,纯单跳 RAG 的 EM 通常低于 30%,而引入图增强或多跳策略后,SOTA 模型可达 60%+,证明该方向的有效性。


五、工程实践建议:避免陷阱,提升稳定性

在实际部署多跳图增强 RAG 时,需注意以下几点:

  1. 控制跳数上限:建议默认设为 2~3 跳。超过 3 跳的问题往往过于复杂,需人工介入。
  2. 防止检索循环:在图遍历中记录已访问节点,避免“张三 → 部门A → 张三”类死循环。
  3. 图谱构建质量决定上限:若关系抽取错误(如把“张三”误连到“市场部”),后续推理全错。务必做好实体对齐与消歧
  4. 混合检索更鲁棒:纯图检索可能遗漏未建模的关系,建议图检索 + 向量检索并行,结果融合后再交由 LLM 判断。

六、结语:复杂问答的未来在于“结构 + 推理”

单跳 RAG 是 RAG 1.0,而多跳检索 + 图增强 RAG 正在开启 RAG 2.0 时代。它不再满足于“找到相关片段”,而是追求“理解关系、模拟推理”。

对于知识图谱工程师复杂问答系统开发者而言,掌握这一范式,意味着你能构建出真正能处理企业级复杂查询的智能系统——比如:

  • “去年 Q3 销售额最高的产品线负责人是谁?”
  • “这个 bug 最初是由哪个模块引入的?”

这些问题背后,都是多跳逻辑的体现。让大模型学会“分步思考”,才是释放其真正潜力的关键

技术永远服务于场景。当你面对的不再是简单问答,而是需要“抽丝剥茧”的复杂推理时,请毫不犹豫地拥抱多跳与图增强——这是通往高阶智能问答的必经之路。

更多推荐