如果目标是真正理解 Agent Memory,而不是停留在框架 API 层面,那么不要直接从 LangGraph、Mem0、Letta 开始,而是采用:
观察 → 建模 → 对比 → 实践 → 分享
的学习路线。
一条非常重要的主线:
人类记忆 → Cognitive Architecture(CoALA) → Agent Memory → 工程实现(LangGraph/Letta/Mem0)
这条线索实际上就是当前 Agent 记忆领域的发展脉络。
第一阶段:观察(Observation)
广度优先。
不要急着研究代码。
先回答:
「记忆到底是什么?」
第一部分:观察人类记忆
先观察一个现象
假设你朋友问:
去年国庆节你干什么去了?
你会发现:
你并不是从数据库里查询:
sql
select *
from memories
where date='2025-10-01'
而是:
text
触发线索
↓
激活部分记忆
↓
联想相关场景
↓
重构事件
↓
生成叙述
实际上:
记忆 ≠ 存储
记忆 = 重构(Reconstruction)
观察结果1
人类记忆不是录像机
而是:
text
存储碎片
↓
回忆时重新拼装
例如:
text
海边
夕阳
烧烤
朋友
↓
去年国庆
而不是:
text
MP4视频
Agent 启发
这直接对应:
RAG
text
Vector Search
↓
Recall
↓
LLM Reconstruction
Agent Memory 本质上也是:
text
Retrieve
+
Generate
而不是:
text
Database Query
观察结果2
人类记忆有层级
心理学经典模型:
text
Sensory Memory
↓
Working Memory
↓
Long-term Memory
即:
text
感觉记忆
↓
工作记忆
↓
长期记忆
举例
你看到:
text
电话:
13812345678
几秒后忘了
属于:
text
Sensory Memory
当你正在拨号:
text
13812345678
保持在脑中
属于:
text
Working Memory
几个月后:
text
你妈妈手机号
还能背出来
属于:
text
Long-term Memory
Agent 启发
对应:
text
Prompt Context
↓
Session Memory
↓
Persistent Memory
很多 Agent Framework 都在复刻这一结构。
例如:
LangGraph
text
State
↓
Checkpoint
↓
Store
Letta
text
Context Window
↓
Main Memory
↓
Archival Memory
CoALA
text
Working Memory
↓
Episodic Memory
↓
Semantic Memory
观察结果3
记忆是会遗忘的
这是很多人忽略的。
遗忘不是 Bug。
遗忘是 Feature。
如果不遗忘:
你会记得:
text
2018年7月4日早餐
text
2019年3月8日坐地铁第几个车厢
text
2020年10月11日天气
大脑会崩溃。
因此:
人脑一直在做:
text
删除
压缩
抽象
总结
例如:
原始经历:
text
看了200次代码Review
最后变成:
text
团队编码规范
Agent 启发
这对应:
Reflection
论文:
《Generative Agents》
提出:
text
Experience
↓
Reflection
↓
Insight
例如:
原始:
text
用户说A
用户说B
用户说C
压缩:
text
用户喜欢简洁回答
这就是:
Semantic Memory
第二部分:观察 Agent Memory
接下来开始看 Agent。
不要先看框架。
先看 Agent 的需求。
问题1
Agent 为什么需要记忆?
因为 LLM 本质:
text
Stateless
无状态。
例如:
今天:
text
我喜欢 Java
明天:
text
我喜欢 Rust
如果没有 Memory:
Agent 根本不知道。
因此需要:
text
Past
↓
Present
↓
Future
连续性。
问题2
Agent 需要记住什么?
这里开始进入 CoALA。
CoALA 是目前最值得研究的框架之一。
论文:Cognitive Architectures for Language Agents
CoALA 认为:
Agent Memory 分为:
text
Working Memory
Semantic Memory
Episodic Memory
Procedural Memory
Working Memory
相当于:
text
当前上下文
例如:
text
正在写代码
text
当前文件
text
当前需求
Agent 实现:
text
Prompt
+
Context Window
Episodic Memory
情景记忆
记录:
text
发生过什么
例如:
text
昨天修复了支付Bug
text
上周部署失败
Agent 实现:
text
Conversation History
Execution Log
Trajectory
Semantic Memory
语义记忆
记录:
text
总结后的知识
例如:
text
用户喜欢Markdown
text
项目使用DDD架构
Agent 实现:
text
Knowledge Base
Profile
Fact Store
Procedural Memory
程序记忆
记录:
text
怎么做
例如:
text
骑自行车
text
打字
Agent 对应:
text
Skill
Prompt Template
Workflow
Tool Usage Pattern
例如:
Claude Code
text
CLAUDE.md
本质:
text
Procedural Memory
Codex
text
AGENTS.md
也是:
text
Procedural Memory
第三部分:建立观察框架
以后研究任何 Agent Framework。
先画这张图。
text
Agent Memory
├── Working
│
├── Episodic
│
├── Semantic
│
└── Procedural
然后逐个观察:
text
写入(Write)
管理(Manage)
读取(Read)
遗忘(Forget)
这正好对应你提到的 2026 综述论文中的生命周期:
text
Write
↓
Manage
↓
Read
我建议把下一阶段的学习主题定为:
Agent Memory 观察地图
| 观察对象 | 重点问题 |
|---|---|
| 人类记忆 | 如何编码、固化、提取、遗忘 |
| CoALA | 记忆分类学 |
| Generative Agents | Reflection 如何产生长期记忆 |
| Letta(MemGPT) | OS 虚拟内存模型 |
| LangGraph | State + Store + Checkpoint |
| Mem0 | Memory CRUD |
| Zep | 长期记忆中间件 |
| Claude Code | Auto Memory |
| Codex CLI | AGENTS.md |
| Gemini CLI | GEMINI.md |
| OpenAI Memory | 用户画像与偏好管理 |
当这张地图建立起来以后,你会发现:
所有 Agent Memory 产品,其实都在回答同一个问题------如何让一个本质无状态的 LLM,拥有类似人类的工作记忆、情景记忆、语义记忆和程序记忆。