self-improving-agent
SKILL.md
Self-Improving Agent
让AI从错误中学习,越用越聪明。
核心解决的问题
✅ 命令/操作莫名失败,下次还用同样的错方式
✅ 反复纠正AI的写法、偏好、风格,它下个会话又忘了
✅ 同一个项目里反复踩同一个坑
✅ 发现更好的做法/更优解法,却没有系统化记住
✅ 外部工具/API变动,AI还在用旧知识
✅ 重要经验只存在于当前会话,跨天/跨项目就丢失
安装
# 创建记忆目录
mkdir -p ~/.openclaw/memory/self-improving
# 使用本skill
cat ~/.openclaw/skills/self-improving-agent/SKILL.md
使用方法
1. 记录错误(自动)
当命令失败时,自动记录到错误库:
# 脚本会自动捕获并记录
python3 ~/.openclaw/skills/self-improving-agent/log_error.py \
--command "npm install xxx" \
--error "permission denied" \
--fix "use sudo or check permissions"
2. 记录用户纠正
当用户说:
- "不对,应该..."
- "错了,要用..."
- "不对,我之前说过..."
自动记录:
python3 ~/.openclaw/skills/self-improving-agent/log_correction.py \
--topic "代码风格" \
--wrong "用了双引号" \
--correct "项目要求单引号" \
--context "AGENTS.md 第23行"
3. 记录最佳实践
发现更好的做法时:
python3 ~/.openclaw/skills/self-improving-agent/log_best_practice.py \
--category "security" \
--practice "安装skill前必须审计代码" \
--reason "防止供应链投毒"
4. 查看记忆(执行前自动检查)
# 执行命令前,先检查是否有相关记忆
python3 ~/.openclaw/skills/self-improving-agent/check_memory.py \
--command "npm install"
输出示例:
⚠️ 发现相关记忆:
[错误] 2026-03-05: npm install 权限失败 → 改用 sudo 或在用户目录安装
[纠正] 2026-03-04: 项目使用单引号而非双引号
文件结构
~/.openclaw/memory/self-improving/
├── errors.jsonl # 错误记录
├── corrections.jsonl # 用户纠正
├── best_practices.jsonl # 最佳实践
├── knowledge_gaps.jsonl # 知识盲区
└── index.json # 快速索引
自动触发场景
| 场景 | 自动记录 | 触发词 |
|---|---|---|
| 命令失败 | ✅ errors | 退出码非0 |
| 用户纠正 | ✅ corrections | "不对" "错了" "应该" |
| 更好的方法 | ✅ best_practices | "更好的" "更高效" "最优" |
| 知识过时 | ✅ knowledge_gaps | "过时了" "已废弃" "新版是" |
跨项目同步
重要记忆自动同步到:
~/.openclaw/memory/self-improving/(全局)- 当前项目
.learnings/(项目级) AGENTS.md(用户偏好)MEMORY.md(长期记忆)
与现有Skill对比
| 功能 | 原self-improvement | 本skill |
|---|---|---|
| 记录错误 | ✅ | ✅ |
| 记录纠正 | ✅ | ✅ 增强版 |
| 自动触发 | ❌ 手动 | ✅ 自动 |
| 跨项目记忆 | ❌ 项目级 | ✅ 全局+项目 |
| 执行前检查 | ❌ | ✅ |
| 知识过时检测 | ❌ | ✅ |
示例工作流程
场景1:用户纠正代码风格
用户: "不对,我说过项目里要用单引号"
AI动作:
- 自动记录纠正到
corrections.jsonl - 更新
AGENTS.md添加代码风格规则 - 回复: "已记录,下次会使用单引号"
场景2:命令反复失败
AI: 执行 npm install -g xxx
结果: 权限失败
AI动作:
- 记录错误到
errors.jsonl - 下次执行前检查记忆
- 自动改用:
sudo npm install -g xxx或本地安装
场景3:发现更好做法
用户: "其实用 pip install -e . 更高效"
AI动作:
- 记录最佳实践到
best_practices.jsonl - 后续安装Python包时优先使用 editable 模式
注意事项
- 记忆文件定期备份到git
- 敏感信息脱敏后记录
- 定期review并清理过时记忆
Created: 2026-03-05 by 老二