为什么记忆管理很重要?
AI Agent 的记忆管理是 2026 年最热门的话题之一。一个好的记忆系统可以让 Agent 记住用户偏好、历史决策、项目上下文,从而提供更精准的服务。OpenClaw 提供了多层次的记忆架构。
💡 核心概念:OpenClaw 的记忆不是简单的"记住所有对话",而是分层管理——身份记忆(SOUL.md)、长期记忆(MEMORY.md)、工作记忆(上下文窗口)。
记忆架构总览
~/.openclaw/agents/your-agent/
├── SOUL.md # 身份记忆 - Agent 是谁
├── USER.md # 用户记忆 - 用户是谁
├── MEMORY.md # 长期记忆 - 重要事实
├── TOOLS.md # 工具记忆 - 工具配置
├── IDENTITY.md # 基本身份信息
└── memory/ # 日期记忆目录
├── 2026-06-10.md
├── 2026-06-09.md
└── ...
├── SOUL.md # 身份记忆 - Agent 是谁
├── USER.md # 用户记忆 - 用户是谁
├── MEMORY.md # 长期记忆 - 重要事实
├── TOOLS.md # 工具记忆 - 工具配置
├── IDENTITY.md # 基本身份信息
└── memory/ # 日期记忆目录
├── 2026-06-10.md
├── 2026-06-09.md
└── ...
四层记忆体系
| 层级 | 文件 | 内容 | 更新频率 |
|---|---|---|---|
| 身份层 | SOUL.md | Agent 的性格、能力、工作流程 | 很少更新 |
| 用户层 | USER.md | 用户偏好、沟通方式、成功标准 | 偶尔更新 |
| 长期层 | MEMORY.md | 重要事实、决策记录、项目状态 | 定期更新 |
| 工作层 | 上下文窗口 | 当前对话、任务上下文 | 每次对话 |
SOUL.md - 身份记忆
SOUL.md 定义了 Agent 的核心身份和行为模式:
# SOUL.md 示例
# 核心定位
我是妙趣AI,你的AI营销运营官。
# 性格特征
- 幽默有趣,会吐槽
- 专业但不端着
- 有梗但不说废话
# 说话风格
✅ "这事儿我给你办了"
✅ "这个骚操作你必须知道"
❌ "尊敬的先生/女士..."
# 工作流程
| 时间 | 任务 | 说明 |
|------|------|------|
| 08:00 | AI新闻日报 | 生成日报网页 |
| 10:00 | 社区运营 | Discord 互动 |
MEMORY.md - 长期记忆
MEMORY.md 存储需要跨对话保留的重要信息:
# MEMORY.md 示例
## 项目状态
- 网站: miaoquai.com
- 技术栈: 静态HTML + Nginx
- 部署: /var/www/miaoquai/
## 重要决策
- 2026-06-01: 决定采用静态站点方案
- 2026-06-05: 添加 Discord 社区
## 待办事项
- [ ] 配置 GitHub Token
- [ ] 添加 og:image 到所有页面
## 学到的教训
- web_search 在服务器上不可用
- GitHub API 需要认证才能避免限流
记忆检索策略
1. 自动注入
OpenClaw 在每次对话开始时自动加载 SOUL.md、USER.md、MEMORY.md 到上下文。
2. 按需检索
# Agent 可以主动检索记忆
## 当需要回忆过去事件时
读取 memory/ 目录下的日期文件:
```
read memory/2026-06-10.md
```
## 当需要搜索特定信息时
使用 tdai_memory_search 工具:
```
tdai_memory_search query="GitHub Token 配置"
```
3. 主动记忆
# Agent 应该主动记录重要信息
## 记录新的重要决策
```
edit MEMORY.md 添加新的决策记录
```
## 记录每日工作
```
write memory/2026-06-11.md 每日工作总结
```
记忆优化技巧
✅ 最佳实践:
- MEMORY.md 保持精炼,只记录重要事实
- 使用结构化格式(标题、列表、表格)
- 定期清理过时信息
- SOUL.md 中定义明确的工作流程
- USER.md 中记录用户偏好
⚠️ 常见问题:
- 上下文窗口溢出 → 精简 MEMORY.md,使用记忆检索
- Agent 忘记指令 → 在 SOUL.md 中强化关键规则
- 记忆冲突 → 使用日期标记,保留最新版本
高级:记忆搜索
OpenClaw 提供了 tdai_memory_search 和 tdai_conversation_search 工具进行记忆检索:
# 搜索结构化记忆
tdai_memory_search query="Discord Bot Token"
# 搜索对话历史
tdai_conversation_search query="之前讨论的SEO策略"
# 组合使用(每轮最多3次调用)
tdai_memory_search query="项目配置" # 第1次
tdai_conversation_search query="昨天的讨论" # 第2次
tdai_memory_search query="待办事项" # 第3次