RAG解决复杂问题—多跳推理

📅 2026/7/7 6:04:46 👁️ 阅读次数 📝 编程学习
RAG解决复杂问题—多跳推理

“ RAG多跳推理是解决复杂问题的基础,来源于人类分步解决复杂问题的过程。”

大家开发RAG系统是不是都是用户提问题,拿着问题向量化,然后去知识库中做相似度检索,然后直接回复问题;查到了就查到了,没查到就没查到。

比如说对简单的业务场景,公司的产品产品说明文档,你问某某产品怎么用?

这时,使用问题去做相似度检索就能准确检索到某个产品的说明,然后问题解决。

但是,不知道你是否考虑过这种问题,某某产品的老板是谁?

这个时候通过简单的相似度召回就很难解决问题了,因为在产品说明书上最多介绍产品上某某公司生产的,而不会说老板是谁。

这时候应该怎么办?

面对这种相对复杂的问题,就需要多跳推理技术来解决,简单来说就像我们普通人解决复杂问题需要拆分,分步骤解决。

第一步,先根据某某产品去检索其生产企业,然后再根据企业名称去检索企业信息获取到老板信息;面对这样的问题就需要分两步处理,如果面对更复杂的问题,可能需要三步或更多,这个过程就叫做多跳推理。

多跳推理

什么叫多跳推理?

多跳推理是指问题的答案依赖多个逻辑关联的知识片段,需要先处理第一个逻辑关系,再处理第二个逻辑关系,以此推类,直到获取最终结果。

本质上来说,多跳推理其实就是一个链式RAG,每个节点的输出都是下一个节点的输入,下一个节点依赖于上一个节点的输出;因此,如果一旦某个节点出现问题,那么最终的结果肯定会出问题。

举个生动的例子:

  • 问题:"ChatGPT的开发公司CEO是谁?"
  • 第1跳:检索"ChatGPT开发公司" → 得到"OpenAI"
  • 第2跳:检索"OpenAI CEO" → 得到"Sam Altman"
  • 答案:Sam Altman

传统RAG假设"一次检索就能命中答案",而多跳问答承认"复杂问题需要分步破解"。

但是,在多跳推理中有三个必须要解决的问题:

  • 问题分解:模型怎么知道应该把用户问题分解成几个问题?
  • 检索顺序:模型分解问题之后,需要按顺序检索,如果顺序错乱,那么结果肯定就乱了
  • 结果融合:由于多跳推理需要经过多个步骤,也就是多次检索,但每次检索结果都可能存在噪音,因此怎么把多次检索的结果合并成一个连贯的推理过程?

以上三个问题不解决,那么多跳推理就只是一个概念,即使勉强做出来结果往往也差强人意。

解决方案

方案一:迭代检索

这是最简单也是最直接的方案,简单来说就是把多跳检索变成一个循环,让模型自己去分析问题,然后做检索,然后分析,再检索再分析,直到最终结果。

工作原理:

  1. 用原始问题做第一次检索
  2. 把检索结果交给LLM判断"信息够不够回答问题"
  3. 如果不够,让LLM生成下一个查询问题继续检索
  4. 重复直到信息充足或达到最大迭代次数

优点:

  • 灵活性强,不需要预先规划推理路径
  • 适合推理路径不固定、探索性强的场景

缺点:

  • 容易陷入无效循环
  • 每次判断都要调用LLM,延迟较高
  • 难以调试,推理过程是黑盒
方案二:查询分解(Query Decomposition)

这是一种提前规划的思路,让LLM先把复杂问题一次性拆解成子问题序列,然后按照依赖关系逐个执行检索。

工作原理:

  1. 让LLM把原始问题拆成有依赖关系的子问题
  2. 按照依赖顺序逐个检索
  3. 每次检索都把前序答案拼接到当前查询中
  4. 最后聚合所有子问题的答案

优点:

  • 推理路径清晰可控,便于调试和优化
  • 可以并行执行无依赖关系的子问题,加速检索
  • 适合模式固定的多跳场景

缺点:

  • 对问题分解的准确性要求很高
  • 如果第一步拆解错了,后面全错
  • 难以处理动态调整推理路径的场景
方案三:图推理(Graph-based Reasoning)

这种方案把知识库预处理成实体关系图,把检索问题转化为图遍历问题。

工作原理:

  1. 把知识库构建成实体关系图(三元组:实体→关系→实体)
  2. 从问题中提取起始实体和目标类型
  3. 在图上进行多跳遍历,寻找连接路径
  4. 把路径上的实体和关系组合成答案

优点:

  • 推理路径可解释性强
  • 可以利用图算法优化检索效率
  • 适合知识边界清晰、实体关系稳定的领域

缺点:

  • 构建和维护知识图谱的成本很高
  • 对非结构化文本处理能力弱
  • 适合医疗诊断、法律咨询等专业场景,不适合通用问答
方案四:Agent框架

这是最前沿的方案,把整个多跳推理过程建模成Agent的规划和执行过程。

工作原理:

  1. Agent制定推理计划(需要哪些工具,执行顺序是什么)
  2. 调用不同工具(检索、计算、API调用等)逐步执行
  3. 每一步都有反思和修正机制
  4. 最终输出答案

优点:

  • 能力上限很高,可以处理非常复杂的推理任务
  • 支持工具调用,不仅限于检索
  • 可以自主规划和纠错

缺点:

  • 工程复杂度最高
  • 需要解决工具调用的可靠性、异常处理、成本控制等问题
  • 适合对准确性要求极高的核心业务

方案一和方案四,从本质上来说其实差不多,只不过方案四借助Agent的能力,会有更强的检索能力和处理复杂问题的能力。

学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!​

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示

​因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

四、AI大模型商业化落地方案

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。