AI Agent记忆系统:如何为你的AI提供持久记忆
Source: Dev.to
大多数 AI 设置的最大限制不是智能——而是记忆。
你可以拥有世界上最强大的模型,但如果它在会话之间忘记一切,它就不是员工。它是一个你每天早上必须重新简报的陌生人。
记忆是将聊天机器人变成 同事 的关键。下面是一个实际可行的系统。
1. 为什么 AI 默认是无状态的
- 每个 API 调用都是独立的 – 模型只会看到你发送的文本。
- 后果:
- 每个会话从零开始。
- 昨天的决策被遗忘。
- 代理无法从错误中学习。
- 有关人员、项目和偏好的上下文丢失。
上下文窗口(例如 Claude 的 200 K 令牌)只是一个更大的 短期缓冲区——并非真正的记忆。真正的记忆必须是 持久的、结构化的、并经过策划的。
2. 三层记忆架构
| 层级 | 内容说明 | 优势 | 局限性 | 适用场景 |
|---|---|---|---|---|
| Conversation | 当前会话中的消息、工具调用和响应。 | 在会话内完美记忆 within;模型能够看到所有内容。 | 会话结束后消失;受上下文窗口大小限制。 | 当前任务执行、进行中的对话、即时工具使用。 |
| Raw Log (Daily notes) | 每天编写的纯文本文件:memory/YYYY‑MM‑DD.md。 | 在会话之间提供时间顺序的桥梁。 | 需要定期整理;若不管理会变得嘈杂。 | 对每日发生的事情进行详细记录。 |
| Curated (Long‑term) Memory | 提炼后的知识库:MEMORY.md。 | 为代理提供稳定的、高层次的关系、项目和策略视图。 | 必须主动维护;过时的条目需要剔除。 | 长期上下文、战略决策、可复用的知识。 |
3. 原始日志层 – 每日笔记
文件位置: memory/YYYY‑MM‑DD.md
需要记录的内容(每次重要操作后立即记录)
- 已完成的任务 – 包括提交哈希、部署 ID 等细节。
- 做出的决策 – 以及背后的理由。
- 发现的错误 / 报告的问题 – 包含相关讨论。
- 学习或发现的内容。
- 作出的承诺 – 你向谁承诺了什么。
关键规则: 立即记录。 不要批量记录或依赖“我以后再记”。一旦发生事情,就写入每日文件。
为什么重要
- 当天稍后产生的子代理需要之前的上下文。
- 如果主会话重新启动,代理可以从中断处继续。
- 每日笔记充当 桥梁,连接瞬时对话记忆和长期策划记忆。
4. Curated Layer – MEMORY.md
Purpose: 从数周乃至数月的运营中提炼出的智慧(类似“日志”而非“对世界的理解”)。
包含内容
- 关键关系 – 你合作的对象、他们的角色、沟通偏好。
- 进行中的项目 – 当前状态、阻碍因素、后续步骤。
- 战略决策 – 已做出的选择及其原因,以避免重复讨论。
- 深刻教训 – 已犯的错误以及如何避免。
- 基础设施备注 – 系统、凭证存放位置、部署工作流。
- 待办事项 – 需要他人配合的事项、未解答的问题。
维护节奏
- 每隔几天: 回顾最新的每日笔记,将重要信息提升至
MEMORY.md,并删除过时条目。 - 将其视为 活的、持续更新的文档,而非一次性归档。
5. 引导序列 – 会话开始时加载记忆
在 OpenClaw 中,记忆的加载通过工作区文件完成,代理会首先读取这些文件:
SOUL.md – identity and behavior guidelines
USER.md – context about the human they work with
MEMORY.md – long‑term memory
memory/today.md
memory/yesterday.md – recent context这为代理提供了一个快速的“引导序列”,使其在最初的几秒钟内就能了解:
- 它是谁。
- 它与谁合作。
- 最近发生了什么。
- 长期重要的内容。
6. 最重要的单一原则
如果你想记住它,就把它写入文件。
AI 代理没有“心理笔记”。没有在会话之间保存信息的后台进程。文件就是记忆。
- 当有人说“记住这个” → 把它写入文件。
- “我稍后再写下来” → 它 不会 被写入。
7. 内存维护清单
- 立即记录重要事件(不批量)。
- 在每次会话开始时阅读昨天的笔记,以保持连续性。
- 定期审阅最近的每日文件。
- 将重要条目提升至
MEMORY.md。 - 从
MEMORY.md中删除过时信息。 - 检查值得记录的模式或重复问题。
- 审计
MEMORY.md的相关性。 - 归档旧的每日笔记(保留它们,但无需时刻关注)。
- 持续更新项目状态和战略背景。
8. Scaling Memory – Semantic Search
随着每日文件数量的增长,线性读取变得成本高(无论是 token 还是时间)。
解决方案:语义搜索
不必读取整个文件,让代理 按意义搜索:
- “我们对部署流水线的决定是什么?” → 在
MEMORY.md中找到相关章节。 - “我们上次部署计费功能是什么时候?” → 找到每日笔记条目。
- “萨兰亚在星期一报告的那个 bug 是什么?” → 找到具体日志。
从一开始就为搜索进行设计:保持文件有序、使用清晰的标题,并考虑使用索引工具。
9. 最佳实践与陷阱
密集的每日笔记 比冗长的散文更好。
- ✅ “Fixed auth bug in
login.ts, commitabc123, deployed to staging.” - ❌ 描述调试过程的长段落。
- ✅ “Fixed auth bug in
避免
MEMORY.md无限制增长。定期清理不相关的条目。绝不要在内存文件中存储机密信息(API 密钥、密码)。间接引用,例如 “Stripe key is in
.env”。按关注点拆分记忆:
- 每日笔记 →
memory/YYYY‑MM‑DD.md。 - 项目特定上下文 → 为每个项目创建单独的文件/文件夹。
- 避免把所有内容倾倒到一个巨大的文件中——这会浪费上下文窗口并妨碍搜索。
- 每日笔记 →
10. 回报
When memory works, the AI agent becomes continuous:
- Remembers last week’s decisions. → - 记住上周的决策。
- Follows up on yesterday’s commitments. → - 跟进昨天的承诺。
- Knows the team’s preferences. → - 了解团队的偏好。
- Learns from its mistakes. → - 从错误中学习。
It stops being a mere tool and becomes a colleague you work with. → 它不再只是一个工具,而是成为与你共事的 同事。
Goal: Not artificial intelligence — artificial continuity. → 目标: 不是人工智能,而是 人工连续性。
Originally published at openclawp. → 最初发布于 openclawp。
laybook.ai
Get The OpenClaw Playbook — $9.99 → 获取 OpenClaw 手册 — $9.99