AI Agent 的记忆,本质是在上下文窗口之外为智能体保存可跨会话复用的状态:短期记忆负责当前任务的上下文延续,长期记忆负责跨天、跨项目的知识沉淀;最稳妥的落地做法是「文件笔记 + 上下文压缩 + 向量库」三层组合。下面用 Anthropic 官方的实践拆开讲。
一、先分清两种记忆
很多团队一上来就想接向量数据库,结果 Agent 跑两步就「忘了」刚做的事。根因是没分清楚记忆的职责:
| 维度 | 短期记忆 | 长期记忆 |
|---|---|---|
| 作用范围 | 单次任务内的上下文延续 | 跨会话、跨项目的知识沉淀 |
| 典型载体 | 上下文窗口、压缩摘要、结构化笔记 | 文件、向量库、外部数据库 |
| 何时用 | 长流程编码、多步推理 | 用户偏好、项目决策、历史结论 |
二、短期记忆:上下文编辑(自动压缩)
Anthropic 在 Claude 开发者平台推出的「上下文编辑(Context Editing)」就是典型短期记忆机制:当 token 接近上限时,自动清除陈旧的工具调用与结果,只保留对话流。官方内部评测显示,仅上下文编辑就让智能体性能提升 29%,在 100 步网页搜索里把 token 消耗降低 84%。
上下文编辑和摘要(compaction)有什么区别?
三、长期记忆:三种可落地方案
1. 结构化笔记(文件)
让 Agent 定期把进度写进文件(如 NOTES.md 、 CHANGELOG.md),下次会话开头读回。这是开销最小、最稳的长期记忆,Claude Code 的待办列表、长时任务的进度文件都是这个模式。
2. Memory Tool(文件型记忆)
Anthropic 的 memory tool 让 Claude 通过工具调用在指定目录里创建、读取、更新、删除文件,数据存在你自己的基础设施里、完全客户端侧、跨会话持久化。适合「项目状态」「架构决策」这类要累积的知识。
3. 向量库
当记忆规模大、需要语义检索时,把历史结论做成 embedding 存向量库,运行时按相似度召回。可结合 RAG 检索增强生成 的思路使用。
四、落地代码骨架
- 在 Agent 工作目录建一个 memory/ 文件夹,作为专属记忆区。
- 给 Agent 两个工具:save_note(content) 与 read_notes(),分别写/读 memory/NOTES.md 。
- 在系统提示里要求:每完成一个里程碑,就 save_note 一条「做了什么 + 关键决策」。
- 新会话启动时先 read_notes(),把历史结论注入上下文,再开始干活。
五、常见坑
- 把本该长期的偏好写进短期上下文,会话一断全丢;
- 笔记不结构化,回读时一大坨,反而浪费 token;
- 向量库当万能,却忘了「刚发生的结论」还在上下文里,重复检索。
更系统的长上下文用法,可看 Anthropic 长上下文怎么用;想做智能体编排可参考 OpenAI Agents API。
阅读 Anthropic 上下文管理文档







评论 (0)