六、记忆系统问题
📌 本节包含 3 个问题:Q56: AI 不记得之前说的话 | Q57: 记忆文件太大 | Q58: 多 Agent 共享记忆
Q1: AI 不记得之前说的话
现象: 你之前告诉 AI「我叫小明」或「我喜欢用 Python」,但下次对话时 AI 完全不记得这些信息,像是第一次跟你聊天一样。
原因: OpenClaw 的记忆是基于 Markdown 文件的。如果信息没有被写入记忆文件,下次会话就不会加载。
解决方案:
bash
# 第一步:检查记忆文件是否存在
ls ~/.openclaw/workspace/memory/
cat ~/.openclaw/workspace/MEMORY.md
# 第二步:主动让 AI 记住
# 发消息:"记住:我喜欢用 Python,不喜欢 Java"
# AI 会把这条信息写入 MEMORY.md
# 第三步:确认记忆刷新机制(compaction 时自动保存重要信息)
openclaw config get agents.defaults.compaction.memoryFlush
# 确保 memoryFlush.enabled 是 true
# 第四步:手动编辑记忆文件
nano ~/.openclaw/workspace/MEMORY.md
# 把重要信息直接写进去
# 第五步(v2026.4.12+):启用 Active Memory 插件
# Active Memory 插件可自动召回、提升和整理记忆
# 通过 openclaw plugins 查看是否已启用Q2: 记忆文件太大导致 Token 超限
现象: 使用一段时间后,每次新对话刚开始就报错 token limit exceeded,或者发现 API 费用突然增加。检查发现 ~/.openclaw/workspace/MEMORY.md 文件已经有几百甚至上千行。
解决方案:
bash
# 查看记忆文件大小
wc -l ~/.openclaw/workspace/MEMORY.md
du -sh ~/.openclaw/workspace/memory/
# 方案一:精简 MEMORY.md
# 删除过时的、不再需要的信息
nano ~/.openclaw/workspace/MEMORY.md
# 方案二:手动归档旧日志(OpenClaw 没有内置自动清理配置)
mkdir -p ~/.openclaw/workspace/memory/archive
mv ~/.openclaw/workspace/memory/2025-*.md ~/.openclaw/workspace/memory/archive/
# 归档后运行 openclaw memory index 重建索引
# 方案三:控制 MEMORY.md 大小(建议 500 行 / 3000 tokens 以内)
# MEMORY.md 每次会话都会加载到上下文,太大会挤占对话空间
wc -l ~/.openclaw/workspace/MEMORY.mdQ3: 怎么在多个 Agent 之间共享记忆?
说明: 默认情况下,所有 Agent 共享同一个 workspace 和记忆目录。如果你想隔离,在配置文件中为不同 Agent 指定独立的 workspace:
jsonc
// ~/.openclaw/openclaw.json
{
"agents": {
"list": [
{
"id": "my-agent",
"workspace": "~/.openclaw/workspace-my-agent"
}
]
}
}每个 Agent 的 workspace 下有独立的 MEMORY.md 和 memory/ 目录,实现完全隔离。如果需要共享部分记忆,可以用符号链接指向同一个 MEMORY.md 文件。