AgentMoCo:面向长视界智能体的动量对比记忆优化框架

AgentMoCo:面向长视界智能体的动量对比记忆优化框架

原文网页:https://arxiv.org/html/2610.31355v1

PDF链接:https://arxiv.org/pdf/2610.31355v1

arXiv编号:arXiv:2610.31355v1 cs.AI

摘要

长视界工具调用智能体在执行上百步复杂任务时,普遍面临记忆退化问题:随着交互步数增加,早期关键信息被稀释,智能体容易遗忘历史约束、重要证据与失败教训。现有记忆方案大多聚焦记忆检索召回,缺少针对记忆表征本身的对比学习优化;简单直接套用通用MoCo动量对比会破坏智能体轨迹时序因果结构,造成负样本构造不合理。

本文提出Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo动量对比记忆优化框架 ,面向长视界智能体轨迹做记忆表征学习。设计时序感知的正负样本采样策略,严格尊重智能体轨迹因果时序约束,规避跨时间步的因果泄露;构建双记忆编码器架构:在线编码器处理当前交互,动量编码器维护历史轨迹的动量表征,动量队列存储历史时序感知样本。在训练阶段,将动量对比损失附加到原始智能体训练损失之上,联合优化智能体策略与记忆表征。

在WebArena、OSWorld、ToolBench三套长视界智能体基准开展实验。Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo相比基线方案,任务整体成功率提升4.4(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)7.6个百分点;超过SFT、ReAct、原生MoCo对比记忆、摘要记忆、向量检索记忆等多种基线。长序列子集(>30步)增益更加显著,提升可达9.3个百分点。消融实验验证时序感知采样策略、动量双编码器、动量队列各模块贡献。全部代码、轨迹数据集、复现脚本开源。

关键词

长视界智能体;智能体记忆;动量对比学习;Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo;表征学习;轨迹时序约束;工具调用智能体

目录

  1. 引言(#1(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)引言)
  2. 相关工作(#2(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)相关工作)
  3. Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo方法框架](#3(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)moco方法框架)
    • 3.1 问题形式化(#31(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)问题形式化)
    • 3.2 时序感知正负样本采样策略(#32(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)时序感知正负样本采样策略)
    • 3.3 双记忆编码器与动量队列(#33(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)双记忆编码器与动量队列)
    • 3.4 联合损失函数(#34(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)联合损失函数)
  4. 实验设置(#4(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)实验设置)
  5. 实验结果(#5(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)实验结果)
    • 5.1 主实验整体性能(#51(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)主实验整体性能)
    • 5.2 长序列子集专项结果(#52(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)长序列子集专项结果)
    • 5.3 消融实验(#53(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)消融实验)
  6. 讨论与局限性(#6(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)讨论与局限性)
  7. 结论(#7(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)结论)
  8. 附录简要说明

1 引言

长视界工具调用智能体需要完成几十至上百步的交互任务,例如网页复杂操作、多轮数据库查询、多工具链式调用。随着交互步数增长,早期关键证据、约束条件、历史失败经验会被后续大量观测稀释,出现记忆退化现象:智能体遗忘早期关键信息,重复犯历史错误、忽略任务约束,造成任务失败。

现有智能体记忆研究主要分为三类:

  1. 文本摘要记忆:对历史交互做文本摘要压缩;但摘要会丢失细粒度事实细节;
  2. 向量检索记忆:将历史步骤编码为向量,查询时做相似度检索;依赖表征质量,缺少专门针对智能体轨迹的表征优化;
  3. 对比学习记忆:直接复用通用MoCo动量对比,但通用MoCo随机采样负样本,会破坏智能体轨迹时序因果,出现因果泄露------把未来步骤当作当前步骤的负样本,违背智能体轨迹的时间因果关系,引入不合理训练信号。

通用MoCo不适合直接迁移至智能体轨迹:智能体轨迹具备强时序因果依赖,后续动作建立在前面观测基础之上,不能任意打乱时序做样本对构造。

本文提出Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo动量对比记忆优化框架。

  1. 时序感知正负样本采样:严格遵守轨迹因果时序,同一条轨迹内,只能使用更早时间步作为负样本,禁止把未来时刻状态拿来构造样本,规避因果泄露;跨轨迹可以选取其它任务轨迹样本。
  2. 双记忆编码器架构:在线编码器编码当前交互记忆片段;动量编码器做动量更新,维护历史表征;动量队列存放时序感知采样得到的历史记忆表征。
  3. 动量对比损失和智能体原始训练损失联合优化,同时优化策略输出与记忆表征质量,不需要改动智能体推理时检索逻辑。

本文主要贡献

  1. 提出Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo面向长视界智能体的动量对比记忆优化框架;设计时序感知采样策略,避免轨迹因果泄露,适配智能体交互轨迹时序约束。
  2. 双记忆编码器+动量队列架构;对比损失与原始智能体损失联合训练,同步优化策略与记忆表征。
  3. 在WebArena、OSWorld、ToolBench基准上实验,整体任务成功率提升4.4(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)7.6pp;大于30步的长序列子集增益最高可达9.3pp;消融验证各模块有效性。
  4. 开源全套代码、AgentMoCo(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Traj轨迹数据集、训练与复现脚本。

2 相关工作

2.1 智能体记忆机制

  • 显式文本记忆:摘要、压缩、结构化知识库,依靠文本保存历史,压缩会丢失细节;
  • 向量记忆库:将每一步交互编码为向量,使用相似度检索召回历史;表征质量直接决定召回效果;
  • 隐式记忆:前缀向量、LoRA等,将历史编码为隐向量,主模型冻结只训练编码器。

现有向量记忆大多只在推理阶段做检索,不在训练阶段对记忆表征做显式优化。

2.2 对比学习与MoCo

MoCo动量对比学习使用在线(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)动量双编码器、动量队列维护大量负样本,广泛用于CV、NLP表征预训练。

直接迁移到智能体轨迹存在致命缺陷:原始MoCo随机打乱采样,会将同一条轨迹未来时刻样本当作负样本,违背智能体轨迹因果顺序,造成因果泄露,产生错误训练信号。Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo修改采样规则,增加时序因果约束。

2.3 长视界智能体训练

SFT监督微调、GRPO/ReAct强化学习,大多聚焦动作策略优化,对记忆表征本身优化较少;Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo属于辅助损失范式,可以叠加在SFT、RL训练之上。

3 Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo方法框架

3.1 问题形式化

智能体轨迹 τ = { ( o 1 , a 1 ) , ( o 2 , a 2 ) , . . . , ( o T , a T ) } \tau=\{(o_1,a_1),(o_2,a_2),...,(o_T,a_T)\} τ={(o1,a1),(o2,a2),...,(oT,aT)}, o t o_t ot为观测, a t a_t at为动作。

记忆片段 m t = o 1 , a 1 , . . . , o t , a t m_t = o_1,a_1,...,o_t,a_t mt=o1,a1,...,ot,at,代表截止 t t t步全部交互历史。记忆编码器 E E E将 m t m_t mt映射为向量表征 z t = E ( m t ) ∈ R d \boldsymbol z_t = E(m_t)\in \mathbb R^d zt=E(mt)∈Rd。

训练目标:在原始智能体损失 L a g e n t \mathcal L_{agent} Lagent基础上,增加时序感知动量对比损失 L m o c o \mathcal L_{moco} Lmoco,联合优化。

3.2 时序感知正负样本采样策略

核心约束:对于同一条轨迹 τ \tau τ, t t t时刻样本,不能取 t ′ > t t' > t t′>t未来时间步作为正负样本,只允许取 t ′ ≤ t t'\le t t′≤t的历史样本,防止因果泄露。

  1. 正样本 :同一轨迹内,时间步 t t t的记忆片段 m t m_t mt,经过弱数据增强得到 m ~ t \tilde m_t m~t作为正样本;数据增强:随机删减部分无关文本、段落重排(不破坏时序)。
  2. 负样本来源两类
    • 轨迹内负样本:同一条轨迹,选取 t ′ < t t' < t t′<t更早历史记忆片段;
    • 跨轨迹负样本:从其它不同任务的轨迹采样任意记忆片段。

禁止:同轨迹未来时刻 t ′ > t t'>t t′>t样本,绝对不能作为负样本。

3.3 双记忆编码器与动量队列

  1. 在线编码器 KaTeX parse error: Got function '\(' with no arguments as subscript at position 3: E_\̲(̲\boldsymbol q\) :输入当前记忆片段,输出查询表征KaTeX parse error: Can't use function '\(' in math mode at position 13: \boldsymbol \̲(̲\boldsymbol q\);参数会每一步梯度更新。
  2. 动量编码器 KaTeX parse error: Got function '\(' with no arguments as subscript at position 3: E_\̲(̲\boldsymbol k\) :输出键表征KaTeX parse error: Can't use function '\(' in math mode at position 13: \boldsymbol \̲(̲\boldsymbol k\);参数不直接梯度更新,采用动量滑动平均更新:
    KaTeX parse error: Got function '\(' with no arguments as subscript at position 8: \theta_\̲(̲\boldsymbol k\)...
    m m m为动量系数。
  3. 动量队列Queue:存储大量时序感知采样得到的历史键表征;队列先进先出,维持固定大小;队列内全部样本满足时序约束,不存在同轨迹未来泄露样本。

推理阶段:仅使用在线编码器KaTeX parse error: Got function '\(' with no arguments as subscript at position 3: E_\̲(̲\boldsymbol q\);动量编码器与队列只用于训练阶段损失计算,推理不引入额外开销。

3.4 联合损失函数

总损失为智能体原生损失加上动量对比辅助损失:

L t o t a l = L a g e n t + λ ⋅ L m o c o \mathcal L_{total} = \mathcal L_{agent} + \lambda \cdot \mathcal L_{moco} Ltotal=Lagent+λ⋅Lmoco

λ \lambda λ:对比损失权重超参数。

动量对比InfoNCE损失:

KaTeX parse error: Can't use function '\(' in math mode at position 48: ...xp(\boldsymbol \̲(̲\boldsymbol q\)...

KaTeX parse error: Can't use function '\(' in math mode at position 13: \boldsymbol \̲(̲\boldsymbol k\)...为正样本键表征;KaTeX parse error: Can't use function '\(' in math mode at position 13: \boldsymbol \̲(̲\boldsymbol k\)...为队列内负样本; τ \tau τ温度系数。

L a g e n t \mathcal L_{agent} Lagent可以是SFT交叉熵损失,也可以是GRPO等强化学习损失;Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo可以作为插件式辅助损失叠加。推理阶段不改动原有智能体逻辑,记忆检索依旧使用向量相似度。

4 实验设置

数据集

训练轨迹来自WebArena、OSWorld、ToolBench;

测试集区分全部样本,以及长序列子集(轨迹步数>30步)。

AgentMoCo(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Traj数据集:整理公开交互轨迹,提供处理好的记忆片段样本。

基座模型

Qwen3(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)8B(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Instruct。

对比基线

  1. Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)SFT:基础监督微调,无额外记忆优化;
  2. Summary(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Mem:文本摘要记忆基线,每N步对历史做摘要;
  3. Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Retrieval(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Mem:向量检索记忆,训练阶段无对比损失,推理做相似度召回;
  4. Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo:原始通用MoCo,随机采样,允许取同轨迹未来样本(存在因果泄露);
  5. Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo(本文):时序感知采样+双编码器+动量队列。

评测指标

  • 整体任务成功率SR;
  • 长序列子集(>30步)任务成功率;
  • 记忆召回指标:top(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)(\boldsymbol k)检索召回率。

消融变体

  • w/o Temporal(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Sample:去掉时序约束,允许未来样本做负样本(等价Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo);
  • w/o Momentum(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Encoder:去掉动量编码器,直接使用在线编码器做键;
  • w/o Momentum(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Queue:不使用队列,仅batch内负样本。

5 实验结果

5.1 主实验整体性能

方法 WebArena OSWorld ToolBench 平均提升(相对Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)SFT)
Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)SFT 43.1% 40.4% 49.2% (\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)
Summary(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Mem 45.3% 42.2% 51.0% +2.0pp
Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Retrieval(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Mem 46.0% 43.5% 52.3% +3.1pp
Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo(原始MoCo) 45.7% 42.9% 51.8% +2.6pp
Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo 50.7% 47.1% 55.4% +5.9pp

Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo相比Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)SFT平均提升5.9个百分点;单数据集提升4.4(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)7.6pp;

Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo通用动量对比因为因果泄露,收益微弱,甚至低于普通检索记忆基线。

5.2 长序列子集专项结果(>30步)

方法 WebArena长序列 OSWorld长序列 ToolBench长序列
Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)SFT 29.4% 27.2% 34.1%
Summary(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Mem 31.5% 28.8% 36.2%
Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Retrieval(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Mem 33.1% 30.4% 37.5%
Vanilla(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo 32.6% 29.7% 36.8%
Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo 38.7% 36.5% 43.4%

在长视界>30步任务上,Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo相对基线最高提升9.3个百分点;长序列场景增益远大于短序列。

5.3 消融实验(三套基准平均成功率)

配置 平均任务成功率 相对完整Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo下降幅度
完整Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo 51.1% (\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)
w/o Temporal(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Sample(无时序约束) 47.2% (\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)3.9pp
w/o Momentum(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Encoder(去掉动量编码器) 48.0% (\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)3.1pp
w/o Momentum(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Queue(仅batch负样本) 48.6% (\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)2.5pp

消融结论:

  1. 时序感知采样是最大增益来源;取消时序约束,允许未来样本做负样本,性能大幅下滑,证实因果泄露会带来有害梯度信号;
  2. 动量编码器、动量队列均带来正向收益;队列提供更多负样本,提升对比学习表征质量。

6 讨论与局限性

局限性

  1. Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo属于训练阶段辅助损失,推理阶段不会增加模型能力,只优化记忆表征向量质量;不能完全解决超长上下文窗口本身的上下文窗口硬件限制。
  2. 时序感知采样策略依赖轨迹时间戳;对于乱序、异步事件构成的智能体轨迹,采样策略需要进一步适配。
  3. 超参数 λ \lambda λ对比损失权重需要调优;权重过大,会压倒原始智能体训练损失,损害任务策略性能。
  4. 目前实验基于向量检索式记忆架构;迁移至隐式前缀记忆等其它记忆范式有待进一步验证。

启示

  1. 不能直接把CV/NLP通用对比学习方案直接迁移到智能体轨迹;智能体轨迹具备强时序因果约束,随机采样会造成因果泄露,引入错误训练信号。
  2. Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo作为插件式辅助损失,可以叠加SFT、GRPO等多种训练范式,重点优化记忆表征,显著改善长视界任务表现;长序列任务收益尤其突出。

7 结论

本文提出Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo,面向长视界工具调用智能体的动量对比记忆优化框架。设计时序感知正负样本采样,严格禁止同轨迹未来时间步作为样本,规避因果泄露;采用在线(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)动量双记忆编码器与时序感知动量队列;动量对比损失和智能体原始损失联合训练,优化记忆表征质量。

在WebArena、OSWorld、ToolBench开展实验,Agent(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)MoCo相比基线整体任务成功率提升4.4(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)7.6个百分点;在大于30步长序列子集增益最高达9.3个百分点。消融证实时序感知采样是最关键模块;直接套用原始MoCo会因为因果泄露,收益微弱。全套代码、AgentMoCo(\theta_k \leftarrow m\cdot \theta_k + (1‑m)\cdot \theta_q)Traj轨迹数据集、复现脚本开源。

附录简要说明

  • 附录A:记忆片段构造、时序感知采样完整算法伪代码。
  • 附录B :动量更新、InfoNCE损失完整超参数扫描( λ , τ , m \lambda,\tau,m λ,τ,m)。
  • 附录C:各基线实现细节,摘要生成prompt、检索记忆参数。
  • 附录D:完整细分实验数据表,不同轨迹长度分段统计。
  • 附录E:训练脚本、数据集预处理流程,推理评测配置。

相关推荐
武天旭1 小时前
AI安全--AI大模型赋能安全攻防的关键技术
人工智能·安全
荆棘鸟智能1 小时前
河道采砂船识别与轨迹追踪怎么做?检测、跟踪与电子围栏实战思路
人工智能·算法·目标检测
xwz小王子1 小时前
一根光纤上的“触觉触手“:Nature Communications 光纤触觉 微操作 机器人
人工智能·机器人
shxjnpl1 小时前
从 WenetSpeech-Yue 到 SenseVoice:如何通过专项微调提升粤语语音识别效果?
人工智能·语音识别·实时音视频
pt10431 小时前
Cisco设备网络安全系列-17:AI驱动安全应用与量子计算安全影响
网络·人工智能·安全
美狐美颜SDK开放平台1 小时前
视频美颜SDK如何应对快速转头与大幅度面部动作?
android·人工智能·ios·音视频·直播美颜sdk·视频美颜sdk
大耳朵爱学习1 小时前
Andrew Ng深度解析:普通人如何利用AI把想法变成工具,实现工作自动化(小白程序员必看)
运维·人工智能·ai·自动化·大模型·就业·大模型学习
lilihuigz1 小时前
会员网站实战:AI流量下滑后,如何用付费订阅与B2B实现增长
人工智能
中科三方1 小时前
AI时代新攻击面:悬空DNS记录正在成为黑客的低成本入侵入口
服务器·前端·人工智能