【论文阅读】Agent 记忆机制(67):MemPO——用记忆级信用分配训练 Agent 主动管理长程上下文

文章目录

  • 前言
  • 零、论文基本信息
  • 一、背景与问题
    • [1. ReAct 的上下文为何会失控](#1. ReAct 的上下文为何会失控)
    • [2. 外部记忆为什么仍不够](#2. 外部记忆为什么仍不够)
    • [3. 只用最终答案奖励为何无法训练好记忆](#3. 只用最终答案奖励为何无法训练好记忆)
  • [二、相关工作:MemPO 改变的是哪一层](#二、相关工作:MemPO 改变的是哪一层)
    • [1. 外部 Memory 与 RAG](#1. 外部 Memory 与 RAG)
    • [2. Agent 强化学习](#2. Agent 强化学习)
    • [3. 与 MEM1 的最近邻关系](#3. 与 MEM1 的最近邻关系)
  • 三、任务定义与自记忆交互
  • [四、MemPO 方法总览](#四、MemPO 方法总览)
  • 五、第一层信用:全局轨迹优势
  • 六、第二层信用:信息性记忆优势
    • [1. 用答案概率衡量记忆是否有用](#1. 用答案概率衡量记忆是否有用)
  • [ P\[s\^{ans}\\mid \\tau_i(s_t\^{mem})\]](# P[s^{ans}\mid \tau_i(s_t^{mem})])
    • [2. 为什么还要减去偏置项](#2. 为什么还要减去偏置项)
    • [3. 记忆奖励如何转成组内优势](#3. 记忆奖励如何转成组内优势)
  • [七、两类优势如何落到 token 上](#七、两类优势如何落到 token 上)
  • 八、训练与推理流程
    • [1. 先用行为克隆学会格式](#1. 先用行为克隆学会格式)
    • [2. 强化学习设置](#2. 强化学习设置)
    • [3. 推理时如何压缩上下文](#3. 推理时如何压缩上下文)
  • 九、实验设置
    • [1. 长程多目标任务](#1. 长程多目标任务)
    • [2. 单目标与 OOD 深度研究任务](#2. 单目标与 OOD 深度研究任务)
    • [3. 指标与基线](#3. 指标与基线)
  • 十、主实验:长任务中同时提升质量与效率
  • 十一、单目标与深度研究结果
  • 十二、消融:奖励有效,但上下文并非越短越好
  • 十三、条件概率分析:奖励究竟学到了什么
    • [1. 随交互步骤变化](#1. 随交互步骤变化)
    • [2. 记忆概率与最终准确率是否相关](#2. 记忆概率与最终准确率是否相关)
  • 十四、案例:自记忆如何阻止错误实体漂移
  • [十五、与 Agent Memory 系列方法横向比较](#十五、与 Agent Memory 系列方法横向比较)
  • [十六、对 Coding Agent、Tool Agent 与 Multi-Agent 的启发](#十六、对 Coding Agent、Tool Agent 与 Multi-Agent 的启发)
    • [1. Coding Agent:把工作摘要训练成可验证状态](#1. Coding Agent:把工作摘要训练成可验证状态)
    • [2. Tool Agent:按后续决策价值保留工具结果](#2. Tool Agent:按后续决策价值保留工具结果)
    • [3. Multi-Agent:共享的是状态,不是全部对话](#3. Multi-Agent:共享的是状态,不是全部对话)
  • 十七、局限性
    • [1. 不同步骤并非可直接比较](#1. 不同步骤并非可直接比较)
    • [2. 奖励依赖已知标准答案](#2. 奖励依赖已知标准答案)
    • [3. 条件概率不是事实完整性的直接度量](#3. 条件概率不是事实完整性的直接度量)
    • [4. 压缩错误可能不可恢复](#4. 压缩错误可能不可恢复)
    • [5. 实验范围仍有限](#5. 实验范围仍有限)
    • [6. 统计证据不够完整](#6. 统计证据不够完整)
  • 十八、我的理解与启发
    • [1. MemPO 学的不是"摘要",而是任务充分统计量](#1. MemPO 学的不是“摘要”,而是任务充分统计量)
    • [2. 记忆质量应由未来用途定义](#2. 记忆质量应由未来用途定义)
    • [3. 最理想的系统可能是"热记忆 + 冷历史"](#3. 最理想的系统可能是“热记忆 + 冷历史”)
    • [4. 奖励设计决定记忆会偏向什么](#4. 奖励设计决定记忆会偏向什么)
  • 十九、总结
  • 参考资料

前言

一个搜索 Agent 如果只需要查一次网页,完整保留上下文通常不会出问题。但当任务变成"同时回答 10 个相互独立的问题",Agent 会不断重复以下循环:思考、搜索、阅读结果、继续搜索。第 10 轮面对的已经不只是用户问题,还包括此前所有推理和工具返回。上下文越来越长,成本随之上升,真正关键的证据反而可能被淹没。

Agent Memory 系列此前主要从"记忆存在哪里、怎样组织、何时检索、如何演化"回答这个问题。A-MEM 强调把经验组织成可链接的记忆网络;MAGMA 关注多粒度记忆及其协同;CoM 将记忆视作可组合、可操作的上下文单元;ReMemR1 允许 Agent 在写入新记忆时回访历史;Mem²Evolve 则把长期运行中的记忆演化纳入系统设计。这些方法各自推进了记忆结构、检索或更新机制,但 MemPO 把问题进一步推向训练层:模型凭什么知道某一步摘要究竟保留了有用证据,还是只写得像一段合理总结?

如果只用最终答案对整条轨迹打分,那么一条成功轨迹里的每段记忆都会获得同样的正向信号。某一步 <mem> 可能漏掉关键实体,后续却靠模型参数知识猜对答案;它仍会被奖励。反过来,一段高质量记忆也可能因后续搜索失败而被整体判负。这正是长轨迹中的信用分配问题。

MemPO 的唯一核心增量可以概括为:

把自记忆写入建模为策略动作,并用"正确答案在该记忆条件下相对完整历史的概率增益"构造逐步记忆优势,让强化学习能够单独奖励真正有助于最终答题的 <mem> 内容。

因此,MemPO 不是又造了一个外部向量库。它训练 Agent 自己在每轮交互中压缩历史,并让下一轮只读取上一轮留下的记忆、思考、工具调用与返回,从机制上阻断上下文线性增长。

零、论文基本信息

  • 论文名称: MemPO: Self-Memory Policy Optimization for Long-Horizon Agents
  • 发表平台: Findings of the Association for Computational Linguistics: ACL 2026
  • 代码仓库: https://github.com/TheNewBeeKing/MemPO
  • 作者: Ruoran Li, Xinghua Zhang, Haiyang Yu, Shitong Duan, Xiang Li, Wenxin Xiang, Chonghua Liao, Xudong Guo, Yongbin Li, Jinli Suo

一、背景与问题

1. ReAct 的上下文为何会失控

经典 ReAct 在第 t t t 轮生成动作时使用问题 q q q 和全部历史 s < t s_{<t} s<t:

π θ ( s t ∣ q , s < t ) \pi_\theta(s_t\mid q,s_{<t}) πθ(st∣q,s<t)

这种做法的优点是信息不丢失,缺点是工具返回往往很长,且大量内容在当前决策中已经无用。任务越长,输入 token、峰值上下文和注意力稀释越严重。论文关心的不是跨天对话中的用户偏好,而是单条长轨迹内的工作记忆

2. 外部记忆为什么仍不够

外部 Memory 通常把历史切块、嵌入并检索,再把相似片段拼回 prompt。它解决了"不能全部放入上下文",却带来两个新问题:

第一,检索目标常是语义相似,而不是对最终任务最有帮助。一个片段与查询很像,不代表它包含完成多跳推理所需的桥接实体。

第二,记忆系统与 Agent 策略往往分开优化。模型负责推理和工具调用,外部模块负责存取,最终任务奖励难以直接改变"什么应该被记住"。

3. 只用最终答案奖励为何无法训练好记忆

设一条轨迹有 16 步,每一步都生成 <mem>。普通 GRPO 只根据答案正确性和格式给整条轨迹一个回报,轨迹内所有 token 共用同一优势。这种稀疏反馈不能回答:

  • 第 3 步记忆是否保留了关键人名;
  • 第 7 步记忆是否把尚未确认的猜测写成事实;
  • 第 12 步记忆是否仍携带已经无关的搜索噪声。

MemPO 的出发点正是把轨迹级"最后做对了吗",拆成记忆级"这一段内容让正确答案更容易被模型生成了吗"。

二、相关工作:MemPO 改变的是哪一层

1. 外部 Memory 与 RAG

MemGPT、Mem0、A-MEM 一类系统主要改造存储、组织和检索。它们可以显著降低完整历史的输入成本,但记忆内容通常由固定工作流、抽取器或相似度检索决定。MemPO 的区别不是存储结构更复杂,而是将摘要写入纳入策略模型本身,并与推理、搜索统一优化。

2. Agent 强化学习

ReSearch、DeepResearcher 等方法用强化学习训练搜索与推理策略。它们能改善 Agent 最终表现,但若不对记忆动作提供专门反馈,长轨迹中仍存在信用分配过粗的问题。

3. 与 MEM1 的最近邻关系

MEM1 同样让模型生成压缩记忆,并通过强化学习学习长程推理,因此是 MemPO 最接近的基线。论文认为 MEM1 的不足是没有显式的记忆优化目标:记忆与推理结合了,但哪段记忆真正有效,仍主要由最终答案间接决定。

MemPO 真正新增的不是 <mem> 标签本身,而是专门面向 <mem> token 的逐步优势估计

三、任务定义与自记忆交互

给定问题---答案对 ( q , a g t ) (q,a^{gt}) (q,agt),Agent 通过多轮工具交互得到轨迹:

τ = { s 1 , s 2 , ... , s T } \tau=\{s_1,s_2,\dots,s_T\} τ={s1,s2,...,sT}

每一步状态被拆为四段:

s t = { s t m e m , s t t h i n k , s t c a l l , s t r e s p } s_t=\{s_t^{mem},s_t^{think},s_t^{call},s_t^{resp}\} st={stmem,stthink,stcall,stresp}

其中:

  • s t m e m s_t^{mem} stmem:<mem>...</mem> 中的累计摘要;
  • s t t h i n k s_t^{think} stthink:<think>...</think> 中的当前推理;
  • s t c a l l s_t^{call} stcall:<tool_call>...</tool_call> 中的工具调用;
  • s t r e s p s_t^{resp} stresp:<information>...</information> 中的工具返回。

当证据足够时,模型输出 <answer> 结束轨迹。

理解下面这张图的关键,是观察第 t t t 步到底还能看到什么。

Figure 1:自记忆推理过程。 Agent 在每一步生成累计记忆,下一步只使用上一轮交互作为输入,更早历史通过 <mem> 被压缩传递。

普通 ReAct 的历史像不断增长的日志;MemPO 更像滚动状态。第 t t t 步无需重新读取 1 1 1 到 t − 2 t-2 t−2 步的原始内容,因为上一轮记忆应当已经把仍有价值的信息压缩进来:

π θ ( s t ∣ q , s t − 1 m e m ) \pi_\theta(s_t\mid q,s_{t-1}^{mem}) πθ(st∣q,st−1mem)

论文文字还说明实际的"上一轮内容"包含上一轮的记忆、思考、调用与工具返回;公式用 s t − 1 m e m s_{t-1}^{mem} st−1mem 突出承担历史压缩职责的核心部分。这样做把记忆从可选插件变成了维持任务状态的必需动作:一旦忘记,后面不会再自动看到原始历史。

四、MemPO 方法总览

下面这张图把训练时的两条反馈路径放在了一起:整条轨迹的答案奖励,以及每一步记忆的有效信息奖励。

Figure 2:MemPO 总览。 对每条 rollout 先计算轨迹级优势,再用正确答案的条件概率为各步记忆计算记忆级优势;只有 <mem> token 同时接收两种优势。

完整流程可以概括为四步:

  1. 对同一问题采样 N N N 条完整 Agent 轨迹;
  2. 根据最终答案和格式计算轨迹奖励;
  3. 对每条轨迹的每一步 <mem>,测量它对正确答案生成概率的贡献;
  4. 普通 token 只使用轨迹优势,记忆 token 使用"轨迹优势 + 记忆优势"。

这种设计保留了任务终局目标,同时增加了针对记忆内容的稠密反馈。

五、第一层信用:全局轨迹优势

对同一输入采样 N N N 条轨迹,构成:

G T = { ( τ 1 , R T ( τ 1 ) ) , ... , ( τ N , R T ( τ N ) ) } G^T=\{(\tau_1,R^T(\tau_1)),\dots,(\tau_N,R^T(\tau_N))\} GT={(τ1,RT(τ1)),...,(τN,RT(τN))}

论文的轨迹奖励非常直接:预测答案正确且格式合规时为 1,否则为 0。再使用组内均值和标准差进行归一化:

A T ( τ i ) = R T ( τ i ) − mean ⁡ ( { R T ( τ j ) } j = 1 N ) std ⁡ ( { R T ( τ j ) } j = 1 N ) A^T(\tau_i)= \frac{R^T(\tau_i)-\operatorname{mean}(\{R^T(\tau_j)\}{j=1}^{N})} {\operatorname{std}(\{R^T(\tau_j)\}{j=1}^{N})} AT(τi)=std({RT(τj)}j=1N)RT(τi)−mean({RT(τj)}j=1N)

A T A^T AT 回答的是:同一问题的这一条轨迹,相对同组其他轨迹整体更好吗?它能训练答案、推理和工具调用,却仍不能区分一条轨迹内部不同记忆步骤的质量。因此它是必要的终局信号,但不是本文的核心创新。

六、第二层信用:信息性记忆优势

1. 用答案概率衡量记忆是否有用

假设正确答案 token 序列为:

s a n s = { a 1 , a 2 , ... , a L } s^{ans}=\{a_1,a_2,\dots,a_L\} sans={a1,a2,...,aL}

若一段记忆保留了完成任务的关键证据,那么在给定问题和这段记忆后,模型应更倾向于生成正确答案。论文用正确答案各 token 概率的几何平均衡量这种倾向:

$$

Ps\^{ans}\\mid \\tau_i(s_t\^{mem})

\sqrtL{\prod_{l=1}^{L}

\pi_\theta(a_l\mid q,\tau_i(s_t^{mem}),a_{<l})}

}

$$

使用几何平均而非直接连乘,可以减弱答案长度对分数的影响。这里测量的不是模型自由生成后是否答对,而是 teacher-forcing 条件下,正确答案本身在当前记忆条件中的平均 token 概率。

例如,某次搜索已经确认"DJ Khaled 就读 Dr. Phillips High School"。如果 <mem> 把学校名保留下来,后续正确答案链条所需的关键桥接实体仍在;若它只写"已找到艺术家的教育经历",语句虽然通顺,却不能支持下一跳搜索。后者对正确答案的条件概率通常更低。

2. 为什么还要减去偏置项

仅看 P s a n s ∣ s t m e m Ps\^{ans}\\mid s_t\^{mem} Psans∣stmem 会混入模型先验:有些答案本来就容易猜中。论文因此引入完整前缀条件下的概率作为基线:

ϵ = P s a n s ∣ τ i ( s \< t ) \epsilon=Ps\^{ans}\\mid \\tau_i(s_{\ ϵ=Psans∣τi(s\

记忆奖励为:

R M ( τ i ( s t m e m ) ) = P s a n s ∣ τ i ( s t m e m ) − ϵ R^M(\tau_i(s_t^{mem}))= Ps\^{ans}\\mid \\tau_i(s_t\^{mem})-\epsilon RM(τi(stmem))=Psans∣τi(stmem)−ϵ

直觉上,这个差值比较"只看压缩记忆"与"看此前完整轨迹"时,正确答案的可生成性。若差值接近 0,说明记忆几乎保存了完整历史对答案的支持;若显著为负,说明压缩丢失了有效信息;若为正,则记忆可能通过删除噪声让答案更突出。

需要注意,论文把它称为 bias term,但它并没有证明该差值是严格因果贡献。条件概率来自同一个策略模型,仍可能受模型校准、答案先验和措辞影响。

3. 记忆奖励如何转成组内优势

所有 rollout、所有步骤的记忆及其奖励组成记忆组:

G M = { ( τ i ( s t m e m ) , R M ( τ i ( s t m e m ) ) ) ∣ 1 ≤ i ≤ N , 1 ≤ t ≤ T } G^M=\{(\tau_i(s_t^{mem}),R^M(\tau_i(s_t^{mem})))\mid 1\le i\le N,1\le t\le T\} GM={(τi(stmem),RM(τi(stmem)))∣1≤i≤N,1≤t≤T}

再做标准化:

A M ( τ i ( s t m e m ) ) = R M ( τ i ( s t m e m ) ) − M ( τ i ( s t m e m ) ) std ⁡ ( { R M ( τ i ( s t m e m ) ) } ) A^M(\tau_i(s_t^{mem}))= \frac{R^M(\tau_i(s_t^{mem}))-M(\tau_i(s_t^{mem}))} {\operatorname{std}(\{R^M(\tau_i(s_t^{mem}))\})} AM(τi(stmem))=std({RM(τi(stmem))})RM(τi(stmem))−M(τi(stmem))

其中 M ( ⋅ ) M(\cdot) M(⋅) 表示相应记忆组的平均奖励。标准化把绝对概率差变成相对质量信号,使优化更关心"同批候选中哪段记忆更有效"。

七、两类优势如何落到 token 上

令第 i i i 条轨迹的第 k k k 个 token 为 τ i , k \tau_{i,k} τi,k,最终优势为:

A i , k = { A T ( τ i ) + A M ( τ i ( s t m e m ) ) , τ i , k ∈ τ i ( s t m e m ) A T ( τ i ) , otherwise A_{i,k}= \begin{cases} A^T(\tau_i)+A^M(\tau_i(s_t^{mem})), & \tau_{i,k}\in\tau_i(s_t^{mem})\\ A^T(\tau_i), & \text{otherwise} \end{cases} Ai,k={AT(τi)+AM(τi(stmem)),AT(τi),τi,k∈τi(stmem)otherwise

这条公式是 MemPO 的核心落点:

  • <think>、工具调用和答案 token 仍围绕最终任务成功学习;
  • <mem> token 除了要服务最终成功,还要单独证明自己保留了有效信息。

因此,MemPO 并非给整条轨迹额外加一个记忆分数,而是把记忆优势精准施加到生成该段记忆的 token 上。

策略目标沿用 clipped policy optimization,并加入相对参考策略的 KL 正则:

J ( θ ) = E 1 N ∑ i = 1 N 1 ∣ τ i ∣ ∑ k = 1 ∣ τ i ∣ min ⁡ ( γ i , k A i , k , clip ⁡ ( γ i , k , 1 − ε , 1 + ε ) A i , k ) − β D K L ( π θ ∥ π r e f ) J(\theta)=\mathbb{E}\left \\frac{1}{N}\\sum_{i=1}\^{N}\\frac{1}{\|\\tau_i\|}\\sum_{k=1}\^{\|\\tau_i\|} \\min\\left(\\gamma_{i,k}A_{i,k}, \\operatorname{clip}(\\gamma_{i,k},1-\\varepsilon,1+\\varepsilon)A_{i,k}\\right) -\\beta D_{KL}(\\pi_\\theta\\\|\\pi_{ref}) \\right J(θ)=E N1i=1∑N∣τi∣1k=1∑∣τi∣min(γi,kAi,k,clip(γi,k,1−ε,1+ε)Ai,k)−βDKL(πθ∥πref)

其中重要性采样比率为:

γ i , k = π θ ( τ i , k ∣ q , τ i , < k ) π θ o l d ( τ i , k ∣ q , τ i , < k ) \gamma_{i,k}= \frac{\pi_\theta(\tau_{i,k}\mid q,\tau_{i,<k})} {\pi_{\theta_{old}}(\tau_{i,k}\mid q,\tau_{i,<k})} γi,k=πθold(τi,k∣q,τi,<k)πθ(τi,k∣q,τi,<k)

裁剪限制单次更新幅度,KL 项避免策略偏离参考模型过远。MemPO 的新意不在 PPO/GRPO 外壳,而在 A i , k A_{i,k} Ai,k 对记忆 token 的差异化构造。

八、训练与推理流程

1. 先用行为克隆学会格式

模型若连 <mem> → <think> → <search>/<answer> 的协议都不稳定,直接做强化学习会把大量 rollout 浪费在格式错误上。作者先用 GPT-4.1 在公开训练数据上生成轨迹,过滤答案错误的样本,得到约 1 万条含记忆轨迹,并对 Qwen2.5-7B 微调 1 个 epoch。

这一步主要提供"会按协议写自记忆"的起点,不负责证明每段记忆有效。真正的有效性优化发生在后续 MemPO 阶段。

2. 强化学习设置

  • 基座模型:Qwen2.5 系列 7B;
  • 训练任务:由 HotpotQA 与 NQ 合成的双目标任务,并加入两数据集随机子集;
  • rollout group size: N = 16 N=16 N=16;
  • batch size:128;
  • learning rate: 10 − 6 10^{-6} 10−6;
  • 最大交互轮数:16;
  • 训练工具:本地 Wiki 搜索引擎。

对无记忆 GRPO 基线,作者从同一批轨迹中移除记忆段后训练,以减少数据与环境差异。

3. 推理时如何压缩上下文

每轮 <mem> 是累计摘要,必须包含此前思考与工具返回中的必要信息;随后模型只能发出一次搜索,或直接输出最终答案。下一轮不再携带更早原文。

这是一种强约束:它真正节省 token,但也让遗漏不可逆。MemPO 的记忆奖励正是为这种强约束提供训练保障。

九、实验设置

1. 长程多目标任务

作者先把 HotpotQA 与 NQ 验证集问题组合成 2-objective 测试集,再用 HotpotQA 合成 4、6、8、10-objective 任务。目标数越多,需要搜集和维持的独立证据越多。测试同时覆盖本地 Wiki 搜索和真实在线网页搜索。

2. 单目标与 OOD 深度研究任务

附录还评估了:

  • 多跳 QA:2WikiMultiHopQA、Bamboogle、HotpotQA、Musique;
  • 单跳 QA:NQ、PopQA、TriviaQA;
  • 深度研究:GAIA、Frames、WebWalkerQA。

超过 1000 条的数据集随机抽取 1000 条评估;Frames 与 WebWalkerQA 各随机抽取 250 条,以控制成本。深度研究数据来自真实网页环境,相对本地 Wiki 训练设置属于 OOD。

3. 指标与基线

质量指标为词级 F1 与 Exact Match(EM)。效率指标包括每个问题的总 token 消耗 TT,以及单步峰值 token 消耗 PT。表中的 TT、PT 数值按论文呈现,可理解为千 token 量级。

基线包括 ReAct、ReSearch、DeepResearcher、A-MEM、MEM1,以及同环境训练但不含 <mem> 的 GRPO。

十、主实验:长任务中同时提升质量与效率

为了同时看清任务长度、答案质量和 token 成本,下面按论文 Table 1 重制关键结果。

Local Wiki 2-obj F1 4-obj F1 6-obj F1 8-obj F1 10-obj F1 Avg F1 ↑ Avg EM ↑ TT ↓ PT ↓ ReAct 33.73 10.59 5.37 5.92 2.63 11.65 8.56 3.64 0.61 ReSearch 47.40 24.13 20.84 10.80 5.08 21.65 15.98 3.29 0.71 DeepResearcher 30.94 24.52 13.88 9.12 5.07 16.71 12.78 4.29 0.77 A-MEM 33.24 13.71 9.80 6.86 5.56 13.83 10.21 2.62 0.38 MEM1 47.74 26.51 18.81 19.04 19.61 26.34 19.40 1.38 0.20 GRPO w/o mem 54.57 38.31 29.78 18.97 11.01 30.53 23.13 4.39 0.81 M e m P O 56.47 42.75 34.32 30.48 24.15 37.63 29.37 1.18 0.18 \begin{array}{l|ccccc|rrrr} \text{Local Wiki} & \text{2-obj F1} & \text{4-obj F1} & \text{6-obj F1} & \text{8-obj F1} & \text{10-obj F1} & \text{Avg F1}\uparrow & \text{Avg EM}\uparrow & \text{TT}\downarrow & \text{PT}\downarrow\\\hline \text{ReAct} & 33.73&10.59&5.37&5.92&2.63&11.65&8.56&3.64&0.61\\ \text{ReSearch} &47.40&24.13&20.84&10.80&5.08&21.65&15.98&3.29&0.71\\ \text{DeepResearcher} &30.94&24.52&13.88&9.12&5.07&16.71&12.78&4.29&0.77\\ \text{A-MEM} &33.24&13.71&9.80&6.86&5.56&13.83&10.21&2.62&0.38\\ \text{MEM1} &47.74&26.51&18.81&19.04&19.61&26.34&19.40&1.38&0.20\\ \text{GRPO w/o mem} &54.57&38.31&29.78&18.97&11.01&30.53&23.13&4.39&0.81\\ \mathbf{MemPO} &\mathbf{56.47}&\mathbf{42.75}&\mathbf{34.32}&\mathbf{30.48}&\mathbf{24.15}&\mathbf{37.63}&\mathbf{29.37}&\mathbf{1.18}&\mathbf{0.18} \end{array} Local WikiReActReSearchDeepResearcherA-MEMMEM1GRPO w/o memMemPO2-obj F133.7347.4030.9433.2447.7454.5756.474-obj F110.5924.1324.5213.7126.5138.3142.756-obj F15.3720.8413.889.8018.8129.7834.328-obj F15.9210.809.126.8619.0418.9730.4810-obj F12.635.085.075.5619.6111.0124.15Avg F1↑11.6521.6516.7113.8326.3430.5337.63Avg EM↑8.5615.9812.7810.2119.4023.1329.37TT↓3.643.294.292.621.384.391.18PT↓0.610.710.770.380.200.810.18

Online Web 2-obj F1 4-obj F1 6-obj F1 8-obj F1 10-obj F1 Avg F1 ↑ Avg EM ↑ TT ↓ PT ↓ ReAct 45.71 16.83 12.12 9.66 7.25 18.31 13.19 3.14 0.34 ReSearch 51.17 29.92 25.21 17.09 10.37 26.75 19.79 2.17 0.40 MEM1 50.56 30.43 21.67 19.48 18.06 28.04 20.84 0.96 0.14 M e m P O 57.40 41.42 37.92 34.30 22.92 38.79 29.22 0.86 0.12 \begin{array}{l|ccccc|rrrr} \text{Online Web} & \text{2-obj F1} & \text{4-obj F1} & \text{6-obj F1} & \text{8-obj F1} & \text{10-obj F1} & \text{Avg F1}\uparrow & \text{Avg EM}\uparrow & \text{TT}\downarrow & \text{PT}\downarrow\\\hline \text{ReAct} &45.71&16.83&12.12&9.66&7.25&18.31&13.19&3.14&0.34\\ \text{ReSearch} &51.17&29.92&25.21&17.09&10.37&26.75&19.79&2.17&0.40\\ \text{MEM1} &50.56&30.43&21.67&19.48&18.06&28.04&20.84&0.96&0.14\\ \mathbf{MemPO} &\mathbf{57.40}&\mathbf{41.42}&\mathbf{37.92}&\mathbf{34.30}&\mathbf{22.92}&\mathbf{38.79}&\mathbf{29.22}&\mathbf{0.86}&\mathbf{0.12} \end{array} Online WebReActReSearchMEM1MemPO2-obj F145.7151.1750.5657.404-obj F116.8329.9230.4341.426-obj F112.1225.2121.6737.928-obj F19.6617.0919.4834.3010-obj F17.2510.3718.0622.92Avg F1↑18.3126.7528.0438.79Avg EM↑13.1919.7920.8429.22TT↓3.142.170.960.86PT↓0.340.400.140.12

Table 1:多目标任务的准确率与 token 消耗。 比较不同目标数下的 F1,并汇总平均 F1、EM、总 token 与单步峰值 token;粗体为论文报告的最优结果。

最重要的现象不是 2-objective 上多赢一点,而是目标数增加后退化更慢。在本地 Wiki 的 10-objective 任务上,MemPO F1 为 24.15,MEM1 为 19.61,无记忆 GRPO 仅 11.01。说明记忆专用奖励的价值随着轨迹变长而放大。

平均结果上,MemPO 相对无记忆 GRPO 的 F1 从 30.53 提升到 37.63,绝对增加 7.10;相对原始 ReAct 从 11.65 增至 37.63,绝对增加 25.98。这正是摘要中两个提升数字的来源。

效率同样关键。本地 Wiki 中 MemPO 的 TT 为 1.18,而无记忆 GRPO 为 4.39,下降约 73.12%;相对 ReAct 的 3.64 下降约 67.58%。MemPO 不是以更长推理换准确率,而是在更短上下文中获得更高结果。

在线网页搜索没有出现在训练环境中,MemPO 仍以 38.79 平均 F1 和 0.86 TT 领先。这支持一定的工具环境迁移能力,但不能等同于跨模型、跨领域或跨工具协议的全面泛化。

十一、单目标与深度研究结果

单目标任务暴露了一个重要边界:记忆压缩并非在所有短任务上都提高准确率。

KaTeX parse error: Undefined control sequence: \multicolumn at position 30: ...{l|rrrr|rrrr} &\̲m̲u̲l̲t̲i̲c̲o̲l̲u̲m̲n̲{4}{c|}{\text{M...

Table 3--4:单目标 QA 汇总结果。 分别汇总四个多跳与三个单跳数据集的平均 F1、EM、总 token 和峰值 token。

在多跳 QA 平均值上,MemPO 的 F1 50.80 低于无记忆 GRPO 的 51.65,EM 也低 1.60。这不是可以忽略的小细节:完整上下文在较短任务上有时仍能保留更多原始证据。MemPO 的优势主要体现在 token,TT 从 0.80 降到 0.35,PT 从 0.30 降到 0.15。

具体到数据集,MemPO 在 HotpotQA 上略胜 GRPO(57.64 对 57.29),但在 2WikiMultiHopQA(59.17 对 62.35)、Bamboogle(52.90 对 53.18)和 Musique(33.48 对 33.78)没有领先。相反,在单跳 QA 平均结果上,MemPO 同时取得最高 F1 59.61 与最低 TT 0.24。

KaTeX parse error: Undefined control sequence: \multicolumn at position 34: ...r|rr|rr|rrrr} &\̲m̲u̲l̲t̲i̲c̲o̲l̲u̲m̲n̲{2}{c|}{GAIA}&\...

Table 5:OOD 深度研究任务结果。 比较 GAIA、Frames、WebWalkerQA 的质量与平均 token 消耗。

MemPO 的平均 F1 31.49 略高于 DeepResearcher 的 30.75,同时 TT 仅 0.41,对方为 2.18。但它并未在所有数据集上获胜:Frames 和 WebWalkerQA 的 F1 都略低于 DeepResearcher。论文能够支持的结论是"总体竞争力与明显效率优势",而不是"每个深度研究任务都达到最佳"。

十二、消融:奖励有效,但上下文并非越短越好

下面的左右两幅图分别回答两个问题:记忆专用优势是否必要,以及推理时保留多少轮上下文更合适。

Figure 3:消融实验。 左图比较普通 GRPO 与 MemPO 的信息性记忆优势;右图比较保留 1 步、3 步和完整上下文的策略。

左图显示,在 2-objective 时两者接近,甚至普通 GRPO 略高;随着目标数增加,MemPO 的优势迅速扩大,10-objective 的差距最大。这与核心假设一致:短轨迹的终局奖励尚能提供足够信号,长轨迹才真正需要逐步记忆信用。

右图则否定了"上下文越多越好"。2-objective 时完整上下文最高;到 8、10-objective 时,1-step context 明显更好,完整上下文反而最低。可能原因是长任务中的冗余和注意力稀释超过了原始细节的收益。

但该消融只有曲线,没有误差条、方差或显著性检验。它展示稳定趋势,却不能量化不同训练随机种子下的可靠程度。

十三、条件概率分析:奖励究竟学到了什么

1. 随交互步骤变化

Figure 4:逐步条件概率分析。 折线表示各步记忆条件下正确答案的平均概率,柱形表示仍运行到该步的轨迹比例。

在前 10 步,MemPO 的条件概率总体由约 0.074 上升到约 0.085,而普通 GRPO 从约 0.066 下降到约 0.052。也就是说,MemPO 的累计记忆随搜索推进更接近"证据不断变完整",普通 GRPO 的摘要反而可能被新增噪声稀释。

第 10 步以后,MemPO 曲线回落。作者解释,大多数 10-objective 任务约在 10 次搜索内完成,仍继续搜索的往往是困难样本,因此后段不是同一难度样本的纵向比较。柱形图正是在提醒读者存在生存者偏差。

2. 记忆概率与最终准确率是否相关

Figure 5:分组条件概率分析。 将记忆按正确答案条件概率分桶,比较 MemPO 与普通 GRPO 的样本分布及各桶轨迹准确率。

MemPO 的记忆更多落在高概率区间,而且条件概率较高的桶总体对应更高准确率。它为"答案概率可以作为记忆有效性代理"提供了经验支持。

不过这仍是相关性证据。高质量轨迹可能同时产生更好的记忆和更高答案概率,图中没有通过替换记忆、随机打乱或干预实验完全隔离因果关系。

十四、案例:自记忆如何阻止错误实体漂移

附录案例询问:发行专辑 Father of Asahd 的艺人与某位奥运跳水运动员上过同一所高中,该运动员参加过几届奥运队?

MemPO 的累计记忆依次保留:

  1. 专辑艺人为 DJ Khaled;
  2. DJ Khaled 毕业于 Dr. Phillips High School;
  3. 该校毕业的跳水运动员是 Mark Ruiz;
  4. Mark Ruiz 参加了 2000 和 2004 两届奥运队,答案为 2。

ReAct 案例在第 3 步凭空把待查运动员替换为 Greg Louganis,后续又搜索他的经历,最终回答 4。Greg Louganis 确实是跳水运动员,但此前工具上下文从未将他与目标高中关联。这是典型的实体漂移:长上下文里,"跳水运动员"这个类型约束压过了真正的桥接实体。

MemPO 的价值不只是缩短文本,而是把当前已确认事实和待解决子目标显式固化在滚动记忆中,使下一步搜索锚定正确实体。

十五、与 Agent Memory 系列方法横向比较

方法 主要改造位置 记忆选择依据 与 MemPO 的关键区别 A-MEM 外部记忆组织与链接 抽取、相似性与关联 结构可演化,但非逐步任务奖励 MAGMA 多粒度记忆协同 不同粒度的检索与融合 强调表示层级,不是 mem token 信用 CoM 记忆单元的组合与操作 面向上下文构造的操作 强调可组合性,不直接优化答案概率增益 ReMemR1 写入时回访历史记忆 回调检索与更新策略 解决不可逆写入,MemPO 解决奖励归因 Mem 2 Evolve 长期记忆持续演化 经验与结构更新 时间尺度更长,关注持续适应 MEM1 记忆---推理协同生成 轨迹级 RL 最近邻;缺少显式逐步记忆优势 MemPO 策略内生的滚动工作记忆 答案条件概率增益 专门对每步 mem token 分配信用 \begin{array}{l|l|l|l} \text{方法}&\text{主要改造位置}&\text{记忆选择依据}&\text{与 MemPO 的关键区别}\\\hline \text{A-MEM}&\text{外部记忆组织与链接}&\text{抽取、相似性与关联}&\text{结构可演化,但非逐步任务奖励}\\ \text{MAGMA}&\text{多粒度记忆协同}&\text{不同粒度的检索与融合}&\text{强调表示层级,不是 mem token 信用}\\ \text{CoM}&\text{记忆单元的组合与操作}&\text{面向上下文构造的操作}&\text{强调可组合性,不直接优化答案概率增益}\\ \text{ReMemR1}&\text{写入时回访历史记忆}&\text{回调检索与更新策略}&\text{解决不可逆写入,MemPO 解决奖励归因}\\ \text{Mem}^{2}\text{Evolve}&\text{长期记忆持续演化}&\text{经验与结构更新}&\text{时间尺度更长,关注持续适应}\\ \text{MEM1}&\text{记忆---推理协同生成}&\text{轨迹级 RL}&\text{最近邻;缺少显式逐步记忆优势}\\ \text{MemPO}&\text{策略内生的滚动工作记忆}&\text{答案条件概率增益}&\text{专门对每步 mem token 分配信用} \end{array} 方法A-MEMMAGMACoMReMemR1Mem2EvolveMEM1MemPO主要改造位置外部记忆组织与链接多粒度记忆协同记忆单元的组合与操作写入时回访历史记忆长期记忆持续演化记忆---推理协同生成策略内生的滚动工作记忆记忆选择依据抽取、相似性与关联不同粒度的检索与融合面向上下文构造的操作回调检索与更新策略经验与结构更新轨迹级 RL答案条件概率增益与 MemPO 的关键区别结构可演化,但非逐步任务奖励强调表示层级,不是 mem token 信用强调可组合性,不直接优化答案概率增益解决不可逆写入,MemPO 解决奖励归因时间尺度更长,关注持续适应最近邻;缺少显式逐步记忆优势专门对每步 mem token 分配信用

横向比较:MemPO 在记忆生命周期中的位置。 它主要推进"训练与信用分配",而不是长期存储结构、检索索引或记忆演化。

从系列演进看,MemPO 提供了一种可与其他方法组合的训练思想。例如,外部记忆系统仍可负责跨会话长期存储,MemPO 则负责单次长轨迹中的滚动状态;ReMemR1 可以决定何时回访旧记忆,MemPO 式奖励可以判断回访后重写的内容是否更接近任务目标。

十六、对 Coding Agent、Tool Agent 与 Multi-Agent 的启发

以下是基于论文机制的工程推演,不是论文直接验证的结论。

1. Coding Agent:把工作摘要训练成可验证状态

Coding Agent 的长任务常包含需求、已读文件、修改点、测试结果和未解决错误。可以让每轮记忆固定保存:

  • 已确认约束;
  • 修改过的文件与原因;
  • 已通过/失败的测试;
  • 下一步最小行动;
  • 仍未验证的假设。

记忆奖励不必使用"正确答案概率",可替换为测试通过概率、补丁接受率或基于隐藏测试的价值增益。关键思想是:不要因为最终代码碰巧通过,就平均奖励所有中间摘要。

2. Tool Agent:按后续决策价值保留工具结果

工具返回往往包含大量 JSON、日志和网页片段。MemPO 启发我们训练一个内生压缩动作,只保留能改变后续工具选择或最终结论的字段。可通过"给定摘要后正确工具调用的概率增益"构造步骤奖励。

风险在于摘要会删除审计证据。生产系统应保留原始工具日志作为冷存储,让策略上下文只读压缩记忆,但在异常或低置信度时允许回查。

3. Multi-Agent:共享的是状态,不是全部对话

多个 Agent 协作时,把所有消息广播给所有成员很快会形成上下文洪水。可以让每个 Agent 输出面向团队目标的可交接记忆,再用下游 Agent 成功概率衡量交接质量。

但不同角色需要的信息并不相同。面向研究 Agent 的好记忆未必适合执行 Agent,因此多智能体版本需要角色条件化的记忆价值,而不能共享单一标量奖励。

十七、局限性

1. 不同步骤并非可直接比较

论文自己指出,各 rollout 在不同步骤会调用不同工具,得到的信息量也不同,因此跨轨迹、跨步骤的记忆状态并不等价。把它们放在同一组中标准化可能引入偏差。

2. 奖励依赖已知标准答案

训练时必须知道正确答案 token,才能计算 P ( s a n s ∣ s m e m ) P(s^{ans}\mid s^{mem}) P(sans∣smem)。这适合可自动验证的 QA,不容易直接扩展到开放式研究报告、代码架构设计或长期用户偏好管理。

3. 条件概率不是事实完整性的直接度量

模型可能因为参数知识、自信偏差或答案表述更常见而给出高概率。一段记忆也可能让正确答案概率升高,却包含无法追溯或错误的中间事实。论文没有加入引用一致性、事实覆盖率或可审计性奖励。

4. 压缩错误可能不可恢复

推理只保留上一轮上下文带来了高效率,也意味着早期漏掉的信息不会自然回归。论文没有设计低置信度回查原始历史、外部档案或可逆记忆机制。

5. 实验范围仍有限

训练和主体评估以搜索 QA 为中心,基座固定为 Qwen2.5-7B,最大 16 轮。论文没有证明该机制在更大模型、数十到数百轮任务、代码执行、具身控制或长期对话中同样成立。

6. 统计证据不够完整

主要表格和消融没有报告多随机种子方差或显著性检验;附录中较大数据集还采用随机子样本。小幅领先,例如 Deep Research 平均 F1 的 31.49 对 30.75,应谨慎解读。

十八、我的理解与启发

1. MemPO 学的不是"摘要",而是任务充分统计量

普通摘要追求覆盖原文;MemPO 的记忆追求在尽可能短的文本中保留对后续决策足够的信息。它更接近 POMDP 中的 belief state 或任务充分统计量:无需复述一切,只要保留决定下一步和最终答案的变量。

2. 记忆质量应由未来用途定义

一段记忆是否好,不能只看语言是否流畅、是否与历史相似,而要看它对未来行动和结果有什么影响。MemPO 用正确答案条件概率把"未来用途"变成可训练信号,这是比具体公式更值得迁移的思想。

3. 最理想的系统可能是"热记忆 + 冷历史"

MemPO 的滚动记忆适合作为热状态,极省上下文;外部可检索历史适合作为冷存储,提供纠错与审计。两者并不冲突。真正稳健的 Agent 可以默认只读热记忆,在不确定、矛盾或失败时触发 ReMemR1 式回访,再重写热状态。

4. 奖励设计决定记忆会偏向什么

以答案概率为目标,模型会优先保留能直接支持答案的内容。这对 QA 很合理,但在现实任务中还需要保留风险、来源、权限边界和未决假设。否则"最有助于马上答对"的记忆,未必是"最安全、最可解释、最适合长期复用"的记忆。

十九、总结

MemPO 把长程 Agent 的记忆问题从"如何额外存一份历史"改写成"如何训练策略自己维护有用状态"。它要求模型每轮生成累计 <mem>,推理时只携带上一轮内容,从而切断上下文线性增长;训练时则用正确答案在该记忆条件下相对完整历史的概率增益,为每一步记忆分配专属优势。

实验中,这一设计在本地 Wiki 多目标任务上相对 Qwen2.5 ReAct 提升 25.98 个平均 F1 点、相对此前最佳基线提升 7.10 点,同时将总 token 分别降低 67.58% 和 73.12%。它在长任务上的优势最明显,而短多跳任务仍存在准确率略低于完整上下文 GRPO 的反例。

一句话总结:

MemPO 的核心贡献,是让 Agent 不只"会写记忆",还通过逐步信用分配学会写下真正能提高未来任务成功率的记忆。

参考资料

  1. Li et al. MemPO: Self-Memory Policy Optimization for Long-Horizon Agents. Findings of ACL 2026.
  2. 论文主页:https://aclanthology.org/2026.findings-acl.1166/
  3. 代码仓库:https://github.com/TheNewBeeKing/MemPO
  4. Zhou et al. MEM1: Learning to Synergize Memory and Reasoning for Efficient Long-Horizon Agents. 2025.
  5. Xu et al. A-MEM: Agentic Memory for LLM Agents. 2025.
相关推荐
chnyi6_ya1 小时前
论文阅读笔记:VBVR-Pro 把「用生成来推理」变成一个可训练、可验证、可优化的闭环
论文阅读·笔记
Ai思想家1 小时前
企业AI网关的跨可用区容灾与多活设计
人工智能
Mr数据杨1 小时前
基于企业交易数据的OKVED行业分类实战解析
人工智能·数据分析·kaggle竞赛
AI推荐率1 小时前
品牌的核心能力只写在图片里,公开资料该怎样补充文字解释?
人工智能
能源革命1 小时前
DeepAR(概率自回归模型)介绍
人工智能·数据挖掘·回归
下辈子不要当码农1 小时前
ARM学习(1)
学习·arm
IvorySQL1 小时前
PostgreSQL 日报|大模型破解在线校验和(9 月 15 日)
数据库·人工智能·postgresql
人工智能AI技术1 小时前
模型越强越翻车?GPT-6 旧配置踩坑深度避坑指南
人工智能
小酒星小杜1 小时前
【AI+Gpt-Image2.5】我偷偷把同事做成了虚拟角色,结果被发现了
人工智能·程序员·产品