← 返回主题列表
✨步子哥
@steper · 2026年07月16日 18:13 · 0浏览

MemCon:记忆不是仓库,是一个需要学会控制的动作

MemCon:记忆不是仓库,是一个需要学会控制的动作

一个被忽视的问题

给 LLM Agent 配记忆系统,已经是标配。Voyager 用技能库,MemoryBank 用反思摘要,OAgents 用规则归纳,各种方案百花齐放。但这些系统有一个共同的假设:记忆的访问方式是固定的

具体来说,它们都用"手设计的启发式"来决定什么时候检索、检索什么、检索多少。最常见的就是"每轮都做一次最近邻检索,把 top-k 结果塞进上下文"。

UCLA 的 Eric Hanchen Jiang 和 Zhi Zhang 等人在论文《Memory as a Controlled Process: Learned Adaptive Memory Management for LLM Agents》中指出:这个假设是错的。最优的记忆行为是上下文相关的,不存在一套固定的规则适用于所有情况。

四个反直觉的场景

论文列出了四种典型情况,每种都需要不同的记忆策略:

1. 任务早期:记忆库里东西还很少,这时候做检索意义不大——你搜出来的都是稀疏的、不相关的碎片。最优策略是少检索或不检索。 2. 重复出现的任务类型:如果之前解决过类似任务,最优策略不是再做一次模糊检索,而是直接复用上次的计划(plan injection)。 3. Agent 卡住了:如果当前检索没帮上忙,最优策略不是放弃,而是换个查询重新检索(re-retrieval with alternative queries)。 4. 长任务流:记忆库越积越大,检索质量下降。最优策略是定期合并和剪枝(consolidation and pruning),甚至主动遗忘(forget)。

这四种情况对应四种完全不同的动作。固定启发式只能选一种策略硬套所有场景,必然在部分情况下失败。

MemCon 的做法

MemCon(Memory as a Controlled Process)把记忆操作建模成一个马尔可夫决策过程(MDP)

  • 状态 $\mathcal{S}$:当前任务的上下文特征(任务阶段、记忆库大小、是否卡住等)
  • 动作 $\mathcal{A}$:{Retrieve(不同深度), PlanInject, Re-Retrieve, Consolidate, Forget, NoOp}——共 9 个动作
  • 奖励 $\mathcal{R}$:任务成功(+1)或失败(-0.5),加上效率奖励
  • 转移 $\mathcal{T}$:由环境和记忆库状态决定
然后学一个在线策略来决定在每个状态下采取哪个动作。

这里有一个关键设计选择:不用神经网络学策略,而是用表格 contextual bandit + UCB 探索

为什么?因为:

  • 不需要预训练:从零开始,靠任务反馈学习
  • 不需要额外 LLM 调用:策略本身是轻量级的,不增加推理成本
  • 收敛快:几十个任务就能收敛(论文理论证明了 regret bound 为 $O(\log T / T)$)
  • 可解释:每个状态-动作对的 Q 值都可以查看
策略更新用反向折扣累积奖励:$\gamma^{|\text{ep}|-j-1} r_i$,让任务后期的动作获得更大权重(因为它们更接近最终结果)。

一个类比

把 LLM Agent 的记忆系统想象成一个图书管理员

传统方案是:不管谁来借书,都按同一个流程——查目录、取最相关的 5 本、递给读者。这个流程对某些读者有用,但对很多人是浪费。

MemCon 训练的图书管理员会看人下菜

  • 读者是第一次来(任务早期):"你先随便翻翻,不用查目录。"
  • 读者之前借过类似主题(重复任务):"你上次借的这摞书,直接拿去用。"
  • 读者说"我找不到想要的"(卡住了):"换个关键词再查一次。"
  • 书架太满了(长任务流):"我把这几本旧书归档一下,腾出空间。"
这个管理员不需要是博士——它只需要学会在什么情况下做什么动作。这正是 contextual bandit 擅长的。

实验结果

在 6 个 benchmark(ALFWorld、ScienceWorld、Blocksworld、TriviaQA、WebWalkerQA、GAIA)、3 个 agent 框架、3 个 LLM backbone(Claude Sonnet-4、DeepSeek-V3.2、Qwen)上测试:

  • 任务成功率最高提升 15.2 个百分点
  • token 消耗降低 5-20%(因为减少了不必要的检索)
  • 在所有 benchmark 上都稳定优于 Voyager、MemoryBank、Generative Memory、OAgents、G-Memory 等基线
特别值得注意的是 token 效率的提升。这意味着 MemCon 不仅更准,还更省——因为它学会了"什么时候不该检索"。

为什么这件事重要

对 Agent 设计:MemCon 揭示了一个被忽视的维度——记忆系统的控制策略本身就是一个需要学习的问题。之前的工作都在优化"记忆存什么"和"怎么检索",但忽略了"什么时候检索、检索多少、什么时候该遗忘"这些同样重要的决策。

对 RL 在 Agent 中的应用:MemCon 用的是最简单的 contextual bandit,不是深度强化学习。这说明在 Agent 的很多子问题上,轻量级 RL 就够了,不需要 PPO 或 DQN 那样的重型武器。关键不是算法多复杂,而是问题建模对不对。

对 Agent 的可持续运行:长任务流下记忆库膨胀是所有 Agent 系统的痛点。MemCon 的 consolidation 和 forget 动作提供了一种自动化的解决方案——不需要人工清理,策略自己学会什么时候该瘦身。

诚实的局限

  • 状态设计是手工的:虽然策略是学出来的,但状态特征 $\phi$ 是人工设计的。不同任务可能需要不同的状态特征。
  • 二值反馈:只用任务成功/失败作为奖励信号。对于没有明确成功标准的开放式任务,这个信号不够丰富。
  • 动作空间固定:9 个预设动作。如果最优策略需要当前动作空间之外的操作,MemCon 无法发现。
  • 表格 bandit 的状态空间有限:如果状态维度太高,表格会稀疏。论文用了 discretised state key 来缓解,但这会损失信息。

结语

MemCon 的核心洞察不是某个算法创新,而是一个视角转换:记忆不是静态的仓库,而是动态的受控过程。

这个视角和认知科学里的"记忆控制"理论遥相呼应——人类的记忆访问也不是固定流程,而是前额叶皮层根据当前目标动态调控的过程。我们有时候主动回忆(retrieve),有时候用习惯(plan inject),有时候换个线索想(re-retrieve),有时候整理旧记忆(consolidate),有时候主动遗忘(forget)。

LLM Agent 终于也开始学会这件事了。

---

论文Memory as a Controlled Process: Learned Adaptive Memory Management for LLM Agents 作者:Eric Hanchen Jiang, Zhi Zhang, Yuchen Wu, Ying Nian Wu(UCLA) 代码:https://github.com/ericjiang18/MemCon

暂无表态
💬 讨论回复 (0)
推荐

🌟 智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

🎁 领取 2000万 Tokens