"OPD-Evolver: Cultivating Holistic Agent Evolver via On-Policy Distillation" 论文笔记

LV-NUS Lab + 复旦 + 北大 + 字节的工作,目前挂在 Arxiv 26.06 上。当前的自进化 Agent 都把记忆当成自进化的定义,但存下经验 ≠ 学会怎么从经验里进化 。本文提出 OPD-Evolver ,一个慢-快协同进化框架 :快环里 Agent 与四级记忆层级交互做 test-time 进化,慢环里用结果校准的记忆归因+ 特权后见通过 on-policy distillation 把「选、用、写、管」四种能力蒸馏进可部署策略本身

背景

什么定义了一个自进化 Agent?直觉答案是 Memory------保留过去轨迹、检索历史教训、复用积累技能,似乎就构成了 Agent 随时间变强的物质基础。这种直觉让记忆成了现代 Agentic 基座模型和 Agent 系统里不可或缺的组件,尤其在交互环境里:失败暴露隐藏约束、成功 rollout 暴露可复用策略、奖励把行为锚定在环境反馈上

但作者的核心论断很尖锐:记忆只是自进化的基底,而不是它的定义 。尽管记忆系统、技能库、反思机制、自我改进流水线遍地开花,自进化这个概念本身仍然是含糊未定义的。很多 Agent 能保留经验、能把经验塞进 prompt,但能把经验真正转化成持续行为改进的却少得多。作者把一个合格的 agent evolver 拆成四种耦合能力:

  • ❶ 经验选择(experience selection):从一个不断增长且带噪的库里识别出有用记忆

  • ❷ 经验接地执行(experience-grounded execution):把选中的经验转化成有效的多轮动作

  • ❸ 经验写入(experience writing):从新轨迹与反馈里提炼可复用知识

  • ❹ 经验管理(experience management):随时间对记忆打分、整合、更新、退休

关键在于这四种能力彼此不是相互独立的 ,弱选择会放大检索噪声,弱执行让 Agent 永远依赖 prompt-time 指导,弱写入会污染未来记忆,弱管理导致长期退化。作者点出现有方法的两个缺陷:(1)任务奖励只对「执行」提供了相对直接的监督,却没为「记忆选择/写入/管理」提供监督信号(2)如何在一个策略里同时训练这些耦合能力而不让它们互相干扰 ,仍然没被认真研究。现有工作大多只优化进化流程的某一个小块 (检索经验、使用经验、把经验蒸进参数、或者纯做记忆架构工程),所以能在某个特定场景里变强,却始终成不了 holistic evolver

方法

问题形式化

考虑一个终身 Agent,面对的是一串交互任务流而非单个孤立 query。第 \(t\) 轮,参数为 \(\theta\) 的 Agent 收到任务 \(x_t \sim D\),通过观察 \(o_{t,i}\) 与动作 \(a_{t,i}\) 与环境交互、拿到反馈 \(r_{t,i}\),得到 episode \(\tau_t = \{(o_{t,i}, a_{t,i}, r_{t,i})\}{i=1}^{H_t}\),任务回报 \(R_t = \sum_i r{t,i}\)

与用完就丢 \(\tau_t\) 的标准评测不同,本文的 Agent 维护一个演化中的可复用经验库 \(M_t\) ,未来行为取决于历史怎么被选、用、写、维护 ,先从库里检索出带噪候选集 \(C_t\)、再选出紧凑上下文 \(S_t\):

\C_t = \\mathrm{Ret}(x_t, M_t),\\quad S_t = \\mathrm{Sel}_\\theta(x_t, C_t) \\

其中 \(\mathrm{Ret}\) 是非参数检索器 ,\(\mathrm{Sel}\theta\) 是 Agent 自己的选择行为,\(S_t \subseteq C_t\)。同一个 \(\pi\theta\) 用 \(S_t\) 执行,观察结果后再吐出经验更新 \(\Delta_t\)(Agent 自己控制更新)。流式目标不仅要最大化任务表现,还要保住库的未来效用:

\\\max_\\theta \\liminf_{T\\to\\infty} \\frac{1}{T}\\sum_{t=1}\^T \\mathbb{E}\[R_t + \\lambda\\, U(M_{t+1}) \]

\(U(M_{t+1})\) 是更新后库的下游可用性,\(\lambda\) 控制 Agent 对未来可进化性的重视程度。这个 \(\lambda U(M_{t+1})\) 项把攒记忆和攒对未来有用的记忆在目标函数层面就区分开了

快环(Fast Evolution Loop)

快环对每个任务在线跑,不改参数 ,职责是执行前把 \(M_t\) 压成小而可操作的上下文、执行后把新 episode 变回可复用经验

  • 四级层次记忆 :作者把 \(M_t\) 组织成四个互补 tier(\(L = \{\text{traj}, \text{tip}, \text{skill}, \text{tool}\}\))

    • \(M^{traj}\) 保存 episodic 证据(忠实但冗长)

    • \(M^{tip}\) 存局部警告或启发式

    • \(M^{skill}\) 抽象可复用流程

    • \(M^{tool}\) 存可执行命令或代码模板(紧凑但需要足够证据才能蒸出来)

    分层的理由很实在:Agent 经验有不同的复用粒度,完整轨迹忠实但啰嗦,skill/tool 紧凑但必须从足够证据里蒸馏

  • 检索与选择 :给定任务 \(x_t\) 和可选环境元数据 \(e_t\),组 query \(z_t = x_t; e_t\),按 embedding 相似度从每个 tier 取 top-\(K\)。这里做成高召回就是为了把潜在有用的记忆都捞上来,但也带进陈旧、冗余、任务错配的项。然后 selector(Agent 自己的选择行为)把 \(C_t\) 压成给 Agent 看的记忆上下文。紧凑上下文 \(c_t\)​ 就是外部记忆与执行策略之间的操作接口

  • 经验执行与写入 :rollout 时 actor 以 \(c_t\) + 任务 + 交互历史为条件:\(a_{t,i} \sim \pi_\theta(\cdot \mid x_t, o_{t,\le i}, a_{t,<i}, c_t)\)。episode 结束后,同一个 Agent 决定哪些 tier 该更新、每个 tier 写几条:\(\Delta^l_t = \{m^l_{t,j}\}_{j=1}^{n^l_t}\),条数 \(n^l_t\) 由 Agent 自己定,所以快环能写进四个 tier 的任意子集而不必遵循固定 schema

  • 周期性库维护 :除了逐任务写入,每 \(Q\) 个任务 Agent 会进入一次多轮交互,用 lookup / merge / delete 对库做维护。同时快环会 log 下检索候选、选中记忆、结果、新建记忆 id、维护动作。这些 log 对即时执行没用,但恰恰是慢环用来估记忆价值、蒸馏 evolver 的后见证据

慢环(Slow Evolution Loop)

快环让 Agent 攒经验,但不保证用得好。一个随手的 Agent 并不知道哪些记忆有帮助、怎么把执行接地在它们上面、什么值得成为记忆、什么时候更新库对未来有益。慢环通过把 Agent 自己的交互流变成监督 来训练这四种耦合能力。而每个任务后唯一可信的外部信号只有环境反馈 \(R_t\),所以核心问题就是怎么把这个标量结果反传到选择、执行、写入、维护的决策上

  • 结果校准的记忆归因 。对每条记忆 \(m\),只在它确实被检索到 的任务上估其价值,这样比较是候选受控而非被无关任务混淆的。设 \(g(t)\) 是第 \(t\) 轮的任务组,定义 \(\Omega_g^-(m) = \{t: g(t)=g,\ m\in C_t\setminus S_t\}\)(被检出但没被选)和 \(\Omega_g^+(m) = \{t: g(t)=g,\ m\in S_t\}\)(被选中)。归因为

    \(\hat{A}(m) = \sum_g \rho_g(m)\big(\mathbb{E}{t\in\Omega_g^+(m)}R_t - \mathbb{E}{t\in\Omega_g^-(m)}R_t\big)\)(被选中的 R 均值 - 被检索但没选的 R 均值

    其中 \(\rho_g(m) = |\Omega_g^+(m)|/(|\Omega_g^+(m)| + |\Omega_g^-(m)|)\) 根据数量进行可靠程度的加权,然后再转成记忆分数

    \(V(m) = \alpha_{l(m)}\,\gamma(m)\,\hat{A}(m),\quad \gamma(m) = 1 - \frac{1}{\sqrt{1 + N^+(m)}}\)$

    \(\alpha_{l(m)}\) 是 tier 先验,\(\gamma(m)\) 是置信因子 (被选次数越多越自信)。这个校准把延迟环境反馈变成了稠密后见标签 :高 \(V(m)\) 的记忆成为本该被选/用/存的证据,低价值的暴露出 evolver 该学会忽略的噪声

  • 统一的后见自蒸馏 。这是全文最核心的设计,用校准后的流在单一 OPD 原则 下训练同一个 evolver。设 \(K = \{\text{sel}, \text{act}, \text{write}, \text{maint}\}\),对每个生命周期决策 \(k\),学生只看公开输入 \(z^k\),而教师额外看到特权后见视图 \(h^k\)​。二者的输入情况见公式 (1)

    四种能力各自看到不同的特权信息:❶ 选择 看到每个检出候选的价值;❷ 执行 把有价值的选中记忆内化,是让学生在没有记忆的条件下去解题**(\(S^+_t\) 是有价值的选中记忆、\(\tau^+_t\) 是同组的成功轨迹作为教师上下文);** ❸ 写入 看到哪些产出的记忆后来真的变得有价值;❹ 维护 看到校准诊断 \(D^{mem}_q\)(含价值、置信、使用统计 \(\nu(m)\)、冗余分 \(\kappa(m_i,m_j)\))来产 merge/delete 工具调用轨迹

    \\\begin{aligned} (z\^{sel}_t, h\^{sel}_t) \&= \\big(x_t, C_t\\big),\\ \\{(m, V(m))\\}_{m\\in C_t} \\\\ (z\^{act}_t, h\^{act}_t) \&= x_t,\\ (S\^+_t, \\tau\^+_t) \\\\ (z\^{write}_t, h\^{write}_t) \&= (x_t, \\tau_t, R_t, S_t),\\ \\{(\\tilde m, V(\\tilde m))\\}_{\\tilde m\\in\\Delta_t} \\\\ (z\^{maint}_q, h\^{maint}_q) \&= (M_{qQ}, H_{qQ}, T),\\ D\^{mem}_q \\end{aligned} \\

    对每个 \((z^k, h^k)\),学生先在部署条件 下采一个 on-policy 输出 \(\hat y^k\)​,教师在同样的学生前缀 上评估 token 级差异 \(\delta_{k,n} = D_{tok}\big(\mathrm{sg}p\^{\\bar T}_{\\theta,n}\,\|\,p^S_{\theta,n}\big)\)(全词表 KL,教师那侧 stop-gradient)。统一的慢环目标就是对学生访问过的前缀求 token 级蒸馏损失:L_{slow}(\\theta) = \\sum_{k\\in K} \\mathbb{E}\\Big\[\\frac{1}{L_k}\\sum_{n=1}\^{L_k} \\delta_{k,n}\\Big\]

    要点在于 teacher 和 student 是同一个 evolver,只是教师被喂了部署时拿不到的 attribution 增强证据(候选记忆价值、轨迹片段、写入记忆的未来效用、库级诊断)。蒸馏之后只把面向学生的行为部署回快环,所以 Agent 在测试时无需特权反馈就能施展这些 evolver 能力

实验

训练数据 :从 7,000 个交互 Agent 任务 构造,AWM(Agent World Model,3000)+ nvidia/Nemotron-Terminal-Corpus(2000)+ EnvScaler(2000),全部与评测基准不相交 。骨干用 QWEN3-4B-INSTRUCT-2507 和 QWEN3.5-9B,检索用 QWEN3-EMBEDDING-0.6B,检索 50 个候选,\(Q=30\),特权教师上下文最多保 20 条记忆,监督最低分数 0.01

评测基准LifelongAgentBench (DB/OS)、MemoryArena (Math/Physics)、AMA-Bench (因果推断 CI / 状态更新 SU / 状态抽象 SA)、InterCode (Bash/CTF/SQL)、具身环境 MiniHack(Room/Maze/KeyRoom)

公平性设定:所有 memory-based 方法(含 OPD-Evolver)都从空库开始评测,只从评测流里累积记忆;任务后不给 ground-truth 也不给专家解,只有和所有方法一样的环境反馈;对于 traning-based 方法都使用 MiniHack 的训练集进行训练并在 MiniHack 和 InterCode 的测试集上面去比较

Baseline:memory-augmented(ExpeL、AWM、Cheatsheet、MemP、ReasoningBank、EvolveR、MemEvolve)+ training-based(SFT、GRPO、Skill0、MemRL、Complementary RL)

主要结果

  • 对比记忆系统 SOTA:在同骨干下,4B 和 9B 都在全部 10 个子集上超过所有记忆 baseline

  • 小模型挑战巨型模型:OPD-Evolver-9B 在 9/10 子集上超过 STEP-3.5-FLASH(196B),在 6/10 子集上超过 QWEN3.5-397B-A17B。这说明生命周期级进化能让一个紧凑 Agent 与远大于它的模型掰手腕,这条 framing 挺有冲击力

  • 对比 training-based 方法:在 6 个子集里赢 5 个。相比 GRPO,在 Maze、KeyRoom、Bash/CTF/SQL 都更好;相比 Complementary RL,在最难的 MiniHack 子集(Maze、KeyRoom)继续拉开;相比 Skill0 在 SQL 上高约 5.8%。作者的解读是 OPD-Evolver 学到的是超越 task-level reward fitting 的、更可迁移的选/用/写机制

消融实验

在 InterCode(Bash/CTF/SQL)上用 4B 消融五个组件:

  • 去掉 Memory Attribution(换成简单的频率校准分)→ 掉最多 (均值 38.67% → 32.13%,三子集分别降 4.96/7.31/7.36),说明结果校准归因是整套的地基

  • 去掉 Slow Evolution(移除 OPD)同样致命(均值降到 33.10%),证明特权后见必须被蒸馏进可部署策略,光有快环没用模型还得学会怎么用经验

  • 去掉 Selection(退化成相似度取 top-5)→ SQL 45.86 → 42.04;去掉 Writing Distillation → CTF 34.00 → 29.00;去掉 Maintenance 也掉。校准归因、学习式选择、记忆写入、库维护必须联合训练

框架分析

  • 选择/写入蒸馏的效果:选中的记忆和写入的记忆的中位分都有所提升,说明它降低了低效检索噪声,而不只是把几个高分离群点往上挪;也说明 evolver 写的记忆不只是格式更好,而是更可靠地对下游有用

  • 经验内化的效果 :把训练后的 OPD-Evolver 去掉外部记忆 \(M\)、仅用于执行 ,和原始骨干比每个箭头都朝「更高成功率 + 更少步数」移动(9B 在 Bash/CTF/SQL 上成功率提升约 3~7 点、轨迹最多缩短 2.5 步)。这直接证明 OPD-Evolver 把高价值记忆真正转化成了更直接高效的行为,而不只是推理时检索到更好的上下文

  • Case Study :LifelongAgentBench-OS 任务里,vanilla 模型选了宽泛的目录/配置记忆,OPD-Evolver 只留下直接支撑「建文件、设权限、按修改时间排序」的 modification-log skill 和 permission tip;MiniHack-Room 失败案例里,vanilla 只写「验证目标、加动作校验器」这类泛泛建议,而 OPD-Evolver 从失败轨迹里写出更因果的可复用 tip「Exploring adjacent is insufficient」,说明它学会了把失败转成面向未来的紧凑记忆

总结

OPD-Evolver 的核心贡献是把自进化 Agent从**「能存经验」** 推进到**「能把经验持续转化成自身进化能力」**。先给合格 agent evolver 下了个明确定义(选/用/写/管四种耦合能力),再用一套慢-快框架把它落地------快环在线做 test-time 记忆交互,慢环用结果校准归因 + 特权后见做统一的 on-policy self-distillation,把四种能力一次性蒸进同一个策略

快环-慢环的双层设计很有巧思,而且 teacher 与 student 是同一个模型、只差特权上下文。不过有一个问题值得思考一下:慢环对特权后见的质量高度依赖,而这些后见标签本身是估出来的 。\(V(m)\) 依赖 \(\hat A(m)\) 的组内期望,而组内样本量 \(N^+(m)\) 在流式评测早期往往很小,\(\gamma(m)\) 虽然做了置信降权,但冷启动阶段的归因噪声怎么不污染蒸馏目标,正文没细谈。换句话说,教师的特权到底有多可信,取决于归因估计收没收敛

论文标题:OPD-Evolver: Cultivating Holistic Agent Evolver via On-Policy Distillation

机构:LV-NUS Lab、复旦大学(FDU)、北京大学(PKU)、字节跳动(Bytedance Inc.)

核心贡献者:Guibin Zhang, Xun Xu(共同一作);通讯:Xiaobin Hu, Shuicheng Yan

arXiv:2606.17628v1(2026.06)

关键词:Agent Evolver, Slow-Fast Co-Evolution, On-Policy Distillation (OPD)

相关推荐
绵满1 天前
"MemEvolve: Meta-Evolution of Agent Memory Systems" 论文笔记
多智能体·智能体记忆
绵满2 天前
"Collaborative Memory: Multi-User Memory Sharing in LLM Agents with Dynamic Access Control" 论文笔记
多智能体·智能体记忆
wangxin2085 天前
别让模型猜:语言解压——把压缩的关系与言外之意变成可计算的分叉
人工智能·多智能体·大模型训练·语言学·coordclaw·语义解压
绵满6 天前
"AgentX: Towards Agent-Driven Self-Iteration of Industrial Recommender Systems" 论文笔记
大模型·推荐系统·多智能体
wangxin2086 天前
大模型稀疏注意力和MoE的宽度丢失与多智能体的维度补充
人工智能·ai·多智能体·管理学·组织管理·coordclaw·稀释注意力
wangxin2089 天前
多智能体协作收敛效率关键:大模型幻觉和角色视角
人工智能·ai·多智能体·团队协作·管理学·组织管理·coordclaw
zhoupenghui1689 天前
【AI大模型应用开发】【项目实战】35.基于A2A协议的智能助手(多智能体)(三)项目实现之天气MCP服务器&票务员MCP服务器&订票MCP服务器
agent·多智能体·mcp·a2a·天气mcp服务器·票务员mcp服务器·订票mcp服务器
wangxin20810 天前
同一只股票三个 AI 写出三种段位:CoordClaw 多智能体如何产出投研级股评
人工智能·多智能体·团队协作·管理学·组织管理·coordclaw·ai数字社会
周航宇JoeZhou13 天前
JP3-2-3-MyItem智能业务
java·多智能体·rag·智能体·springai·mcp·skills