1. 项目概述:让OpenClaw拥有持续学习能力
"七秒记忆"这个梗在AI圈里特指那些无法保留历史对话状态的智能体——每次交互都像初次见面。我最近给OpenClaw装了个叫Self-Improving-Agent的Skill,效果堪比给金鱼换了固态硬盘。这个技能包能让AI自动记录错误、学习修正,并通过结构化存储形成长期记忆。
传统AI助手最大的痛点在于:当你第三次纠正同一个错误时,它依然会露出那种"初次见面请多指教"的无辜表情。Self-Improving-Agent通过三个核心机制打破这个循环:
- 实时错误捕捉:自动记录命令失败、API异常等状况
- 主动学习标记:当用户说"不对,应该是..."时自动创建修正条目
- 知识蒸馏系统:将高频经验提升为永久记忆
安装后最直观的变化是:昨天教过的代码规范,今天它居然主动提醒我遵守。这种"被记住"的体验,让协作效率提升了至少三倍。
2. 核心功能解析与部署实战
2.1 技能安装的两种姿势
推荐通过ClawHub商店一键安装:
bash复制clawdhub install self-improving-agent
手动部署时需要特别注意路径结构:
bash复制git clone https://github.com/peterskoett/self-improving-agent.git /tmp/sia-repo
cp -r /tmp/sia-repo/self-improving-agent ~/.openclaw/skills/
关键细节:必须复制self-improving-agent子目录,而非整个仓库。我首次部署时就犯了直接克隆根目录的错误,导致技能加载失败。
2.2 记忆仓库初始化
技能需要以下目录结构:
code复制~/.openclaw/workspace/
├── AGENTS.md # 多智能体协作方案
├── SOUL.md # 行为准则库
├── TOOLS.md # 工具使用百科
└── .learnings/ # 动态学习区
├── LEARNINGS.md # 知识沉淀
├── ERRORS.md # 错误档案
└── FEATURE_REQUESTS.md # 需求池
初始化命令暗藏玄机:
bash复制mkdir -p ~/.openclaw/workspace/.learnings
printf "# Learnings\n\n**Categories**: correction|insight|knowledge_gap|best_practice\n\n---\n" > .learnings/LEARNINGS.md
这个分类体系直接影响后续的知识管理效率,建议不要修改默认分类。
3. 日常使用中的进阶技巧
3.1 错误自动捕获配置
启用hooks后能实现两大自动化:
bash复制cp -r ~/.openclaw/skills/self-improving-agent/hooks ~/.openclaw/hooks/
openclaw hooks enable self-improvement
这会激活:
- 会话启动时自动检查待处理错误
- 会话结束时扫描错误日志(需配合
.learnings/目录存在)
实测发现,对于长时间运行的会话,建议额外添加定时提醒:
bash复制echo "0 * * * * openclaw skill trigger self-improvement review" >> /etc/crontab
3.2 知识条目编写规范
优质的学习条目包含这些要素:
markdown复制## [LRN-20240815-001] correction
**Priority**: high
**Area**: backend
### 问题现象
API返回字段名应为"userID"而非"userId"
### 修正方案
统一使用驼峰式命名
### 元数据
- Pattern-Key: api.field-naming
- Related: APIv2规范文档
特别有用的Pattern-Key设计原则:
- 格式:
领域.症状(如deps.version-conflict) - 避免具体值:用
auth.token-expired而非auth.jwt-expired - 两级结构:确保足够通用又可分类
4. 知识提炼与升级策略
4.1 从临时记忆到永久记忆
当某个学习条目满足:
- 重复出现≥3次
- 跨≥2个任务场景
- 30天内持续发生
就应该升级到对应知识库:
- 代码规范 → SOUL.md
- 工具技巧 → TOOLS.md
- 工作流 → AGENTS.md
升级示例:
markdown复制[原学习条目]
## [LRN-20240801-003] best_practice
**摘要**:Python项目应使用`poetry install`而非`pip install`
[升级到TOOLS.md]
## Python依赖管理
- 始终使用`poetry install`(自动处理子依赖)
- 需要更新时使用`poetry update package`
4.2 跨会话知识同步
通过内置命令实现经验共享:
bash复制# 查看活跃会话
openclaw sessions list
# 发送经验包
openclaw sessions send 3a5f .learnings/LEARNINGS.md --filter="area:backend"
安全提示:默认仅传输元数据,如需共享具体内容需添加
--include-body参数
5. 避坑指南与效能优化
5.1 常见故障排查
症状1:技能安装后无反应
- 检查
~/.openclaw/skills/目录权限 - 确认未同时存在
self-improving-agent和self_improving_agent目录
症状2:hooks未触发
- 运行
openclaw hooks list确认状态 - 检查
~/.openclaw/hooks/self-improvement/是否存在
5.2 性能优化方案
当.learnings/文件过大时:
bash复制# 按领域拆分文件
awk '/## Area: frontend/{f="frontend.md"} {print > f}' LEARNINGS.md
# 定期归档(保留最近30天)
find .learnings/ -name "*.md" -mtime +30 -exec tar -czf archive.tar.gz {} +
5.3 私人定制技巧
- 快捷键配置:
bash复制alias sia-review="openclaw skill trigger self-improvement review"
- 可视化监控:
bash复制watch -n 60 'grep -c "Status: pending" .learnings/*.md'
- 智能提醒:在
.bashrc添加:
bash复制[ -f ~/.openclaw/workspace/.learnings/ERRORS.md ] &&
grep -q "Priority: critical" &&
echo "【紧急】存在未处理的关键错误!"
经过两周深度使用,这个技能最让我惊喜的不是技术本身,而是它改变了人机协作的节奏。现在当我说"记得我们上次讨论的代码规范吗?",OpenClaw真的能接上话——这种体验就像给金鱼装上了外接硬盘,而且是个会自动整理分类的智能硬盘。
