Agentic Memory(AgeMem)
整理日期:2026-08-05
论文:Agentic Memory: Learning Unified Long-Term and Short-Term Memory Management for Large Language Model Agents
PDF:ACL Anthology
1. 一句话总结
AgeMem 训练 LLM Agent 自己判断:什么应该记住或忘掉、什么时候检索旧信息,以及当前对话太乱时应该总结或过滤什么。
它的重点不是发明新的记忆数据库,而是训练一个更聪明的“记忆管理员”。
2. 长期记忆与短期记忆
长期记忆(LTM)
类似用户档案,可以跨会话保存:
- 用户偏好;
- 重要事实;
- 历史经验;
- 可复用的任务知识。
短期记忆(STM)
类似当前桌面上摊开的材料,包括:
- 当前对话;
- 当前任务;
- Agent 的中间结果;
- 从长期记忆中检索出的信息。
上下文窗口有限,所以 Agent 需要不断整理这张“桌面”。
3. 论文要解决的问题
传统系统通常由程序员设置固定规则,例如:
- 每隔若干轮对话总结一次;
- 每次回答前固定检索三条记忆;
- 上下文超过长度后删除旧内容。
这些规则不够灵活。AgeMem 的目标是让 Agent 根据当前任务,自主决定何时进行记忆操作。
4. 六个记忆工具
| 工具 | 管理对象 | 功能 |
|---|---|---|
ADD | LTM | 保存新信息 |
UPDATE | LTM | 修改已有记忆 |
DELETE | LTM | 删除错误或过时记忆 |
RETRIEVE | STM | 从长期记忆检索信息并加入当前上下文 |
SUMMARY | STM | 将一段长对话压缩为摘要 |
FILTER | STM | 从当前上下文移除无关内容 |
示例:
用户:我喜欢每次学习 60 分钟 Agent:ADD“用户喜欢 60 分钟学习” 用户:60 分钟太短,以后改成 120 分钟 Agent:UPDATE“60 分钟”→“120 分钟” 用户:按照我的学习习惯安排课程 Agent:RETRIEVE“用户喜欢 120 分钟学习”5. 三阶段训练
Stage 1:学习记什么
Agent 先接触一些信息,但暂时不知道最后会被问什么。它需要判断哪些内容未来可能有用,并选择性写入长期记忆。
Stage 2:学习如何整理当前上下文
系统清空短期上下文,但保留长期记忆,然后加入大量无关信息。Agent 需要通过FILTER或SUMMARY控制噪声和上下文长度。
Stage 3:联合使用记忆完成任务
正式问题出现后,Agent 需要:
- 从长期记忆中检索相关信息;
- 管理当前上下文;
- 完成推理并回答问题。
完整流程:
提前接触信息 ↓ 选择性写入长期记忆 ↓ 加入无关干扰信息 ↓ 过滤或总结当前上下文 ↓ 收到正式问题 ↓ 检索长期记忆并完成推理6. Step-wise GRPO
训练时,系统根据最终任务是否成功,反过来评价前面的记忆操作:
记笔记 → 整理上下文 → 检索信息 → 完成考试 ↓ 根据考试成绩训练前面的行为优点是早期的记忆操作也能获得训练信号。
缺点是归因比较粗糙:如果最终回答错误,系统不一定能准确判断是保存、过滤、检索还是最终推理出了问题。
7. 实验结论
实验主要说明:
- 仅仅给 Agent 提供记忆工具还不够;
- 经过强化学习后,Agent 更会判断何时调用工具;
- 最终任务成绩明显提高;
- 长期记忆质量有所提高;
- 当前上下文使用的 token 略有减少;
- 在 HotpotQA 上训练出的策略可以迁移到多个受控 Agent benchmark。
8. 局限
- 训练数据主要来自 HotpotQA;
- 测试环境仍然比较受控;
- 尚未验证数月或数年的真实用户记忆;
- 记忆质量和答案质量较依赖 LLM Judge;
- 奖励函数仍包含不少人工设计规则;
- Step-wise GRPO 不能精确判断每个记忆动作的实际贡献。
因此,更稳妥的结论是:
AgeMem 证明了在受控环境中,Agent 可以学习统一管理长期记忆和短期上下文;但它还没有完全解决真实产品中的长期记忆问题。
9. 核心启发
过去的思路是:
程序员规定何时保存、检索和总结。
AgeMem 的思路是:
让 Agent 围绕最终任务目标,自己学习何时保存、检索、更新、删除、过滤和总结。
最值得记住的一点:
存储、检索、遗忘和上下文压缩不应该是彼此独立的模块,而应该围绕同一个最终任务目标联合优化。