跳到主内容

AI Agent 记忆怎么实现:长短期记忆架构与 4 种落地方案

100%
AI Agent 记忆怎么实现:长短期记忆架构与 4 种落地方案

AI Agent 的记忆,本质是在上下文窗口之外为智能体保存可跨会话复用的状态:短期记忆负责当前任务的上下文延续,长期记忆负责跨天、跨项目的知识沉淀;最稳妥的落地做法是「文件笔记 + 上下文压缩 + 向量库」三层组合。下面用 Anthropic 官方的实践拆开讲。

一、先分清两种记忆

很多团队一上来就想接向量数据库,结果 Agent 跑两步就「忘了」刚做的事。根因是没分清楚记忆的职责:

维度短期记忆长期记忆
作用范围单次任务内的上下文延续跨会话、跨项目的知识沉淀
典型载体上下文窗口、压缩摘要、结构化笔记文件、向量库、外部数据库
何时用长流程编码、多步推理用户偏好、项目决策、历史结论
一句话判断:会随对话结束而失效的放短期,希望「下次打开还在」的放长期。两者不是二选一,而是叠加使用。

二、短期记忆:上下文编辑(自动压缩)

Anthropic 在 Claude 开发者平台推出的「上下文编辑(Context Editing)」就是典型短期记忆机制:当 token 接近上限时,自动清除陈旧的工具调用与结果,只保留对话流。官方内部评测显示,仅上下文编辑就让智能体性能提升 29%,在 100 步网页搜索里把 token 消耗降低 84%。

上下文编辑和摘要(compaction)有什么区别?
摘要是把整段历史压成一小段;上下文编辑更精细,它只删掉「已经没用的工具原始返回」,保留你真正需要继续用的结论。简单说:compaction 是整体瘦身,context editing 是定点清理。 Claude Code 的 /compact 命令就属于后者思路。

三、长期记忆:三种可落地方案

1. 结构化笔记(文件)

让 Agent 定期把进度写进文件(如 NOTES.md 、 CHANGELOG.md),下次会话开头读回。这是开销最小、最稳的长期记忆,Claude Code 的待办列表、长时任务的进度文件都是这个模式。

2. Memory Tool(文件型记忆)

Anthropic 的 memory tool 让 Claude 通过工具调用在指定目录里创建、读取、更新、删除文件,数据存在你自己的基础设施里、完全客户端侧、跨会话持久化。适合「项目状态」「架构决策」这类要累积的知识。

3. 向量库

当记忆规模大、需要语义检索时,把历史结论做成 embedding 存向量库,运行时按相似度召回。可结合 RAG 检索增强生成 的思路使用。

四、落地代码骨架


  1. 在 Agent 工作目录建一个 memory/ 文件夹,作为专属记忆区。

  2. 给 Agent 两个工具:save_note(content) 与 read_notes(),分别写/读 memory/NOTES.md 。

  3. 在系统提示里要求:每完成一个里程碑,就 save_note 一条「做了什么 + 关键决策」。

  4. 新会话启动时先 read_notes(),把历史结论注入上下文,再开始干活。

五、常见坑

  • 把本该长期的偏好写进短期上下文,会话一断全丢;
  • 笔记不结构化,回读时一大坨,反而浪费 token;
  • 向量库当万能,却忘了「刚发生的结论」还在上下文里,重复检索。

更系统的长上下文用法,可看 Anthropic 长上下文怎么用;想做智能体编排可参考 OpenAI Agents API。

阅读 Anthropic 上下文管理文档

Agent 记忆一定要用向量数据库吗?
不一定。小规模、强结构的记忆用文件笔记最划算;只有需要语义检索、记忆量大时才上向量库。

上下文窗口已经很大了,还需要短期记忆吗?
需要。真实任务会耗尽任何固定窗口——Anthropic 评测里 100 步搜索就会爆窗,靠上下文编辑才能既不丢信息又省 84% token 。

memory tool 的数据存在哪里?
存在你自己的基础设施(你指定的记忆目录),通过工具调用读写,完全客户端侧,平台不碰你的数据。

短期和长期记忆会冲突吗?
不会,它们互补:短期管「这次做到哪」,长期管「以前学到啥」。建议两者叠加,而不是二选一。

这篇有帮助吗?
云上的幻象
云上的幻象查看主页

七彩云博客,分享 WordPress 建站实战与 AI 工具测评,覆盖服务器运维、站长工具、软件资源与电商运营干货,专注原创实用的主题插件、网站加速与安全优化教程。

752文章4评论

相关文章

评论 (0)

欢迎你,新朋友,感谢参与互动!文明发言,理性交流 · 首次评论将在审核后展示