"世界上有两种Agent:一种是金鱼记忆的,每次对话都从零开始;另一种是有记忆系统的,记得你上周二说的那句话。OpenClaw让你的Agent成为后者。"
什么是Agent Memory System?
Agent Memory System是AI Agent的"大脑硬盘"——它决定了你的Agent能记住什么、记住多久、怎么回忆。就像人类的记忆分为短期记忆(刚才说了啥)和长期记忆(小时候的事),Agent也需要不同层次的记忆能力。
没有记忆系统的Agent,就像《初恋50次》里的女主角,每天醒来都是一张白纸。而有记忆系统的Agent,能记住你的偏好、历史对话、关键决策,甚至能从过去的错误中学习。
OpenClaw的三层记忆架构
第一层:工作记忆(Working Memory)
当前对话的短期缓存,就像你脑子里正在处理的信息:
- 对话历史 - 最近的几轮问答
- 当前状态 - 正在执行的任务状态
- 临时变量 - 任务过程中的中间结果
# OpenClaw工作记忆配置
memory:
working:
max_tokens: 4000 # 工作记忆容量
retention: "session" # 会话级保留
compression: true # 自动压缩旧消息
第二层:情景记忆(Episodic Memory)
事件序列的记忆,就像你的日记本:
# 情景记忆配置
memory:
episodic:
enabled: true
storage: "tdai" # 使用TDAI存储
events:
- user_preferences # 用户偏好
- task_history # 任务历史
- decision_log # 决策日志
第三层:语义记忆(Semantic Memory)
知识和事实的记忆,就像你的百科全书:
# 语义记忆配置
memory:
semantic:
type: "vector" # 向量存储
embedding: "text-embedding-3-small"
retrieval:
top_k: 5
threshold: 0.7
实战:配置Agent记忆
步骤1:创建记忆配置文件
# ~/.openclaw/agents/my-agent/MEMORY.md
# 记忆策略
## 短期记忆
- 对话历史保留最近20轮
- 超过限制时自动摘要压缩
- 重要信息提取到长期记忆
## 长期记忆
- 用户偏好独立存储
- 关键决策永久记录
- 错误教训分类归档
## 记忆召回
- 每次对话开始时检索相关记忆
- 优先召回最近7天的信息
- 用户明确表达的内容权重最高
步骤2:使用记忆工具
# 存储记忆
tdai_memory_save:
type: "persona"
content: "用户喜欢简洁的回答,不喜欢长篇大论"
tags: ["preference", "communication"]
# 检索记忆
tdai_memory_search:
query: "用户的沟通偏好"
limit: 5
步骤3:记忆驱动的Agent
# 在Agent提示词中使用记忆
system: |
你是一个有记忆的助手。
在回答之前,请先回忆:
1. 用户的历史偏好
2. 相关的过去对话
3. 之前的承诺和约定
记忆检索结果:
{{memory_search_results}}
💡 Pro Tip:不要把所有东西都往记忆里塞。记忆也需要"断舍离"——定期清理过时信息,只保留真正有价值的内容。就像你不会记住每一顿午餐吃了什么,但要记住那家让你拉肚子的餐厅。
最佳实践
- 分类存储 - persona存偏好,episodic存事件,instruction存规则
- 定期归档 - 设置记忆过期策略,避免记忆库臃肿
- 优先级标记 - 重要记忆打标签,检索时优先返回
- 隐私意识 - 敏感信息加密或脱敏存储
- 版本控制 - 记忆也需要回滚能力,保留历史版本
⚠️ 注意:记忆系统会增加Token消耗和响应延迟。在实时性要求高的场景,考虑减少记忆召回量或使用异步记忆更新。
常见问题
Q: 记忆会不会让Agent产生幻觉?
A: 记忆本身不产生幻觉,但错误的记忆检索可能导致错误回答。建议设置置信度阈值,低置信度的记忆不要使用。
Q: 记忆系统成本多少?
A: 向量存储约$0.0001/1K tokens检索,语义记忆存储约$0.1/GB/月。一个活跃Agent月成本通常在$1-5之间。
Q: 如何清除敏感记忆?
A: 使用tdai_memory_delete工具,支持按类型、标签、时间范围删除。