CMT-RAG: 多轮多跳RAG的互补记忆轨迹

arXiv cs.CL 论文

摘要

介绍CMT-RAG,一种用于多轮多跳对话式RAG的互补记忆框架,通过子问题级推理轨迹将对话记忆与检索对齐。同时提出了MuMu-QA,一个具有跨轮子问题依赖关系的基准测试。

arXiv:2607.26470v1 公告类型:新 摘要:多轮信息寻求对话需要跨轮的多跳推理和长距离依赖跟踪。然而,现有的RAG系统通常将对话记忆表示为原始对话历史、重写查询或非结构化摘要,这使得难以恢复后续查询所需的特定先前推理步骤和证据。我们的关键见解是通过将对话上下文表示为子问题级别的推理轨迹,使对话记忆与检索对齐。基于这一见解,我们提出了MuMu-QA——一个具有显式跨轮子问题依赖注释的多轮多跳RAG基准测试,以及CMT-RAG——一种针对此场景的互补记忆框架。在每一轮中,CMT-RAG采用状态空间轨迹生成器(其循环状态作为运行时记忆)来纳入最近的对话上下文,并将当前查询分解为包含面向检索的子问题及对早期轨迹依赖的结构化轨迹草稿。然后,它用检索到的证据来支撑这些草稿,并将其作为持久记忆轨迹存储在会话级有向无环图(DAG)中,使未来轮次能够高效地恢复相关的先前推理和证据。在MuMu-QA和语料级RAG基准测试上的实验表明,CMT-RAG在答案准确性上持续优于五类RAG基线方法。
查看原文
查看缓存全文

缓存时间: 2026/07/30 09:58

# 多轮多跳RAG的互补记忆轨迹 来源:https://arxiv.org/html/2607.26470 ###### 摘要 多轮信息寻求型对话既需要多跳推理,又需要跨轮次跟踪长距离依赖。然而,现有的RAG系统通常将对话记忆表示为原始对话历史、重写后的查询或非结构化的摘要,这使得在后续查询中难以恢复先前具体的推理步骤和所需的证据。我们的关键见解是:将对话记忆与检索对齐,将对话上下文表示为子问题级别的推理轨迹。基于此见解,我们引入了MuMu-QA,这是一个带有显式跨轮子问题依赖标注的多轮多跳RAG基准,以及CMT-RAG,一个针对此场景的互补记忆框架。在每个轮次,CMT-RAG使用一个状态空间轨迹生成器(其循环状态作为运行时记忆)来融入最近的对话上下文,并将当前查询分解为结构化的轨迹草稿,其中包含面向检索的子问题以及对先前轨迹的依赖。然后,它通过检索到的证据来支撑这些草稿,并将它们作为持久性记忆轨迹存储在会话级别的有向无环图(DAG)中,使未来轮次能够有效地恢复相关先前的推理和证据。在MuMu-QA和语料库级别的RAG基准上的实验表明,CMT-RAG在答案准确率上始终优于五类RAG基线。 ## 1. 引言 参见图1的标题。图1:一个包含跨轮依赖的多轮多跳对话。该图说明了两种依赖类型:Ext.(谓词扩展)查询先前已解析目标的新属性或关系,Ref.(实体引用)直接重用先前引入的实体。检索增强生成(RAG)越来越多地应用于扩展性信息寻求对话中,用户在此类对话中细化问题、省略重复实体,并在先前的答案基础上提出新的请求(Ye et al. 2026 (https://arxiv.org/html/2607.26470#bib.bib36);Laban et al. 2026 (https://arxiv.org/html/2607.26470#bib.bib49);Hu et al. 2026 (https://arxiv.org/html/2607.26470#bib.bib35))。在这种场景下,新的一轮通常依赖于上下文,同时需要多跳证据查找,因为回答该问题可能需要将查询分解为几个子问题,而这些子问题的依赖关系跨越了先前的轮次。图1 (https://arxiv.org/html/2607.26470#S1.F1) 展示了一个典型例子。系统必须检索当前轮次的证据,并识别出被扩展或重用的特定先前推理步骤的主题或实体。我们将此场景称为*具有互补子问题依赖的多轮多跳对话RAG*。这一场景暴露了对话RAG存储记忆的方式与检索实际运作方式之间的不匹配。查询重写将依赖上下文的轮次转换为独立查询(Anantha et al. 2021 (https://arxiv.org/html/2607.26470#bib.bib10);Mo et al. 2023 (https://arxiv.org/html/2607.26470#bib.bib13);Zhu et al. 2025a (https://arxiv.org/html/2607.26470#bib.bib33)),这对于局部共指有效,但会将依赖链压缩到单个查询中,从而掩盖了中间的检索目标。查询分解为多跳检索暴露了子问题结构(Trivedi et al. 2023 (https://arxiv.org/html/2607.26470#bib.bib2);Khot et al. 2023 (https://arxiv.org/html/2607.26470#bib.bib3);Chen et al. 2026 (https://arxiv.org/html/2607.26470#bib.bib29);Ye et al. 2025 (https://arxiv.org/html/2607.26470#bib.bib31)),但通常假设一个自包含的查询,其依赖仅限于当前轮次。基于记忆的对话系统存储历史、摘要或嵌入(Liu et al. 2024b (https://arxiv.org/html/2607.26470#bib.bib14);Zhong et al. 2024 (https://arxiv.org/html/2607.26470#bib.bib15)),而对话图模型则建模话语级别的关系(Li et al. 2020 (https://arxiv.org/html/2607.26470#bib.bib17);Fan et al. 2023 (https://arxiv.org/html/2607.26470#bib.bib42);Zhu et al. 2025c (https://arxiv.org/html/2607.26470#bib.bib32))。它们都没有显式地表示跨轮次的检索级别依赖。因此,检索器需要子问题级别的记忆,而现有系统主要只维护轮次级别的上下文。我们的关键见解是:通过将对话上下文存储为子问题级别的推理轨迹,使对话记忆与检索对齐。对于此场景,一个有用的记忆单元应保留检索目标,暴露解决缺失参数的依赖关系,并保留使先前答案有效的证据。子问题级别的轨迹通过将过去的推理步骤打包成一个可寻址的对象来提供这个单元。当后续轮次依赖于此轨迹时,系统可以通过其依赖链接和关键词恢复相关轨迹,然后在当前查询下重用相关的证据。因此,跨轮次的回忆从全局历史解释简化为轨迹选择和证据重用。据此,我们提出了CMT-RAG,一个围绕*互补记忆轨迹*构建的框架。在每个轮次,状态空间轨迹生成器消费当前查询及其循环状态,生成结构化的*轨迹草稿*,每个草稿包含一个子问题、轨迹关键词以及对先前轨迹的依赖。在答案引用解析后,为每个子问题检索新的证据,并通过附加相应的段落标识符完成草稿。依赖链接访问先决条件的DAG节点,而轨迹关键词则通过词汇匹配检索额外的历史轨迹。阅读器临时地将访问的历史证据与新检索的证据结合起来。回答后,完成的轨迹及其子答案被追加到DAG中。因此,循环状态维持局部的对话连续性,而轨迹DAG则保留了显式的长距离依赖和可重用的证据。下游的阅读器保持无状态,只接收解析后的子问题及其组合的证据。为了直接研究这个问题,我们引入了MuMu-QA,一个将多跳问题重新组织为带有跨轮依赖标注的多轮对话的基准。现有的多轮RAG基准在轮次级别评估对话检索和生成,而不揭示当前哪个子问题依赖于先前的哪个子问题。MuMu-QA通过提供对话范围的子问题标识符、轨迹关键词、依赖边、支持段落ID以及完整的轨迹DAG监督来填补这一空白,并包含长对话部分,用于压力测试超出短历史回放范围的依赖恢复。在MuMu-QA上的实验表明,CMT-RAG在直接C-RAG、查询重写、智能体检索、基于分解的RAG和对话结构基线中取得了最佳的答案准确率。使用无状态的Qwen3-32B阅读器,它在top-5检索下达到了41.73的精确匹配(EM)和55.63的F1分数,同时将跨轮记忆留在阅读器之外。 ## 2. 预备知识 本节固定本文中使用的符号和评估目标。我们首先将多轮多跳对话RAG定义为轨迹DAG归纳,其中每个轨迹是一个检索级别的记忆单元,将子问题与依赖、关键词和证据绑定。然后,我们将MuMu-QA描述为此公式化的基准实例化,并带有子问题依赖和可重用段落证据的监督。 ### 2.1 任务形式化 我们考虑一个在非结构化语料库 \(\mathcal{C}\) 上的多轮多跳对话RAG会话。对话是 \(T\) 个用户轮次的有序序列:
\[
\mathcal{D} = \langle q_1, q_2, \ldots, q_T \rangle, \qquad (1)
\]
其中 \(q_t\) 表示轮次 \(t\) 的用户查询。对于每个轮次,系统必须产生一个基于 \(\mathcal{C}\) 中证据的答案 \(a_t\)。独特的困难在于,一个轮次可能包含多个与检索相关的子问题,每个子问题可能依赖于来自更早轮次的信息。我们将此场景形式化为会话级别对*轨迹*有向无环图的归纳:
\[
\mathcal{G} = (\mathcal{V}, \mathcal{E}_{\mathcal{G}}), \qquad (2)
\]
其中每个节点 \((\mathcal{T}_k, a_k) \in \mathcal{V}\) 由一个轨迹及其答案组成。轨迹 \(\mathcal{T}_k\) 将一个子问题、轨迹关键词、依赖边和检索到的段落标识符绑定为:
\[
\mathcal{T}_k = \bigl( q_k^{\text{sub}}, kw_k, \mathrm{deps}(k), \mathrm{para\_ids}_k \bigr), \qquad (3)
\]
其中 \(q_k^{\text{sub}}\) 是阅读器和检索器消费的自然语言子问题,\(kw_k\) 是轨迹DAG的查找锚点,\(\mathrm{deps}(k) \subseteq \{1, \ldots, k-1\}\) 列出先决条件的轨迹,\(\mathrm{para\_ids}_k\) 标识从 \(\mathcal{C}\) 直接为此子问题检索的段落。每条边 \((\mathcal{T}_j, \mathcal{T}_i) \in \mathcal{E}_{\mathcal{G}}\) 表示轨迹 \(\mathcal{T}_i\) 依赖于轨迹 \(\mathcal{T}_j\) 引入的实体或主题。在轮次 \(t\),轨迹生成器将当前查询 \(q_t\) 和循环状态 \(h_{t-1}\) 映射到一个有序的轨迹草稿集。然后CMT-RAG将预测的依赖解析到 \(\mathcal{G}_{<t}\) 上,并将完成的轨迹追加为 \(\Delta \mathcal{G}_t\)。此公式化耦合了两个结构化操作。系统必须将当前轮次分解为检索单元,并将这些单元链接到先前的轨迹,这些轨迹的主题或实体仍然是必要的。目标记忆单元不是整个话语或非结构化的历史摘要。它是一个轨迹,其字段直接被检索、DAG查找和回答所消费。 ### 2.2 基准构建 MuMu-QA将这一公式化实例化为多轮多跳RAG基准。现有的多轮C-RAG基准监督独立的查询重写或轮次级别的答案(Ali et al. 2026 (https://arxiv.org/html/2607.26470#bib.bib55);Cheng et al. 2025 (https://arxiv.org/html/2607.26470#bib.bib34);Katsis et al. 2025 (https://arxiv.org/html/2607.26470#bib.bib51)),而没有在子问题粒度上标注依赖。我们从MuSiQue(Trivedi et al. 2022 (https://arxiv.org/html/2607.26470#bib.bib7))构建MuMu-QA,利用其子问题分解、中间答案和支持段落来推导轨迹生成的监督。参见图2的标题。图2:MuMu-QA合成操作符。父问题被分解为具有轮次内依赖的子问题。子问题重定位将一个子问题移动到后续轮次以创建跨轮依赖,而图拼接通过一个桥接答案连接两个推理链。参见图3的标题。图3:CMT-RAG概述。该框架由四个阶段组成:(i) 轨迹生成,其中状态空间模型(SSM)维护一个循环状态以生成结构化的轨迹草稿;(ii) 引用解析,其中跨轮依赖通过轨迹DAG解析;(iii) 证据检索和轨迹更新,其中检索支持段落并将完成的轨迹写回DAG;(iv) 问题回答,其中无状态阅读器仅使用检索到的证据回答解析后的子问题,无需回放对话历史,然后生成最终响应。如图2 (https://arxiv.org/html/2607.26470#S2.F2) 所示,对话通过两个操作符合成。子问题重定位将一个多跳问题中的子问题移动到单独的轮次,并将剩余问题重写为依赖于重定位答案的后续问题。图拼接通过一个共享的桥接答案连接两个推理链:一个初始轮次首先解析桥接实体,后续轮次从该实体继续推理,并显式依赖先前的轨迹节点。这些操作符共同生成了具有可控跨轮依赖的短对话。我们进一步通过交织主题相关的会话构建长对话,产生多达几十个轮次的对话用于训练和评估。完整的构建细节在附录A (https://arxiv.org/html/2607.26470#A1) 中提供。 ## 3. 方法 CMT-RAG通过两个互补的记忆通道实例化轨迹-DAG公式化:一个状态空间轨迹生成器捕获局部话语以生成结构化的轨迹草稿,以及一个会话级别的轨迹DAG持久存储轨迹以实现依赖感知的检索和证据重用。如图3 (https://arxiv.org/html/2607.26470#S2.F3) 所示,这种设计将对话状态从回答模型中外部化,该模型保持无状态,而循环状态和轨迹DAG共同维护局部和长距离的对话记忆。 ### 3.1 状态空间轨迹生成 我们使用基于Mamba-2(Dao and Gu 2024 (https://arxiv.org/html/2607.26470#bib.bib24);Gu and Dao 2024 (https://arxiv.org/html/2607.26470#bib.bib22))的状态空间模型(SSM)骨干网来实例化轨迹生成器,同时保留其选择性状态空间混合器,其循环状态作为局部话语上下文的紧凑载体。这使得模型能够避免在每个轮次重复编码整个对话历史,从而减少暴露于中间迷失效应(Yu et al. 2025 (https://arxiv.org/html/2607.26470#bib.bib28);Liu et al. 2024a (https://arxiv.org/html/2607.26470#bib.bib27))。我们进一步通过低秩适应(LoRA)微调和直接偏好优化(DPO)来调整骨干网,并配合结构化的输出词汇表,使其生成轨迹草稿而非自由形式的计划。在轮次 \(t\),生成器接收当前查询 \(q_t\)、先前的隐藏状态 \(h_{t-1}\),并发出一个草稿轨迹集和一个更新后的状态:
\[
\{\mathcal{T}_k^{\mathrm{draft}}\}_{k \in t}, h_t = \textsc{TraceGen}_\theta(h_{t-1}, q_t), \qquad (4)
\]
更新后的状态 \(h_t\) 携带局部连续性,例如主题焦点、意图转移和表面共指,并传递给下一轮次。#### 结构化轨迹草稿。每个草稿的形式为:
\[
\mathcal{T}_k^{\mathrm{draft}} = \bigl( q_k^{\mathrm{decom}}, kw_k, \mathrm{deps}(k) \bigr), \qquad (5)
\]
其中 \(q_k^{\mathrm{decom}}\) 是分解后的子问题,\(kw_k\) 包含用于DAG查找的轨迹关键词,\(\mathrm{deps}(k)\) 列出先决条件的轨迹标识符。我们将关键词与子问题分离为两个字段,服务于不同目的。子问题在引用解析后优化为阅读器和密集检索的自然语言输入,而关键词字段则优化为通过轻量级词汇匹配进行高效的轨迹DAG查找。#### 全局轨迹命名空间。CMT-RAG维护一个跨对话共享的仅追加命名空间。每个完成的轨迹被分配一个持久的轨迹标识符,\(\texttt{[T\_1]}, \ldots, \texttt{[T\_K]}\),以及一个对应的答案引用标记,\(\texttt{[A\_1]}, \ldots, \texttt{[A\_K]}\)。因此,生成器可以通过 \(\mathrm{deps}(k)\) 显式引用先前的轨迹。 ### 3.2 轨迹DAG作为持久化记忆 轨迹DAG维护一个持久的会话级别记忆。对于每个草稿,CMT-RAG首先解析其依赖,然后检索证据并完成轨迹。在回答之后,完成的轨迹及其子答案被追加到DAG中,使得未来的轮次可以通过依赖链接和关键词匹配高效地访问相关的先验推理和证据。

相似文章

RRM:经验驱动的反思性检索记忆用于长时程多模态推理

arXiv cs.CL

本文介绍了反思性检索记忆(RRM),一种记忆框架,从历史任务轨迹中提炼程序性检索经验,以改进长时程多模态推理中的证据检索。RRM在M3-Bench-Robot、M3-Bench-Web和Video-MME-Long基准上达到或超过了先前的最先进水平。

多轮推理中信息分片段到达时的处理:可扩展分片与记忆增强强化学习

arXiv cs.CL

本文针对大语言模型在多轮对话中因信息分散而表现不佳的“迷失在对话”问题,提出了一种可扩展的分片流水线,将单轮问答数据集转化为多轮训练数据,并利用基于可验证奖励的强化学习训练一个维持紧凑滚动记忆的记忆增强策略,从而提高了多轮推理准确性,并零样本泛化到更困难的任务。