目录

  1. 概述
  2. 短期 vs 长期记忆
  3. 记忆形态
  4. MemGPT:分页式记忆管理
  5. 2025 新进展:笔记式与层级记忆
  6. 实践建议
  7. 参考文献

1 概述 {#1}

LLM 的上下文窗口是有限的——长对话、长工具结果、多轮交互都可能被截断。记忆机制让 Agent 突破上下文限制,跨会话保留关键信息、按需检索并使用。

记忆系统需要回答三个核心问题:

  1. 写什么:从对话中提取哪些事实/事件/技能写入长期记忆;
  2. 何时写:每轮都写、关键事件触发、还是会话结束批量摘要;
  3. 如何用:检索时返回什么形态(原文 / 摘要 / 实体)、如何注入 prompt。

2 短期 vs 长期记忆 {#2}

2.1 短期记忆 (Short-term)

即当前对话的上下文窗口(in-context)。容量受 token 上限约束,随对话增长会被截断或溢出。

2.2 长期记忆 (Long-term)

跨会话持久化,通常以向量库/摘要形式存储,按需检索注入上下文。

写入:把关键事实/对话摘要 → Embedding → 写入长期记忆库
检索:当前问题 → Embedding → 相似度检索 → 取回相关历史 → 注入 prompt

2.3 对比

维度 短期记忆 长期记忆
容量 受上下文窗口限制 理论上无限
延迟 检索延迟
持久性 会话结束即消失 跨会话保留
适用 当前任务细节 跨任务偏好/事实

3 记忆形态 {#3}

形态 说明 优点 缺点
向量记忆 原文/摘要向量化,语义检索 通用、自动 粒度细、易冗余
摘要记忆 对历史滚动摘要 节省 token 细节丢失
实体记忆 以结构化方式记录实体属性与关系 可推理、可对齐 抽取成本高
事件记忆 按时间序记录发生过的事件 适合”发生过什么” 长程易膨胀

实践中常混合使用:摘要 + 实体 + 关键事件三元组。


4 MemGPT:分页式记忆管理 {#4}

4.1 核心思想

MemGPT 借鉴操作系统的虚拟内存与分页机制:把 LLM 上下文窗口视为主存,外部向量库视为磁盘,由 LLM 自主决定何时把哪些内容”换入”主存或”换出”到磁盘,从而在有限窗口内管理超长上下文。

+--------------------------------------------------+
|  Main Context (LLM 上下文窗口 / "主存")          |
|  ┌────────────┐ ┌────────────┐ ┌──────────────┐ |
|  | System     | | Working    | | Recalled     | |
|  | Prompt     | | Memory     | | (从磁盘换入) | |
|  └────────────┘ └────────────┘ └──────────────┘ |
+--------------------------------------------------+
                ▲  recall (page-in)
                ▼  archive  (page-out)
+--------------------------------------------------+
|  External Memory ("磁盘": 向量库 / 摘要库)        |
+--------------------------------------------------+

4.2 LLM 自主决策

MemGPT 的关键创新:让 LLM 自己输出控制指令(recall / archive),决定何时把外部记忆中的内容”换入”主上下文,何时把主上下文中的内容”换出”到外部存储。这相当于把”内存管理”内化为 LLM 的一个可调用工具。

4.3 演进:Letta

后续 Letta(MemGPT 团队的商业化产品)把”分页”做到对开发者透明的 API 层,并加入更丰富的记忆类型(标签、关系、事件)。


5 2025 新进展:笔记式与层级记忆 {#5}

5.1 A-Mem (NeurIPS 2025)

A-Mem 提出”笔记式记忆”:每条新对话产生一条结构化笔记(包含时间、主体、关键词、上下文摘要),Agent 可在笔记之间自动建立链接(如”派生”、”扩展”、”冲突”),形成可演化的记忆图。

5.2 Mirix

Mirix 把记忆分为多层:

  • 核心记忆:长期偏好、关键事实;
  • 事件记忆:时序化的事件流;
  • 知识记忆:实体与关系图;
  • 工具记忆:调用工具的经验;
  • 反思记忆:Agent 自己的内省与评估。

每层都有独立的检索与写入策略。

5.3 何时触发写入

  • 每轮写入:最简单但易冗余;
  • 事件触发:在检测到”偏好表达”、”事实陈述”、”技能演示”等模式时写入;
  • 会话结束批量摘要:成本低但细节丢失;
  • 重要性打分:让模型对每条信息打分,仅保留高重要性的。

5.4 记忆写入的”双向循环”

近期工作强调:

  • 写入要可追溯:每条记忆需有出处(哪轮对话、哪条工具结果);
  • 写入要被反思:定期清理过时记忆,避免知识库污染;
  • 读取要被评估:检索结果是否被 Agent 实际使用?是否有”检索但不引用”的浪费?

6 实践建议 {#6}

  1. 明确记忆目标:要解决”短期上下文溢出”还是”跨会话个性化”?两者策略不同。
  2. 混合形态:向量 + 摘要 + 实体,不要押注单一形态。
  3. 写入策略可配置:对个人偏好用事件触发,对工作汇报用批量摘要。
  4. 检索要可控:检索返回 top-k + 重要性打分;不是所有相关记忆都该注入。
  5. 反思与遗忘:长期记忆库需要”清理”——过期、不重要、错误的记忆要被淘汰。
  6. 评测记忆系统:用 MemRecall、LoCoMo 等基准测检索准确率与答案一致性。
  7. 隐私边界:长期记忆涉及用户数据,需做权限分级与脱敏。

7 参考文献 {#7}

[1] C. Packer et al., MemGPT: Towards LLMs as Operating Systems, 2023. arXiv:2310.08560.

[2] S. Hong et al., A-Mem: Agentic Memory for LLM Agents, NeurIPS, 2025. arXiv:2502.12110.

[3] Letta Team, Letta: A Framework for Stateful Agents with Long-Term Memory, 2024. https://www.letta.com.

[4] Mirix Team, Mirix: Multi-Modal Multi-Layer Memory for Agents, 2025.

[5] S. Yao et al., ReAct: Synergizing Reasoning and Acting in Language Models, ICLR, 2023. arXiv:2210.03629.

[6] J. F. Kelley, Memory Management in the AI Era, Queue, 2024.

[7] A. Maharana et al., Evaluating Very Long-Term Conversational Memory of LLM Agents, ACL, 2024. arXiv:2402.17753.

留下评论