Agentic Memory: Learning Unified Long-Term and Short-Term Memory Management for Large Language Model Agents
核心思想
LLM 智能体的记忆管理存在两个割裂:
- 长期记忆(LTM)和短期记忆(STM) 由独立的启发式模块管理,彼此不协调
- 记忆操作(存储、检索、删除等)使用固定规则,无法根据任务自适应
AgeMem 将记忆管理统一为工具化的策略动作,让 LLM 自主决定何时存储、检索、更新、摘要或过滤信息,通过 RL 端到端优化。
结果:跨 5 个基准、2 个模型骨干,平均提升 4.8-8.6 个百分点。
背景知识
LLM 智能体的记忆挑战
| 记忆类型 | 功能 | 传统方法 | 问题 |
|---|---|---|---|
| 长期记忆(LTM) | 跨会话知识存储 | RAG、向量数据库 | 存什么、何时更新? |
| 短期记忆(STM) | 当前会话上下文 | 截断、摘要 | 何时压缩、过滤什么? |
现有记忆系统的局限
| 方法 | LTM | STM | 学习? |
|---|---|---|---|
| LangMem | 有 | 无 | 无(规则) |
| A-Mem | 有 | 无 | 无(规则) |
| Mem0 | 有 | 无 | 无(规则) |
| AgeMem | 有 | 有 | 有(RL) |
方法详解
1. 记忆工具接口
LTM 工具(3 个):
- Add:存储新知识条目(含嵌入和元数据)
- Update:修改已有记忆
- Delete:删除过时条目
STM 工具(3 个):
- Retrieve:用余弦相似度检索 top-k 相关记忆
- Summary:压缩对话片段,保留关键信息
- Filter:基于语义相似度阈值移除无关内容
2. 统一 RL 建模
状态空间:
\[s_t = (C_t, \mathcal{M}_t, \mathcal{T})\]- $C_t$:当前上下文
- $\mathcal{M}_t$:LTM 存储
- $\mathcal{T}$:任务规格
优化目标:
\[\theta^* = \arg\max_\theta \mathbb{E}_{\tau \sim \pi_\theta}[R(\tau)]\]累积奖励:
\[R(\tau) = \sum w_i \cdot R_i(\tau) + P_{\text{penalty}}\]3. 三阶段渐进式 RL
Stage 1:LTM 构建 $\tau_k^{(1)}$
模型在闲聊对话中处理信息,识别并存储重要事实。
- 中间步骤零奖励
- 每轮主动检索 LTM → 了解已有内容,决定更新/删除
Stage 2:STM 干扰控制 $\tau_k^{(2)}$
短期上下文重置,LTM 保持。模型接收语义相关但误导性的内容。
- 学习过滤和摘要策略
- 抑制噪声同时保持有用信息
Stage 3:整合推理 $\tau_k^{(3)}$
接收正式查询,需要协调 LTM 检索 + 上下文管理 + 答案生成。
- 终端奖励评估任务正确性和记忆质量
完整轨迹:$\tau_k^{(q)} = (e_1, e_2, \ldots, e_T)$,其中 $T = T_1 + T_2 + T_3$。
4. Step-wise GRPO
解决长程信用分配问题——终端奖励如何归因到中间记忆操作?
组归一化优势:
\[A_T^{(k,q)} = \frac{r_T^{(k,q)} - \mu_{G_q}}{\sigma_{G_q} + \epsilon}\]均匀回传:
\[A_t^{(k,q)} = A_T^{(k,q)} \quad \forall t < T\]策略目标:
\[J(\theta) = \mathbb{E}_{(e_t, A_t) \sim \mathcal{E}}\left[\rho_t A_t - \beta D_{\text{KL}}[\pi_\theta \| \pi_{\text{ref}}]\right]\]| 其中重要性比率 $\rho_t^{(k,q)} = \frac{\pi_\theta(a_t | s_t)}{\pi_{\theta_{\text{old}}}(a_t | s_t)}$。 |
5. 复合奖励函数
任务完成 $R_{\text{task}}$:LLM 裁判评分 $S_{\text{judge}}(A_{\text{pred}}, A_q) \in [0,1]$
上下文管理 $R_{\text{context}}$:
- 压缩效率:$\max(0, 1 - T_{\text{used}}/T_{\text{max}})$
- 预防性操作:是否在溢出前调用工具
- 信息保留:是否保留查询关键 token
记忆管理 $R_{\text{memory}}$:
- 存储质量:$N_{\text{high-quality}}/\max(1, N_{\text{total}})$
- 维护操作:是否执行更新/删除
- 语义相关性:检索记忆与查询的对齐度
惩罚 $P_{\text{penalty}}$:超过交互上限或上下文溢出。
实验结果
主要结果
| 数据集 | Qwen2.5-7B(AgeMem) | Qwen3-4B(AgeMem) |
|---|---|---|
| ALFWorld | 41.07% | 48.97% |
| SciWorld | 35.55% | 59.48% |
| PDDL | 17.31% | 35.07% |
| BabyAI | 61.42% | 72.56% |
| HotpotQA | 54.44% | 55.49% |
| 平均 | 41.96% | 54.31% |
AgeMem 超过最佳基线 4.82pp(Qwen2.5)和 8.57pp(Qwen3)。
RL 训练的贡献
RL 训练相比非 RL 变体提升 8.53-8.72pp → RL 是核心驱动力。
记忆质量(HotpotQA)
| 模型 | AgeMem | Mem0 |
|---|---|---|
| Qwen2.5 | 0.533 | ~0.45 |
| Qwen3 | 0.605 | ~0.45 |
语义相关性评分提升 12-27%。
工具使用分析(RL 前→后)
| 操作 | Qwen2.5 RL 前 | Qwen2.5 RL 后 |
|---|---|---|
| Add Memory | 0.92 | 1.64 |
| Update Memory | 0.00 | 0.13 |
| Delete Memory | 0.00 | 0.08 |
| Filter | 0.02 | 0.31 |
RL 后模型学会了主动维护记忆(更新、删除)和主动过滤上下文。
消融实验
| 配置 | ALFWorld | SciWorld | HotpotQA |
|---|---|---|---|
| 基线 | +0% | +0% | +0% |
| +LTM only | +10.6% | +14.2% | +7.4% |
| +LTM/RL | +15.6% | +21.1% | +13.7% |
| +LTM/STM/RL | +13.9% | +21.7% | +16.1% |
STM 工具额外提供 2.4-3.1pp 增益。
个人思考
- “记忆操作 = 工具调用” 是将记忆管理从系统工程问题转化为可学习策略的关键抽象 → 让 RL 端到端优化记忆决策。
- 三阶段渐进式训练很有教育意义:先学存储(Stage 1),再学过滤噪声(Stage 2),最后学整合推理(Stage 3)→ 课程学习的思路。
- RL 训练后 Filter 操作从 0.02 增到 0.31 是最有说服力的证据:模型学会了主动管理上下文而非被动接受所有输入。
- 复合奖励函数的设计值得参考:任务正确性 + 上下文效率 + 记忆质量 → 多目标奖励引导模型在多个维度同时优化。
- Qwen3-4B 平均 54.31% vs Qwen2.5-7B 的 41.96%:小但新的模型 + 好的记忆策略可能优于大但旧的模型 → 记忆管理能力可能比模型大小更重要。