🧠 OpenClaw Agent 记忆管理深度指南

让AI真正"记住"你 — 从短期记忆到永久知识库

导读:每次对话都从零开始?AI记不住你的偏好?本教程深度解析OpenClaw的记忆系统,从SOUL.md人格定义到向量数据库长期记忆,让你的Agent越用越懂你。

🧠 记忆系统架构

OpenClaw采用多层记忆架构,不同类型的存储在不同层级:

📋 L1: 系统提示(System Prompt)

每次对话都会注入。存储:角色定义、规则、工具说明。由SOUL.md、USER.md等文件定义。

💬 L2: 对话上下文(Conversation Context)

当前会话的消息历史。受上下文窗口限制,超出会被截断或压缩。

📝 L3: 工作记忆(Working Memory)

MEMORY.md等文件,存储跨会话的结构化信息。如用户偏好、项目状态、待办事项。

🗄️ L4: 长期记忆(Long-term Memory)

向量数据库存储的历史对话和知识。支持语义检索,可回忆很久以前的信息。

📋 L1: 系统提示配置

SOUL.md — 人格与行为定义

# ~/.openclaw/agents/my-agent/SOUL.md
# 定义Agent的核心人格

我是你的私人AI助手。

## 性格特征
- 专业但不端着,有幽默感
- 回答简洁,不废话
- 遇到不确定的问题坦诚说明

## 沟通风格
- 中文回复为主
- 技术问题用代码示例说明
- 复杂问题分步骤解释

## 行为规则
- 优先使用已有信息回答,减少重复提问
- 记住用户之前提到的偏好
- 涉及隐私信息时提醒用户注意安全

USER.md — 用户画像

# ~/.openclaw/agents/my-agent/USER.md
# 存储用户相关信息

- 名称:诗中
- 称呼:老板
- 时区:Asia/Shanghai
- 技术栈:Python, TypeScript, Go
- 偏好:简洁直接,不要太多解释
- 项目:妙趣AI网站运营

TOOLS.md — 工具配置

# ~/.openclaw/agents/my-agent/TOOLS.md
# 工具和环境配置

## 网站路径
- 根目录:/var/www/miaoquai/
- 新闻:/var/www/miaoquai/news/
- 工具页:/var/www/miaoquai/tools/

## API配置
- GitHub Token: 已配置
- Discord Bot: 已配置
- 飞书: 已配置

💬 L2: 上下文窗口管理

上下文窗口是什么?

上下文窗口是AI一次能"看到"的信息量。不同模型有不同的限制:

模型上下文窗口约等于
GPT-4o128K tokens~10万字
Claude 3.5 Sonnet200K tokens~15万字
Llama 3 8B8K tokens~6000字
Qwen2 7B32K tokens~2.4万字

上下文压缩策略

# OpenClaw自动上下文管理
# 当对话过长时,有几种处理策略:

# 1. 截断模式(默认)- 保留最近的消息
context:
  strategy: "truncate"
  maxMessages: 50

# 2. 摘要模式 - 用AI总结旧消息
context:
  strategy: "summarize"
  summarizeAfter: 40  # 超过40条消息后自动总结

# 3. 滑动窗口 - 保留首尾消息
context:
  strategy: "sliding"
  keepFirst: 5   # 保留最初的5条(含系统提示)
  keepLast: 30   # 保留最近的30条

Light Context模式

# 对于简单任务,使用轻量上下文
# 减少token消耗,降低成本
openclaw chat --light-context "今天天气怎么样?"

# 在Cron任务中使用
openclaw cron add \
  --name "quick-check" \
  --schedule "*/30 * * * *" \
  --light-context \
  --task "检查服务器状态并简要汇报"

📝 L3: 工作记忆(MEMORY.md)

结构化记忆文件

# ~/.openclaw/agents/my-agent/MEMORY.md
# 跨会话持久化记忆

## 用户偏好
- 喜欢简洁回答,不要太多解释
- 技术栈:Python > TypeScript > Go
- 时区:上海(UTC+8)

## 项目状态
- 妙趣AI网站:已上线,500+页面
- 日均流量:1000+ UV
- SEO收录:300+页面

## 待办事项
- [ ] 优化首页加载速度
- [ ] 添加英文版本
- [ ] 接入Google Analytics

## 历史事件
- 2026-03-15: 网站正式上线
- 2026-04-01: 接入Discord社区
- 2026-05-20: 流量突破1000/天

自动记忆管理

# OpenClaw可以自动更新MEMORY.md
# 在SOUL.md中启用自动记忆
## 记忆管理
- 当用户提到重要信息时,自动更新MEMORY.md
- 定期整理记忆,删除过时信息
- 记忆格式:时间戳 + 事件 + 关键词

# 手动触发记忆整理
openclaw memory compact   # 压缩记忆
openclaw memory search "关键词"  # 搜索记忆

🗄️ L4: 向量数据库长期记忆

什么是向量记忆?

向量数据库将文本转换为数学向量,通过语义相似度检索。即使你用不同的措辞描述同一件事,也能找到相关记忆。

配置向量数据库

# 方案1: LanceDB(本地,推荐)
# OpenClaw内置支持
memory:
  vector:
    provider: "lancedb"
    path: "~/.openclaw/memory/vectors"
    embeddingModel: "text-embedding-3-small"

# 方案2: ChromaDB(本地)
memory:
  vector:
    provider: "chroma"
    host: "localhost"
    port: 8000

# 方案3: Pinecone(云端)
memory:
  vector:
    provider: "pinecone"
    apiKey: "your-api-key"
    environment: "us-west1-gcp"
    index: "openclaw-memory"

记忆存储与检索

# 自动存储对话到向量数据库
# 在config.yaml中启用
memory:
  autoStore: true
  storeAfter: 5  # 每5轮对话自动存储
  categories:
    - "用户偏好"
    - "项目信息"
    - "技术讨论"
    - "个人事件"

# 语义检索记忆
# Agent在回答问题时会自动检索相关记忆
# 也可以手动触发
openclaw memory recall "上次讨论的部署方案"

记忆检索示例

# 用户问:"我们之前讨论的那个优化方案是什么?"
# Agent会:
# 1. 将问题转换为向量
# 2. 在向量数据库中搜索相似记忆
# 3. 找到3个月前的对话:"讨论了数据库索引优化方案..."
# 4. 基于历史记忆回答

# 检索结果示例:
{
  "query": "优化方案",
  "results": [
    {
      "score": 0.92,
      "content": "2026-03-15: 讨论了数据库索引优化...",
      "timestamp": "2026-03-15T10:30:00Z"
    },
    {
      "score": 0.87,
      "content": "2026-04-02: 测试了Redis缓存方案...",
      "timestamp": "2026-04-02T14:20:00Z"
    }
  ]
}

🔧 记忆优化策略

1. 记忆分层存储

2. 记忆去重与合并

# 定期清理重复记忆
openclaw cron add \
  --name "memory-cleanup" \
  --schedule "0 3 * * 0" \
  --task '清理Agent记忆:
    1. 合并重复的记忆条目
    2. 删除过时的信息(超过90天的待办)
    3. 压缩长对话记录为摘要
    4. 更新MEMORY.md中的统计信息'

3. 记忆安全

📊 记忆系统对比

方案优点缺点适用场景
MEMORY.md简单、可读不支持语义搜索结构化信息
LanceDB本地、免费性能一般个人使用
ChromaDB灵活、易用需要额外服务开发测试
Pinecone高性能、托管收费生产环境
Qdrant高性能、开源需要部署企业私有化

💡 最佳实践

🆘 常见问题

Q: Agent总是忘记之前说过的话?
A: 检查MEMORY.md是否被正确读取。确认上下文窗口足够大。考虑启用向量记忆存储长期信息。
Q: 记忆文件越来越大怎么办?
A: 定期运行记忆压缩任务。将旧记忆迁移到向量数据库。删除不再相关的信息。
Q: 向量检索不准确?
A: 尝试不同的embedding模型。调整检索数量(topK)。确保记忆文本质量高、信息完整。

🔗 相关推荐

📄 文章
OpenClaw 入门指南
📄 文章
OpenClaw 完全教程
📄 文章
OpenClaw 最佳实践
📄 文章
OpenClaw 自动化工作流
📄 文章
OpenClaw 配置详解