MemAgent: Reshaping Long-Context LLM with Multi-Conv RL-based Memory Agent

  • 文章标题: MemAgent:通过多对话强化学习记忆智能体重塑长上下文大语言模型
  • 作者/机构: Hongli Yu (1,2,3), Tinghong Chen (2), Jiangtao Feng (2), Jiangjie Chen (1,3), Weinan Dai (1,2,3), Qiying Yu (1,2,3), Ya-Qin Zhang (2,3), Wei-Ying Ma (2,3), Jingjing Liu (2,3), Mingxuan Wang (1,3), Hao Zhou (2,3)
  • 机构: 1: ByteDance Seed; 2: 清华大学人工智能产业研究院 (AIR); 3: 清华大学 AIR 与 ByteDance Seed 联合实验室 (SIA-Lab)

A1 主要贡献

本文旨在解决大型语言模型(LLM)在处理长上下文时面临的核心挑战,即如何在不降低性能的情况下,以线性复杂度处理无限长的文档。

核心问题与研究目标
现有的长上下文处理方法,如长度外推、稀疏/线性注意力机制和上下文压缩,都存在各自的局限性。长度外推方法在处理极长文本时常出现性能下降和处理速度慢的问题;注意力机制的改进通常需要从头开始训练,且存在并行训练困难或依赖启发式模式等问题;上下文压缩方法则在外推能力上表现不佳,并可能破坏标准的生成过程。因此,一个成功的长上下文LLM需要同时满足三个条件:1)能处理无限长度的文本;2)在扩展时性能不下降;3)具备线性复杂度的解码效率。

创新点与核心方法
受人类处理长文档时提炼核心概念、记录关键细节并丢弃冗余信息的方式启发,本文提出了一种名为 MemAgent 的新型智能体工作流。该方法利用强化学习(RL)为LLM配备一个动态更新的、固定长度的“记忆”。

  1. 分块处理与记忆更新:在推理过程中,MemAgent将长文档分成多个块(segments)进行逐一处理。每读取一个文本块,模型会主动且选择性地更新其固定长度的记忆。所有文本块处理完毕后,模型基于最终聚合在记忆中的信息生成答案。这种机制使得LLM能够灵活处理任意长度的文本,同时由于记忆长度固定,模型的上下文窗口大小也保持不变,从而实现了线性时间复杂度。

    图2 MemAgent 的设计灵感来源于人类处理长文档的方式。它将文档分成多个块,让 LLM 迭代处理,并将相关信息记录在内存中。最后,LLM 根据存储在内存中的信息生成答案。
    图2 MemAgent 的设计灵感来源于人类处理长文档的方式。它将文档分成多个块,让 LLM 迭代处理,并将相关信息记录在内存中。最后,LLM 根据存储在内存中的信息生成答案。
  2. 多对话DAPO算法:为了端到端地训练这种智能体工作流,本文提出了一种名为 Multi-Conv DAPO 的算法。由于分块处理会为单个长文本输入生成多个独立的对话(多次记忆更新和一次最终答案生成),传统的RL训练方法难以适用。Multi-Conv DAPO将每个上下文独立的对话视为一个优化目标,基于DAPO算法【索引35,DAPO: An open-source llm reinforcement learning system at scale,2025,arXiv】进行扩展,通过可验证的最终结果奖励来优化整个工作流。

主要贡献总结
- 提出了一种新方法,使LLM能在有限的上下文窗口内以线性时间复杂度处理任意长度的输入,克服了长上下文处理的一个关键瓶颈。
- 设计了一个智能体工作流来实现该机制,并提出了使用多对话DAPO算法进行端到端训练的方法。
- 通过实验证明,经过RL训练的模型能够外推到极长的文档(从8K上下文训练,在3.5M的QA任务上性能损失<5%,在512K的RULER测试中达到95%+的准确率),且性能下降极小,推动了当前长上下文LLM系统的能力边界。

图1 RULER-HotpotQA [1, 2] 的准确率得分。即使是采用长上下文持续预训练和外推技术的模型也未能保持一致的性能。相比之下,采用强化学习的 MemAgent 表现出几乎无损的性能外推。
图1 RULER-HotpotQA [1, 2] 的准确率得分。即使是采用长上下文持续预训练和外推技术的模型也未能保持一致的性能。相比之下,采用强化学习的 MemAgent 表现出几乎无损的性能外推。

A2 方法细节

本节详细描述了用于解决长上下文任务的MemAgent方法的细节,包括整体工作流、用于训练MemAgent的多对话强化学习算法、奖励建模设计以及架构实现设计。

3.1 MemAgent工作流:通过强化学习塑造的无界上下文记忆

将长文档视为证据流进行处理。MemAgent并非将任意长度的文档视为一个整体,而是看作一个受控的证据流。在每一步中,模型只处理两件事:下一个文本块和一个紧凑的、固定长度的记忆,该记忆总结了迄今为止所有被认为重要的信息。至关重要的是,该记忆只是上下文窗口内的一段普通文本序列,因此基础LLM的核心生成过程保持不变。

覆盖式记忆更新策略。在读取一个新的文本块后,模型会用更新后的记忆覆盖掉之前的记忆。这种覆盖策略看似过于简单,但正是它使得系统能够扩展:因为记忆长度从不增长,所以处理每个文本块的总计算量保持在O(1),端到端的复杂度严格与文本块的数量成线性关系。我们将覆盖决策制定为一个强化学习问题:智能体因保留了后续证明有用的信息以及丢弃了会浪费宝贵token的干扰信息而获得奖励。通过我们新引入的多对话DAPO算法(详见§A)优化这一目标,模型学会了在保留答案关键事实的同时进行积极压缩。

两阶段推理模块。该工作流自然地将推理分解为两个模块。在上下文处理(Context-Processing)模块中,模型迭代处理文本块,使用一个提示模板(表1,顶部)来更新记忆。一旦文本流处理完毕,就会调用最后的答案生成(Answer-Generation)模块(表1,底部),在该模块中,模型仅参考问题陈述和记忆来生成其最终答案。由于位置嵌入从未被重新缩放或修补,因此在两个模块中都应用了相同的分词和注意力布局,从而在没有任何架构修改的情况下,释放了模型潜在的长度外推能力。

设计带来的三大优势。因此,MemAgent从这种设计中获得了三个好处:(1)无限长度:由于文档是作为流来处理的,它可以是数百万个token;(2)无性能断崖:强化学习鼓励记忆精确地保留所需信息,从而实现近乎无损的外推(图1);(3)线性成本:恒定的窗口大小意味着解码时间和内存消耗随输入长度线性增长(O(N))(详见§A)。这为将任何中等上下文大小的LLM转变为高效的长上下文推理器提供了一个实用的方案,且工程开销极小。

上下文处理模板
你面临一个问题、一段可能包含答案的文章节选,以及一份先前的记忆。请仔细阅读该节选,并用有助于回答问题的新信息更新记忆,同时保留先前记忆中的所有相关细节。

<problem> {prompt} </problem>
<memory> {memory} </memory>
<section> {chunk} </section>

# Updated memory:
最终答案生成模板
你面临一个问题和一份先前的记忆。请根据先前的记忆回答问题,并将答案放在 \boxed {} 中。

<problem> {prompt} </problem>
<memory> {memory} </memory>
Your answer:

Table 1: MemAgent的模板,用于上下文处理(上半部分)和最终答案生成(下半部分)。花括号占位符{}将被实际内容替换。

3.2 使用多对话强化学习训练MemAgent

采用RLVR配方进行训练。通过将上下文处理中为答案生成任务而进行的记忆更新视为一个可通过强化学习优化的策略,我们采用了RLVR(Reinforcement Learning from Verifiable Reward)配方【索引3, Learning to reason with llms, 2024, OpenAI; 索引51, Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning, 2025, arXiv; 索引60, SEED1.5-Thinking: Advancing superb reasoning models with reinforcement learning, 2025, arXiv】来训练MemAgent。

基础算法GRPO。对于基础算法,我们采用了Group Relative Policy Optimization (GRPO)【索引56,Deepseekmath: Pushing the limits of mathematical reasoning in open language models,2024,arXiv】因其在RLVR中的简洁性和有效性。在GRPO的rollout阶段,策略模型$π_{θ_{old}}$为输入$x$采样一组$G$个独立的响应$\{o_i\}^G_{i=1}$。令$\{R_i\}^G_{i=1}$表示序列级别的奖励,那么第$i$个响应的组归一化优势由以下函数计算:

$$\hat{A}_{i,t} = \frac{r_i - \text{mean}(\{R_i\}_{i=1}^G)}{\text{std}(\{R_i\}_{i=1}^G)}.$$

GRPO的目标函数。GRPO采用了一个带有KL惩罚项的裁剪目标函数:

$$\begin{aligned} \begin{aligned} \mathcal{J}_{\mathrm{GRPO}}(\theta) = & \mathbb{E}_{(q, a) \sim \mathcal{D}, \{o_i\}_{i=1}^G \sim \pi_{\theta_{\mathrm{old}}}(\cdot|q)} \\ & \left[ \frac{1}{G} \sum_{i=1}^G \frac{1}{|o_i|} \sum_{t=1}^{|o_i|} \left( \min \left( r_{i,t}(\theta) \hat{A}_{i,t}, \operatorname{clip} \left( r_{i,t}(\theta), 1-\varepsilon, 1+\varepsilon \right) \hat{A}_{i,t} \right) - \beta D_{\mathrm{KL}}(\pi_\theta || \pi_{\mathrm{ref}}) \right) \right], \end{aligned} \end{aligned}$$


其中,$r_{i,t}(\theta)$表示重要性采样权重:

$$r_{i,t}(\theta) = \frac{\pi_{\theta}(o_{i,t} \mid q, o_{i,<t})}{\pi_{\theta_{\text{old}}}(o_{i,t} \mid q, o_{i,<t})}.$$</div>

多对话优化的挑战。然而,由于MemAgent方法的特性,它会为单个查询生成多个上下文独立的对话,如图2所示。因此,策略优化不能像在多轮工具调用优化中那样简单地应用注意力掩码来实现。

将每次对话视为独立优化目标。为了解决这个问题,我们将每次对话视为一个独立的优化目标,如图3所示。假设对于一组中的一个样本$(q_i, a_i)$,生成了$n_i$次对话$(o_{i,1}, o_{i,2}, ..., o_{i,n_i})$。$o_{i,j}$进一步分解为token级别的输出$(o_{i,j,1}, o_{i,j,2}, ..., o_{i,j,|o_{i,j}|})$。我们通过包含最终答案的最后一次对话为每个样本计算一个结果奖励$R_i$,并将组归一化的优势分配给所有相关的对话。

Multi-Conv DAPO的优势和损失计算。方程4和5展示了在我们的MemAgent算法中,如何为上下文独立的多对话rollouts计算优势和损失。优势值从包含最终答案的对话中得出,然后均匀地应用于源自同一 لm 样本的所有对话。我们的损失函数类似于DAPO【索引35,DAPO: An open-source llm reinforcement learning system at scale,2025,arXiv】中使用的函数,该函数包含了一个token级别的平均损失。此外,我们将损失计算的维度从传统的(组,token)结构扩展到(组,对话,token)。遵循DrGRPO【索引58,Understanding r1-zero-like training: A critical perspective,2025,arXiv】的做法,我们不通过奖励的标准差来归一化优势。

$$\hat{A}_{i,j,t} = r_i - \text{mean}(\{R_i\}_{i=1}^G)$$

$$\begin{aligned} \begin{aligned} \mathcal{J}_{\text{DAPO}}(\theta) = & \mathbb{E}_{(q,a) \sim \mathcal{D}, \{o_{i,j}\}_{i=1}^G \sim \pi_{\theta_{\text{old}}}(\cdot|q,\ o_{i,j-1})} \\ & \left[ \frac{1}{\sum_{i=1}^G \sum_{j=1}^{n_i} |o_{i,j}|} \sum_{i=1}^G \sum_{j=1}^{n_i} \sum_{t=1}^{|o_{i,j}|} \left( \mathcal{C}_{i,j,t} - \beta D_{\text{KL}}(\pi_\theta || \pi_{\text{ref}}) \right) \right] \\ \text{where} \quad \mathcal{C}_{i,j,t} = & \min \left( r_{i,j,t}(\theta) \hat{A}_{i,j,t}, \ \text{clip}\left(r_{i,j,t}(\theta), 1 - \varepsilon_{low}, 1 + \varepsilon_{high}\right) \hat{A}_{i,j,t} \right) \end{aligned} \end{aligned}$$

图3 普通 GRPO 与 Multi-Conv DAPO 的比较。在 Multi-conv DAPO 的 rollout 阶段,每个样本都会生成多个对话。最终对话中包含的答案用于计算奖励和优势,然后用于优化所有之前的对话。
图3 普通 GRPO 与 Multi-Conv DAPO 的比较。在 Multi-conv DAPO 的 rollout 阶段,每个样本都会生成多个对话。最终对话中包含的答案用于计算奖励和优势,然后用于优化所有之前的对话。

3.3 奖励建模

基于规则验证器的最终结果奖励。遵循RLVR配方【索引33, Search-r1: Training llms to reason and leverage search engines with reinforcement learning, 2025, arXiv; 索引35, Dapo: An open-source llm reinforcement learning system at scale, 2025, arXiv; 索引51, Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning, 2025, arXiv】,我们使用由基于规则的验证器计算出的最终结果奖励来训练模型。

多标准答案任务的奖励函数。在RULER【索引1,Ruler: What’s the real context size of your long-context language models?,2024,arXiv】和其他数据集中,问题可能有多个真实答案。对于某些任务,例如问答,这些真实答案被认为是等价的。给定一组多个真实答案$Y = \{y_1, y_2, . . . , y_n\}$,奖励分数定义为:

$$R(\hat{y}, Y)=\max _{y \in Y}(\mathbb{I}(\text {is\_equiv}(y, \hat{y})))$$


其中$\hat{y}$是预测的答案,$I(·)$表示指示函数。

需要包含所有答案任务的奖励函数。对于其他任务,最终输出中需要包含所有真实答案。一个例子是“大海捞针”中的多值任务,问题可能是:“XXX的所有特殊魔法数字是什么?”在这种情况下,奖励函数定义为:

$$R(\hat{y}, Y) = \frac{|y \in Y \mid \mathbb{I}(y \in \hat{y})|}{|Y|}$$


其中$| · |$表示集合的基数。

3.4 从自回归建模视角重新思考MemAgent

标准自回归模型的局限性。为了更深入地理解MemAgent的设计,我们建议从以下方式重新思考语言模型的因式分解。一个标准的自回归LLM将序列$x_{1:N}$的联合似然分解为$p(x_{1:N}) = \prod^N_{n=1} p(x_n | x_{1:n-1})$,这隐含地假设每个过去的token(或至少其隐藏状态)都必须保留在活动上下文中。这正是使二次注意力成为长上下文瓶颈的原因。

MemAgent的建模方式。MemAgent用一个固定长度的记忆$m \in V_M$取代了无限的历史记录,如图4所示。输入文本以$K$个连续的块$c_1, . . . , c_K$(每个块的长度$≤ C$)流式传输给模型。在读取块$k$之后,模型用一个新的向量$m_k$覆盖面板,该向量总结了迄今为止所见的所有证据。因为$|m_k| = M$是恒定的,所以每一步的计算和内存都是$O(C + M)$,从而得到一个整体的线性复杂度$O(N)$。

图4 MemAgent 的架构和图模型。内存被建模为一个潜在的内存变量,从而使得自回归语言模型能够分解为多个从内存读取和写入内存的步骤。
图4 MemAgent 的架构和图模型。内存被建模为一个潜在的内存变量,从而使得自回归语言模型能够分解为多个从内存读取和写入内存的步骤。

分解后的似然函数。引入潜在序列$m_{1:K-1}$将原始似然分解为:

$$p(\mathbf{x}_{1:N}) = \sum_{\mathbf{m}^{1:K-1}} \prod_{k=1}^{K} \underbrace{p(\mathbf{c}^k \mid \mathbf{m}^{k-1})}_{\text{read}} \underbrace{p(\mathbf{m}^k \mid \mathbf{c}^k, \mathbf{m}^{k-1})}_{\text{write}},$$


其中基准情况为$m_0 = \emptyset$。在每个块内部,我们仍然运行一个普通的Transformer解码器,但条件是一个恒定的上下文窗口$(c_k, m_{k-1})$。读取路径逐个token地因式分解,$p(c_k | m_{k-1}) = \prod^{kC}_{i=(k-1)C+1}p(x_i | x_{1:i-1}, m_{k-1})$,而写入路径以相同的自回归方式生成下一个记忆。

MemAgent的优势与概念。MemAgent实现了上下文的token级压缩,而局部-全局或线性注意力模型则在特征空间中压缩长上下文;它们的摘要是隐式的和不透明的。MemAgent的摘要存在于token空间中,因此每个中间记忆都是人类可读的,可以被检查甚至编辑——我们在设计RL奖励时利用了这一特性(§3.3)。从概念上讲,方程8将Transformer变成了一个状态大小可由用户控制的循环网络。

强化学习的必要性。因为记忆token是潜在的,并且通过离散的覆盖规则进行更新,仅靠反向传播无法教会模型保留什么和丢弃什么。我们的多对话GRPO算法(§A)将每个读-写-读循环视为一个RL转换,直接奖励那些能导向正确最终答案的记忆。这弥合了显式监督(答案)和隐式结构(好的记忆)之间的差距,完成了前面介绍的训练流程。

总结。最终的MemAgent架构保留了原生解码器的训练配方,不需要奇特的注意力核心,并满足了长上下文的三个难题:任意长度、无损外推和线性成本。

A3 实验环境

  • 数据集:

    • 主要使用数据集: RULER,一个包含多种可控上下文长度的合成任务基准。具体使用了其问答(QA)子集,该子集通过将包含正确答案的黄金段落嵌入到从同一数据集中采样的大量干扰内容中,来适配长上下文评估。
    • 训练数据合成: 使用 HotpotQA 数据集的方法合成训练样本,共包含200篇文章,token长度约为28K。
    • 数据清洗与筛选: 从HotpotQA训练集中处理了80,000个样本,过滤掉了在没有上下文的情况下,Qwen2.5-7B-Base或Qwen2.5-7B-Instruct模型Best-Of-2得分为100%的问题(这些问题可能属于模型的内部知识)。约50%的数据被过滤,最终选取了前32,768个样本用于训练。
    • 测试数据合成: 使用HotpotQA验证集合成了128个样本。为研究模型性能随长度的变化,合成了不同上下文长度的测试集,文章数量从50到6400不等,对应上下文长度约为7K到3.5M tokens。
  • 模型架构:

    • 基础模型: Qwen2.5-7B-Instruct 和 Qwen2.5-14B-Instruct。
    • 基线模型: DeepSeek-R1-Distill-Qwen 系列、Qwen-2.5-Instruct-1M 和 QwenLong-L1。
    • 基线模型配置: Qwen2.5-Instruct-1M 使用DCA外推至1M上下文;DeepSeek-R1-Distill-Qwen 和 QwenLong 上下文长度设为128K。
  • 硬件配置:

    • 论文未明确提及具体的硬件配置(如GPU型号/数量、CPU等)。
  • 软件与训练配置:

    • 代码实现: 基于 verl 框架实现多对话独立上下文。
    • 训练细节: 训练时,模型上下文窗口限制在 8K。窗口分配为:1024 tokens用于查询,5000 tokens用于上下文块,1024 tokens用于记忆,1024 tokens用于输出,剩余部分为聊天模板。这使得模型处理整个上下文通常需要5到7个对话轮次。
    • 超参数: 使用 GRPO 算法,KL因子为1e-3,禁用熵损失。优化器为 AdamW,学习率为1e-6,采用带线性预热的恒定学习率调度。7B和14B模型的rollout批大小分别为128和256,组大小为16。

A4 实验结果

主要结果

实验结果如表2所示,比较了不同模型在7K到896K上下文长度下的性能,并对MemAgent模型额外评估了其在1.75M和3.5M超长上下文上的外推能力。

  • 实验内容:在合成的HotpotQA数据集上,评估MemAgent与多个基线模型(包括推理模型、长上下文后训练模型)在不同上下文长度下的问答准确率。
  • 实验结果

    • MemAgent表现出卓越的长度外推能力,随着输入上下文长度的增加,性能衰减非常小。RL-MEMAGENT-14B在7K长度下准确率为83.59%,在3.5M长度下仍能达到78.12%。
    • 基线模型即使在其声称的上下文窗口内也表现出明显的失效模式:
      • 推理模型(DS-Distill-Qwen系列)性能迅速下降。
      • QwenLong-L1在其训练长度60K内表现尚可,但之后性能大幅下降。
      • Qwen2.5-Instruct-1M系列在112K tokens内性能尚可,但在896K时性能降至零,远未达到其理论的1M token容量。
  • 分析结论:MemAgent通过记忆机制与强化学习的结合,能有效处理超长上下文场景。而基线模型尽管拥有扩展的上下文窗口,但在超长上下文中有效利用信息的能力有限。

Table 2: 主要实验结果,比较了不同模型在各种上下文长度下的性能。所有数值均为准确率(%)。
图片描述

消融研究

1. 强化学习(RL)训练的影响
- 实验内容:在RULER-HotpotQA任务上,比较了三种模型:1)原始的Qwen2.5-Instruct模型;2)配备了记忆机制但未经RL训练的MemAgent模型;3)经过RL训练的MemAgent模型。
- 实验结果(如图5所示):
- 原始模型随着上下文长度增加性能严重下降,超过112K后因上下文窗口限制输入被截断。
- 无RL训练的MemAgent模型性能优于原始模型,且能在超过上下文长度的任务上保持一定性能,但整体性能随输入长度增加而下降。
- 经过RL训练的MemAgent模型在所有上下文长度上均保持了持续的高性能,衰减极小。

  • 分析结论:记忆机制为处理长上下文提供了结构支持,但强化学习是教会模型如何正确利用记忆的关键。

    图5 在 RULER-HotpotQA 上的消融研究,比较了有无 RL 训练的模型在 28K 到 896K token 上下文长度下的性能。
    图5 在 RULER-HotpotQA 上的消融研究,比较了有无 RL 训练的模型在 28K 到 896K token 上下文长度下的性能。

2. 分布外(Out-of-Distribution, OOD)任务的泛化能力
- 实验内容:在RULER基准的OOD任务上进行评估,包括“大海捞针”变体、变量跟踪、高频词提取,以及由SQuAD合成的问答任务。上下文长度从8K到512K tokens。
- 实验结果(如图6所示):
- MemAgent在各种任务类型上都保持了持续的优越性能。MemAgent-14B在8K到512K的RULER平均任务上准确率超过95%。
- MemAgent-7B/14B在基于SQuAD的QA任务上性能稳定,表明记忆能力可以泛化到训练数据之外。
- 基线模型在所有任务类别上,超过128K tokens后性能均显著下降。

  • 分析结论:MemAgent的记忆机制能够有效泛化到各种长上下文场景,而不是过拟合于特定格式。

    图6 在 RULER 基准测试任务上的性能热图,显示了不同上下文长度下的准确率分数(绿色表示性能更好)。模型按类型在纵轴上分组。(a) 10 个综合任务的平均性能,包括大海捞针变体、变量跟踪和单词提取。(b) 从 SQuAD 数据集合成的问答任务,上下文长度可达 256K token。
    图6 在 RULER 基准测试任务上的性能热图,显示了不同上下文长度下的准确率分数(绿色表示性能更好)。模型按类型在纵轴上分组。(a) 10 个综合任务的平均性能,包括大海捞针变体、变量跟踪和单词提取。(b) 从 SQuAD 数据集合成的问答任务,上下文长度可达 256K token。
    图 (b) RULER-QA 任务,源自 SQuAD
    图 (b) RULER-QA 任务,源自 SQuAD

案例研究

  • 实验内容:分析MemAgent-14B在一个2跳(2-hop)问答任务上的生成轨迹。问题是:“浪漫喜剧‘Big Stone Gap’的导演常驻在纽约哪个城市?”
  • 轨迹分析

    1. 第一轮:模型读到一个可能相关的条目(一个同样位于纽约的制作团队Ghost),并选择保留此信息。
    2. 第二轮:没有提供相关上下文,但模型保持其记忆状态,表现出抗干扰能力。
    3. 第三轮:提供了两个相关的条目(电影信息和导演Adriana Trigiani的介绍),模型正确识别关键信息并相应更新记忆,得到正确答案“Greenwich Village, New York City”。
    4. 后续轮次:推理过程完成,模型记忆保持不变,并最终生成答案。
  • 分析结论:该案例展示了记忆智能体学习到的核心能力:

    • 根据查询关键词预估潜在相关内容并抢先存储。
    • 在遇到与查询匹配的上下文时立即更新记忆。
    • 不受无关信息的影响。
      这些行为并非来自架构上的注意力机制,而是通过强化学习增强的文本生成能力。

A5 结论

本文提出了一种通过引入潜在变量记忆来建模长上下文任务的新方法。该方法将连续的自回归生成过程分解为一系列从记忆中顺序生成上下文的步骤。基于现有的密集注意力Transformer,我们的方法可以在不改变生成范式或引入额外模型架构的情况下,以O(N)的计算复杂度处理无限长的输入文本。

我们引入了MemAgent来实现这种建模方法,为LLM配备了一个经过强化学习训练的记忆,使模型能够学会记录相关信息和忽略无关细节的能力。实验表明,当在32K长度的数据上使用8K上下文(包括一个1024-token的记忆和每步处理5000 tokens的输入)进行训练时,模型在测试中可以外推到3.5M的文本长度,且性能几乎没有损失。

消融研究证明了将记忆本身作为长上下文处理机制的有效性,以及在此基础上进行强化学习训练带来的好处。在领域内和领域外任务上的结果表明,MemAgent超越了长上下文后训练模型、推理模型和其他基线模型,在长上下文任务上达到了最先进的性能。

A6 附录

A 计算复杂度

采用的浮点运算(FLOP)估算器。我们采用了verl【索引61,Hybridflow: A flexible and efficient rlhf framework,2024,arXiv】中针对Qwen2Model的浮点运算(FLOP)估算器来计算基线模型和我们所提方法的FLOP成本。结果如图7所示。基线模型表现出$O(n^2)$的复杂度,而MemAgent实现了$O(n)$的复杂度。

基线模型的FLOP计算。对于基线模型,需要处理的token数量为$q + c + o$,其中$q$代表问题的长度,$c$是上下文长度,$o$代表输出长度。

MemAgent的FLOP计算。对于MemAgent,总FLOP成本是所有阶段FLOP的总和。涉及的详细阶段如下:

  • 初始化:在第一阶段,模型处理一个由$q + 200 + o$组成的输入,其中200代表一个常数,用于提示模型遵循MemAgent工作流。
  • 记忆更新:重复次数由$k = \lceil \frac{c}{N} \rceil$确定,其中$c$是输入的可变部分。每次重复需要一个长度为$q + 200 + N + o$的输入。
  • 最终回答:最后阶段处理一个长度为$q + 100 + o$的输入,其中包括了前面步骤累积的输出。

计算参数。我们设置$q = 1024$,$o = 1024$,$N = 5000$,并且$c$的范围从8K到4M,以计算最终结果。

图7 不同上下文长度(从8K到4M)下的浮点运算次数
图7 不同上下文长度(从8K到4M)下的浮点运算次数

B 完整的领域外任务结果

RULER基准测试概述。RULER基准测试包含四大类任务:检索、多跳追踪、聚合和问答。每项任务都旨在通过基于可配置输入参数(定义序列长度和复杂性)自动生成的示例来评估长上下文建模能力的特定方面。在这个受限的评估框架内,任务复杂性可以被概念化为目标输出token数量和上下文中信噪比的函数。

大海捞针(NIAH)任务。大海捞针(Needle-in-a-Haystack, NIAH)范式通过在大型干扰内容(“草堆”)中插入键值对(“针”)来评估长上下文场景中的检索性能。它包括四个变体:
- 单针NIAH:需要检索单个针。
- 多键NIAH:涉及在多个干扰项中检索一个针。
- 多值NIAH:必须提取与一个键关联的所有值。
- 多查询NIAH:需要检索具有不同键的多个针。

其他任务变量追踪(Variable Tracking, VT)通过在扩展序列中追踪实体链来测试多跳推理。高频词提取(Frequent Words Extraction, FWE)则挑战模型识别幂律分布中的高频词,评估其分析语言数据中词频的能力。

B.1 大海捞针 (NIAH)
B.1 大海捞针 (NIAH)
图8 在单键 NIAH 任务中,随着干扰针数量增加的性能表现。任务 1-3 代表不同干扰密度的难度级别。
图8 在单键 NIAH 任务中,随着干扰针数量增加的性能表现。任务 1-3 代表不同干扰密度的难度级别。
图9 在多键 NIAH 任务中,随着干扰针数量增加的性能表现。任务 1-3 代表不同干扰密度的难度级别。
图9 在多键 NIAH 任务中,随着干扰针数量增加的性能表现。任务 1-3 代表不同干扰密度的难度级别。
图10 高级 NIAH 变体上的性能。(a) 需要检索多个不同针的多查询任务。(b) 需要提取共享相同键的所有值的多值任务。
图10 高级 NIAH 变体上的性能。(a) 需要检索多个不同针的多查询任务。(b) 需要提取共享相同键的所有值的多值任务。

图 (b) NIAH 多值
B.2 变量追踪 (VT) 和高频词提取 (FWE)

图11 在高频词提取和变量追踪任务上的性能。
图11 在高频词提取和变量追踪任务上的性能。

方法细节中的引用汇总

参考文献编号 内容 引用段落及原文描述
[1] Hsieh, C. P., Sun, S., Kriman, S., Acharya, S., Rekesh, D., Jia, F., ... & Ginsburg, B. (2024). Ruler: What’s the real context size of your long-context language models?. arXiv preprint arXiv:2404.06654. 3.3 奖励建模: "在RULER [1] 和其他数据集中,问题可能有多个真实答案。"
[3] OpenAI. (2024). Learning to reason with llms. 3.2 使用多对话强化学习训练MemAgent: "我们采用了RLVR配方 [3, 51, 60] 来训练MemAgent。" (作为RLVR配方的代表性工作之一被引用)
[32] Ouyang, J., Yan, R., Luo, Y., Cheng, M., Liu, Q., Liu, Z., ... & Wang, D. (2025). Training powerful llm agents with end-to-end reinforcement learning. 3.2 使用多对话强化学习训练MemAgent: "...最近的工作如Search-R1 [33]、Agent-R1 [32] 和 RAGEN [59] 已经探索了基于多轮聊天的工具使用智能体的训练。然而,这些多轮聊天是通过交替连接工具响应和模型回复来构建的..." (作为现有研究的例子,说明其连接方式的局限性)
[33] Jin, B., Zeng, H., Yue, Z., Yoon, J., Arik, S., Wang, D., ... & Han, J. (2025). Search-r1: Training llms to reason and leverage search engines with reinforcement learning. arXiv preprint arXiv:2503.09516. 3.2 使用多对话强化学习训练MemAgent: 同上。
3.3 奖励建模: "遵循RLVR配方 [33, 35, 51],我们使用由基于规则的验证器计算出的最终结果奖励来训练模型。"
[34] Feng, L., Xue, Z., Liu, T., & An, B. (2025). Group-in-group policy optimization for llm agent training. arXiv preprint arXiv:2505.10978. 3.2 使用多对话强化学习训练MemAgent: "GiGPO [34] 进一步研究了在带有环境反馈的智能体训练中使用多个独立上下文的滑动窗口轨迹。" (作为现有研究的例子,说明其局限于交错轨迹)
[35] Yu, Q., Zhang, Z., Zhu, R., Yuan, Y., Zuo, X., Yue, Y., ... & Liu, X. (2025). Dapo: An open-source llm reinforcement learning system at scale. arXiv preprint arXiv:2503.14476. 3.2 使用多对话强化学习训练MemAgent: "我们的损失函数类似于DAPO [35] 中使用的函数..." (说明损失函数的来源和相似性)
3.3 奖励建模: 同[33]的引用。
[51] Guo, D., Yang, D., Zhang, H., Song, J., Zhang, R., Xu, R., ... & Bi, X. (2025). Deepseek-r1: Incentivizing reasoning capability in llms via reinforcement learning. arXiv preprint arXiv:2501.12948. 3.2 使用多对话强化学习训练MemAgent: 同[3]的引用。
3.3 奖励建模: 同[33]的引用。
[56] Shao, Z., Wang, P., Zhu, Q., Xu, R., Song, J., Zhang, M., ... & Guo, D. (2024). Deepseekmath: Pushing the limits of mathematical reasoning in open language models. arXiv preprint arXiv:2402.03300. 3.2 使用多对话强化学习训练MemAgent: "对于基础算法,我们采用了Group Relative Policy Optimization (GRPO) [56] 因其在RLVR中的简洁性和有效性。" (说明了选择GRPO作为基础算法的原因)
[58] Liu, Z., Chen, C., Li, W., Qi, P., Pang, T., Du, C., ... & Lin, M. (2025). Understanding r1-zero-like training: A critical perspective. arXiv preprint arXiv:2503.20783. 3.2 使用多对话强化学习训练MemAgent: "遵循DrGRPO [58] 的做法,我们不通过奖励的标准差来归一化优势。" (说明了不归一化优势的做法来源)
[59] Wang, Z., Wang, K., Wang, Q., Zhang, P., Li, L., Yang, Z., ... & Li, M. (2025). Ragen: Understanding self-evolution in llm agents via multi-turn reinforcement learning. 3.2 使用多对话强化学习训练MemAgent: 同[32]的引用。
[60] ByteDance Seed, Chen, J., Fan, T., Liu, X., Liu, L., Lin, Z., ... & Xu, W. (2025). Seed1. 5-thinking: Advancing superb reasoning models with reinforcement learning. arXiv preprint arXiv:2504.13914. 3.2 使用多对话强化学习训练MemAgent: 同[3]的引用。