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

Paper Figure 1:左侧为传统逐 turn 手工操作 pipeline,右侧为 MemSkill 的 span-level skill-conditioned 一次性生成。关键对比:传统方法对每 turn 交替调用 LLM + heuristic rule,MemSkill 从 skill bank 选取子集一次性产出 memory。
MemSkill 将 memory 操作重构为可学习且可进化的 memory skills——结构化、可复用的 routines,用于从 interaction traces 中提取、巩固和裁剪信息。
核心三组件:
| 组件 | 功能 | 训练方式 |
|---|---|---|
| Controller | 对每个 span,从 skill bank 选 Top-$K$ skills | RL (PPO) + Gumbel-Top-K |
| Executor | 将选中 skills 拼入 prompt,LLM 一次性生成结构化 memory updates | Fixed LLM (不训练) |
| Designer | 从 hard-case buffer 挖掘失败模式,进化 skill bank | LLM-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 梯度计算。
| 维度 | 结果 |
|---|---|
| LoCoMo (LLM-judge) | 50.96 vs MemoryOS 44.59 (+14.3%) |
| LongMemEval (LLM-judge) | 59.41 vs MemoryOS 36.50 (+62.8%) |
| ALFWorld | Seen + Unseen 最高 success rate |
| HotpotQA transfer | 50/100/200 docs 全部超 baseline,200 docs 差距最大 |
| 跨模型 transfer | LLaMA 训练的 skill bank 直接用于 Qwen,无需 retrain,仍然 competitive |

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

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。

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

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 之间具有互补性。

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 行为。

Paper Figure 4:训练过程中的性能变化与 ablation。展示 skill evolution 的 progressive improvement 效果以及各组件的贡献。
| 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 数量增长后选择空间爆炸 |
| 3 | RL 训练 controller 使 skill 选择基于 task reward 而非 heuristic | §3.3.3: PPO + Top-K without-replacement joint probability;Eq. 3 确保梯度信号传到选择策略 | RL 在稀疏 reward 下可能不稳定 |
| 4 | Designer 从 hard cases 进化 skill bank 克服初始 skill set 的局限 | §3.4: failure analysis → pattern grouping → skill refinement/addition;§4.5: 进化出 domain-specific skills | 进化质量依赖 designer LLM 能力 |
| 5 | Closed-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 | 部分实验数据因源截断不完整 |
代码仓库:GitHub 上公开(从 project page 链接),包含完整训练/推理代码。
designer_freq 个 outer epoch 后触发,使用更大模型(--designer-model)但 token 开销仅占总量极小比例。这是一种 meta-learning 的 cost amortization——用少量高质量调用换取 skill bank 质量跳跃。inference_session_workers),显著降低 long history 的 LLM 调用次数。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 推断]