feat: 添加 Sean Matthew 的 OpenClaw 优化文章 x2

This commit is contained in:
2026-03-25 07:15:26 +08:00
parent d1ce4b3c22
commit 058c0fa19b
2 changed files with 235 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
# How to Fix Your OpenClaw's Memory
> **来源**: [X @_sean_matthew](https://x.com/_sean_matthew/status/2031800232569102610)
> **作者**: Sean Matthew (认证账号)
> **发布日期**: 2026年3月12日
> **查看**: 1,669 次 | 5 转帖 | 41 喜欢 | 50 书签
---
## 摘要
作者分享了修复 OpenClaw 内存问题的四个关键优化,帮助降低 token 消耗并提升 Agent 稳定性。
---
## 问题背景
几周前,作者的 OpenClaw 出现问题:
- Agent 不断遗忘重要上下文
- Skills 没有正确触发
- Cron job 停止运行
- Telegram 中持续出现上下文相关错误
- 会话越长token 消耗越多
最初以为是模型问题(当时使用 Kimi K2.5),后来切换到 Sonnet 4.6 有所改善,但**真正的问题在于 OpenClaw 的内存和上下文管理方式**。
---
## 四个修复方案
### Fix 1: 防止压缩Compaction时丢失重要上下文
**问题**: OpenClaw 有有限的上下文窗口,会话变长时会压缩旧消息为摘要,但重要的指令和细节会丢失。
**解决方案**:
1. **Memory Flush** - 在压缩前将重要信息写入磁盘
2. **Session Pruning** - 积极清理旧的上下文
> 核心原则:只在上下文窗口中的内容是临时的,存在磁盘上的才会保留。
---
### Fix 2: 让检索真正生效
**问题**: 重要信息虽然保存在磁盘上,但 Agent 不会主动查找,或者默认检索效果不够好。
**解决方案**:
1. 安装并配置 **QMD** (Tobi Lutke 的混合搜索引擎,结合关键词匹配、向量语义搜索和 LLM 重排序)
2. 在 AGENTS.md 顶部添加明确的检索指令,让 Agent 在执行任务前搜索相关上下文
3. 建立 LEARNINGS.md 文件,记录每次犯错后的规则,防止重复相同错误
---
### Fix 3: Heartbeat 成本陷阱
**问题**: Heartbeat 每 30 分钟唤醒一次,每次都是完整的 API 调用,携带整个会话上下文(可能 10,000-15,000 tokens非常昂贵。
**解决方案**:
```json
{
"agents": {
"defaults": {
"heartbeat": {
"every": "30m",
"lightContext": true,
"model": "google/gemini-3.1-flash-lite-preview",
"activeHours": {
"start": "08:00",
"end": "23:00"
}
}
}
}
}
```
关键优化:
- **lightContext: true** - 只加载 HEARTBEAT.md而不是整个系统提示
- **使用便宜模型** - 如 Gemini 3.1 Flash-Lite甚至可以用本地模型
- **限制活跃时间** - 不需要凌晨 3 点检查,将心跳调用减半
- **保持 HEARTBEAT.md 精简** - 只保留最基本的检查清单
---
### Fix 4: 完整系统提示审计
**问题**: AGENTS.md、SOUL.md、TOOLS.md、IDENTITY.md、USER.md、HEARTBEAT.md、MEMORY.md 都会自动加载,作者从未审计过它们的大小和冗余。
**解决方案**: 让 Claude Code 审计整个系统提示,识别冗余、重复和不必要的部分并精简。
> 真正的问题不是换模型,而是裁剪不必要的系统文件。
---
## 总结
推荐的优化顺序:
1. **Memory Flush** - 压缩前将重要上下文写入磁盘
2. **Session Pruning** - 防止长会话拖拽无效上下文
3. **Retrieval + 启动指令** - 升级 QMD确保 Agent 明确搜索 prior context
4. **Heartbeat 优化** - 轻量上下文、便宜模型、限制活跃时间、精简 HEARTBEAT.md
5. **系统提示审计** - 裁剪冗余内容
**核心观点**: 构建 OpenClaw 时,选择的模型只是其次,**真正的价值在于确保 Agent 有良好的内存和上下文管理系统**。
---
## 相关资源
- [Ramya's article on agent memory debugging](https://x.com/i/article/2025615759771123712)
- [OpenClaw memory docs](https://docs.openclaw.ai/concepts/memory)
- [OpenClaw session pruning docs](https://docs.openclaw.ai/concepts/session-pruning)
- [OpenClaw heartbeat docs](https://docs.openclaw.ai/gateway/heartbeat)
- [QMD by Tobi Lutke](https://github.com/tobi/qmd)
- [YouTube 视频教程](https://youtu.be/UTztjR4o7Y8)