MemSkill: Learning and Evolving Memory Skills for Self-Evolving Agents

agent 2602.02474
memoryself-evolvingskill-learningreinforcement-learningLLM-agent

MemSkill: Learning and Evolving Memory Skills for Self-Evolving Agents #

§1 TL;DR #

MemSkill 将 LLM agent 的 memory 操作从固定 pipeline(add/update/delete)升级为可学习、可进化的 skill bank:一个 RL 训练的 controller 选取 Top-K skill,一个 LLM executor 一次性生成 skill-guided memory,一个 designer 从 hard cases 进化 skill bank;在 LoCoMo、LongMemEval、HotpotQA、ALFWorld 上超越 hand-designed baselines 且跨模型 transfer。


§2 痛点 / 方法 / 结果 #

Q1 — 痛点 #

现有 LLM agent memory 系统依赖少量 静态、手工设计 的操作原语(add/update/delete/skip),将人类先验硬编码进流程。三个核心缺陷:

  1. 刚性:固定操作在多样交互模式下适应性差,分布漂移时脆弱。
  2. 粒度受限:逐 turn 处理,面对长历史时效率低下、scaling 差。
  3. 不可演化:操作原语无法从数据中学习或自我改进。
  4. Figure 1: 对比 prior turn-level handcrafted 操作与 MemSkill span-level skill-conditioned 生成

    Paper Figure 1:左侧为传统逐 turn 手工操作 pipeline,右侧为 MemSkill 的 span-level skill-conditioned 一次性生成。关键对比:传统方法对每 turn 交替调用 LLM + heuristic rule,MemSkill 从 skill bank 选取子集一次性产出 memory。

    Q2 — 方法 #

    MemSkill 将 memory 操作重构为可学习且可进化的 memory skills——结构化、可复用的 routines,用于从 interaction traces 中提取、巩固和裁剪信息。

    核心三组件:

    组件功能训练方式
    Controller对每个 span,从 skill bank 选 Top-$K$ skillsRL (PPO) + Gumbel-Top-K
    Executor将选中 skills 拼入 prompt,LLM 一次性生成结构化 memory updatesFixed LLM (不训练)
    Designer从 hard-case buffer 挖掘失败模式,进化 skill bankLLM-guided 分析 + 生成

    核心技术壁垒:variable-size skill bank 上的 Top-$K$ without-replacement RL policy——controller 不使用固定维度 action head,而是对每个 skill 单独用 shared scorer 打分后 softmax,使 policy 天然兼容 skill bank 尺寸变化(进化新 skill 无需重训结构)。通过 Eq. 3 的因式分解将 Top-$K$ 无放回选择转为可微分 joint log-probability,用于 PPO 梯度计算。

    Q3 — 结果 #

    维度结果
    LoCoMo (LLM-judge)50.96 vs MemoryOS 44.59 (+14.3%)
    LongMemEval (LLM-judge)59.41 vs MemoryOS 36.50 (+62.8%)
    ALFWorldSeen + Unseen 最高 success rate
    HotpotQA transfer50/100/200 docs 全部超 baseline,200 docs 差距最大
    跨模型 transferLLaMA 训练的 skill bank 直接用于 Qwen,无需 retrain,仍然 competitive

    §3 架构 / 方法图 #

    Figure 2: MemSkill 架构总览

    Paper Figure 2:MemSkill 完整架构。给定 interaction trace,按 span 处理:controller 从 shared skill bank 选 Top-K skills,executor 在一次 LLM 调用中应用 skills 更新 trace-specific memory bank。构建的 memory 在 training queries 上评估产生 task reward 给 controller,同时 query-centric failures 进入 sliding hard-case buffer。Designer 定期从 buffer 中挖掘 representative hard cases,refine existing skills 并 propose new ones。

    以下 Mermaid 图补充展示 closed-loop 状态机:

    stateDiagram-v2 [*] --> SkillUsage SkillUsage --> SkillEvolution: designer_freq epochs reached SkillEvolution --> SkillUsage: evolved bank ready state SkillUsage { [*] --> SpanProcessing SpanProcessing --> Controller: embed span + memories Controller --> TopKSelection: Gumbel-Top-K TopKSelection --> Executor: selected skills Executor --> MemoryBank: INSERT/UPDATE/DELETE MemoryBank --> Evaluation: training queries Evaluation --> RewardSignal: F1 / success RewardSignal --> Controller: PPO update Evaluation --> HardCaseBuffer: failures logged } state SkillEvolution { [*] --> FailureAnalysis FailureAnalysis --> PatternGrouping: storage/retrieval/quality PatternGrouping --> SkillRefinement: propose changes SkillRefinement --> NewSkillBank: add/refine skills }

    双存储设计

    • Memory Bank(per-trace):存储每个 training trace 的具体 memory items。
    • Skill Bank(shared across traces):存储可复用的 memory skills,初始化为 4 个基础原语(Insert/Update/Delete/Skip),经 designer 进化为 domain-specific skills。

    §4 作者证明 #

    无形式化作者证明 — 仅实证

    MemSkill 没有提供收敛性证明或成功率的形式化 bound。验证完全基于实证实验。

    符号表 #

    符号含义
    $x_t$第 $t$ 步的 text span
    $M_t = \{m_{t,1}, \dots, m_{t,R}\}$已检索的 memory items
    $\bar{m}_t$memory embedding 均值 $\frac{1}{R}\sum_{r=1}^{R} e(m_{t,r})$
    $e(\cdot)$固定 shared embedding model
    $f_{\theta}^{\mathrm{ctx}}, f_{\theta}^{\mathrm{skill}}$可训练 encoder networks
    $h_t$context representation
    $u_i$skill $s_i$ 的 representation
    $f_{\theta}^{\mathrm{score}}$shared scorer network
    $p_{\theta}(i \mid h_t)$skill 选择概率分布
    $A_t = (a_{t,1}, \dots, a_{t,K})$Top-$K$ 有序选择
    $\mathcal{S}_t$第 $t$ 步时的 skill bank

    关键方程 #

    Eq. 1 — State & Skill Representations:

    $$h_{t} = f_{\theta}^{\mathrm{ctx}}\!\left([e(x_{t}); \bar{m}_{t}]\right), \quad u_{i} = f_{\theta}^{\mathrm{skill}}\!\left(e(\mathrm{desc}(s_{i}))\right)$$

    物理意义:将当前 context(span + memory state)和每个 skill 的 description 压缩到共享 latent space,为 compatibility scoring 做准备。这让 controller 天然兼容 skill bank 尺寸变化。

    Eq. 2 — Scoring & Selection Distribution:

    $$z_{t,i} = f_{\theta}^{\mathrm{score}}\!\left([h_{t}; u_{i}]\right), \quad p_{\theta}(i \mid h_{t}) = \mathrm{softmax}(z_{t})_{i}$$

    物理意义:concat state 与 skill representation → shared scorer → softmax 得到 variable-size 上的概率分布。避免固定维度 action head 的限制。

    Eq. 3 — Top-$K$ Without-Replacement Joint Probability:

    $$\pi_{\theta}(A_t \mid h_t) = \prod_{j=1}^{K} \frac{p_{\theta}(a_{t,j} \mid h_t)}{1 - \sum_{\ell < j} p_{\theta}(a_{t,\ell} \mid h_t)}$$

    物理意义:将 Top-$K$ 无放回抽样分解为条件概率的连乘,每步的分母是去掉已选 skills 后的剩余概率质量。这给 PPO 提供了可微分的 joint log-probability。

    6 项验证检查 #

    #检查项状态
    1Eq. 1 维度一致性:concat $[e(x_t); \bar{m}_t]$ 输入 $f_\theta^{\mathrm{ctx}}$ 产出 $h_t$✓ embedding 维度可对齐
    2Eq. 2 softmax 归一化:$\sum_i p_\theta(i \mid h_t) = 1$✓ softmax 定义保证
    3Eq. 3 分母非零:$1 - \sum_{\ell 0$ 当 $j \leq K <\mathcal{S}_t$✓ 总概率质量 = 1,选 K 个后仍有余量
    4Eq. 3 边界情况:$K=1$ 时退化为单 categorical $p_\theta(a_{t,1} \mid h_t)$✓ 分母 = 1
    5进化兼容性:新 skill 加入后 $\mathcal{S}_t$ 增长,Eq. 2 的 softmax 自动扩展✓ 无需结构修改
    6RL reward assignment:episode reward 分配到所有 span 的 $A_t$ selections✓ PPO credit via log-prob sum

    §5 实验与数据 #

    主实验:LoCoMo & LongMemEval #

    Table 1: LoCoMo and LongMemEval results

    Paper Table 1:LoCoMo 和 LongMemEval 上的主结果。MemSkill (LLaMA) 在 LoCoMo LLM-judge 上达 50.96(vs MemoryOS 44.59),在 LongMemEval 上达 59.41(vs 36.50),且 LLaMA→Qwen 跨模型 transfer 仍 competitive。

    关键观察:MemSkill 的提升在 LongMemEval 上尤为显著(+62.8%),说明 skill-conditioned memory 对长 horizon memory 评估特别有效。跨模型 transfer 证明 evolved skills 编码的是 model-agnostic 的 memory behaviors。

    ALFWorld 具身交互 #

    Table 2: ALFWorld results

    Paper Table 2:ALFWorld seen 和 unseen splits 的 success rate。MemSkill 在两个 split 上均达到最高值,证明 skill-guided memory 不仅帮助 offline QA 也助力 long-horizon embodied decision making。

    HotpotQA Distribution Shift #

    Table 3: HotpotQA transfer results

    Paper Table 3:LoCoMo 上训练的 skill bank 直接 transfer 到 HotpotQA(50/100/200 docs)。Skill budget (Top-K) 越大,在难度越高的 200-doc 设置上优势越明显,最优 $K=7$。

    该实验证明 compositional skill application 在高难度任务上的价值:与典型 top-K retrieval 饱和不同,MemSkill 的性能随 K 增大持续提升,说明 skills 之间具有互补性。

    Skill Evolution 分析 #

    Figure 3: Evolved skills visualization

    Paper Figure 3:展示 LoCoMo 和 ALFWorld 上进化出的代表性 skills。LoCoMo 的 skills 聚焦 temporal context 和 activity details;ALFWorld 的 skills 优先 action constraints 和 object locations。

    进化出的 skills 呈现明显的 domain specialization:对话场景需要"何时发生"的时间线索,具身场景需要"物体在哪"的空间线索。这验证了 designer 能从 hard cases 中提取 domain-relevant 的 memory 行为。

    Figure 4: Training dynamics / ablation

    Paper Figure 4:训练过程中的性能变化与 ablation。展示 skill evolution 的 progressive improvement 效果以及各组件的贡献。


    §6 论证链 #

    Step论点支撑反驳风险
    1固定 memory operations 是 LLM agent memory 系统的根本瓶颈§1: 三个 desiderata 分析;§2: 现有系统全部依赖手工原语某些特定场景下手工规则可能已足够
    2将 memory ops 提升为可学习 skill bank 可解决刚性问题§3.2: skill 结构定义;§3.3: controller+executor 实现 span-level skill-conditioned 生成skill 数量增长后选择空间爆炸
    3RL 训练 controller 使 skill 选择基于 task reward 而非 heuristic§3.3.3: PPO + Top-K without-replacement joint probability;Eq. 3 确保梯度信号传到选择策略RL 在稀疏 reward 下可能不稳定
    4Designer 从 hard cases 进化 skill bank 克服初始 skill set 的局限§3.4: failure analysis → pattern grouping → skill refinement/addition;§4.5: 进化出 domain-specific skills进化质量依赖 designer LLM 能力
    5Closed-loop alternation 实现 skill usage 和 skill evolution 的协同增强§3.5: 交替 Phase 1 (learning) 和 Phase 2 (evolution);post-evolution exploration 促进新 skill 采纳交替频率是 hyperparameter
    6实验验证:多 benchmark、跨模型、跨 domain 的一致性提升§4: LoCoMo +14.3%、LongMemEval +62.8%、ALFWorld best、HotpotQA transfer 成功;LLaMA→Qwen transfer部分实验数据因源截断不完整

    §7 实现 cross-reference #

    代码仓库:GitHub 上公开(从 project page 链接),包含完整训练/推理代码。

    关键实现细节 #

    1. Gumbel-Top-K 与 straight-through estimator:训练时使用 Gumbel-Top-K 做可微分采样,推理时取 argmax Top-K。controller 的 scorer network 是轻量级 MLP(非 LLM),使得 per-span skill scoring 开销极小。
      1. Designer 的非对称 compute 分配:Designer 只在 designer_freq 个 outer epoch 后触发,使用更大模型(--designer-model)但 token 开销仅占总量极小比例。这是一种 meta-learning 的 cost amortization——用少量高质量调用换取 skill bank 质量跳跃。
        1. Span-level 处理的效率优势:不做逐 turn LLM 调用,而是按 fixed-length chunk 处理 + 并行化(inference_session_workers),显著降低 long history 的 LLM 调用次数。
        2. 核心技术壁垒(详述) #

          Variable-size action space 上的 Top-$K$ RL policy 是本文最难复现的核心:传统 RL 用固定维度 action head,skill bank 变化即需重训。MemSkill 的 shared scorer 设计(Eq. 2)+ 因式分解 joint probability(Eq. 3)让 skill bank 进化后 controller 仅需 fine-tune 而非重构,形成了 skill evolution 的可行性前提。没有这个设计,closed-loop 无法成立。

          [实现未公开 — 具体文件行号不可引用,仓库结构从 README 推断]