Self-Improving Agent:让 AI Agent 从错误中学习的 OpenClaw Skill
> 来源: clawhub.ai/pskoett/self-improving-agent
> 作者: pskoett(Peter Skoett)
> GitHub: peterskoett/self-improving-agent
> 平台: ClawHub
> 研究时间: 2026-03-31
🎯 一句话版本
一个 OpenClaw Skill,让 agent 自动把犯过的错误、用户的纠正、发现的最佳实践记录到 markdown 文件里,重复出现的模式自动"晋升"到 AGENTS.md / SOUL.md / TOOLS.md,实现跨 session 的持续学习。
🔧 工作原理
核心:三个 Markdown 日志文件
.learnings/
├── LEARNINGS.md # 纠正、洞察、知识空白、最佳实践
├── ERRORS.md # 命令失败、集成错误
└── FEATURE_REQUESTS.md # 用户请求的能力
触发 → 记录 → 晋升 循环
用户纠正 agent → 记录 [LRN-20260331-001] correction
命令失败 → 记录 [ERR-20260331-001] command_name
用户要新功能 → 记录 [FEAT-20260331-001] capability_name
发现更好方法 → 记录 [LRN-20260331-002] best_practice
↓
同一模式出现 3 次以上
↓
晋升到 AGENTS.md / SOUL.md / TOOLS.md
(写成简短预防规则,不是长事故报告)
每条记录的格式
## [LRN-20260331-001] correction
**Logged**: 2026-03-31T15:00:00Z
**Priority**: high
**Status**: pending
**Area**: backend
### Summary
一行描述
### Details
完整上下文
### Suggested Action
具体修复建议
### Metadata
- Source: user_feedback
- Pattern-Key: harden.input_validation
- Recurrence-Count: 2
晋升规则
满足以下全部条件时,自动晋升到永久配置:
| 条件 | 阈值 |
|---|---|
| 出现次数 | ≥ 3 |
| 跨任务数 | ≥ 2 |
| 时间窗口 | 30 天内 |
晋升目标:
| 学习类型 | 晋升到 | 示例 |
|---|---|---|
| 行为模式 | `SOUL.md` | "简洁回复,避免免责声明" |
| 工作流改进 | `AGENTS.md` | "长任务启动子 agent" |
| 工具坑 | `TOOLS.md` | "Git push 需要先配置 auth" |
| 项目约定 | `CLAUDE.md` | "包管理器用 pnpm 不是 npm" |
📦 安装
ClawHub 一键安装:
clawdhub install self-improving-agent
手动安装:
git clone https://github.com/peterskoett/self-improving-agent.git ~/.openclaw/skills/self-improving-agent
通用兼容:不只支持 OpenClaw,也支持 Claude Code(CLAUDE.md)、GitHub Copilot(.github/copilot-instructions.md)、Codex 等。
💡 与我们的关联
1. 这就是我们一直在手动做的事情的系统化
我们已经在用 AGENTS.md 记录研究流程规则、SOUL.md 定义行为准则、TOOLS.md 记录工具笔记。Self-Improving Agent 把这个过程自动化和结构化了——不再依赖 Jay 手动说"把这个加到 doc",agent 自己会记录和晋升。
2. 和 Meta-Harness 是同一方向的不同层次
| 项目 | 层次 | 方法 |
|---|---|---|
| **Meta-Harness**(Stanford) | 系统级 | 自动改写整个 harness 代码 |
| **Self-Improving Agent** | 实践级 | 手动记录 + 规则晋升 |
| **我们现在的做法** | 临时级 | 口头"补充到 doc" |
Self-Improving Agent 是 Meta-Harness 的朴素版——不需要 Claude Code 费用,纯文件操作。
3. 实际可以直接用
这个 skill 的设计完全匹配 OpenClaw 的 workspace 模式——.learnings/ 目录 + markdown 文件 + 晋升到现有的 SOUL.md / AGENTS.md / TOOLS.md。可以直接装上试试。
4. "Simplify & Harden" 联动
Skill 内置了和另一个 skill(simplify-and-harden)的联动——重复出现的代码模式会自动被捕获并转化为预防规则。这种 skill 组合的思路值得借鉴。
5. 安全意识不错
明确规定不记录 secrets、tokens、私钥、环境变量。跨 session 通信只在信任环境中使用。这些约束合理。
🔍 具体怎么实现?真实案例演示
案例 1:用户纠正 → 记录 → 晋升
第 1 次(3月27日):agent 在 Discord 里用 text 格式发链接,用户说"Discord 不渲染 Markdown 链接,直接贴 URL"。
Agent 自动追加到 .learnings/LEARNINGS.md:
## [LRN-20260327-001] correction
**Logged**: 2026-03-27T10:00:00Z
**Priority**: high | **Status**: pending | **Area**: docs
### Summary
Discord 消息中不能用 Markdown 链接格式
### Details
在 #deep-research 频道用 [text](url) 格式发链接,Discord 不渲染。
### Suggested Action
Discord 消息里所有链接直接贴完整 URL,报告 markdown 里用 [text](url)
### Metadata
- Source: user_feedback
- Pattern-Key: discord.link_format
- Recurrence-Count: 1
第 2、3 次:又犯同样的错 → Recurrence-Count 递增到 3 → 触发晋升规则(≥3 次 + ≥2 个任务 + 30 天内)
Agent 自动写入 AGENTS.md:
## Discord 链接格式
- 所有链接必须是完整 URL,不要用 Markdown [text](url) 格式
原条目标记为 Status: promoted。从此每次新 session 都知道这条规则。
案例 2:命令失败 → 记录
web_search 被 429 限流 → 自动追加到 .learnings/ERRORS.md:
## [ERR-20260331-001] web_search
**Priority**: medium | **Status**: pending
### Error
Brave Search API error (429): rate limit exceeded
### Suggested Fix
使用 DuckDuckGo fallback: python3 search.py "<query>"
反复出现 → 晋升到 TOOLS.md 的搜索工具部分。
触发机制:靠 Prompt,不是代码
没有 webhook、没有代码监听、没有事件系统——完全靠 LLM 理解 SKILL.md 里的指令后"自觉执行"。
SKILL.md 注入到 system prompt 后,定义了触发模式:
- 纠正类:"不对..."、"应该是..."、"你搞错了..."
- 功能请求类:"能不能..."、"我希望你能..."
- 知识空白类:用户提供 agent 不知道的信息
- 错误类:命令返回非零退出码、异常、超时
Agent 检测到这些模式 → 自己调用 write/edit 工具追加记录 → 然后继续正常对话。
优缺点:
- ✅ 零基础设施,装完就用,纯文件操作
- ❌ agent 可能忘记记录(context 很长时尤其容易丢)
- ❌ 取决于模型对 prompt 的遵从度(Opus 基本都会听,小模型可能丢)
⚠️ 局限
- 依赖 agent 自觉——如果 agent 不主动记录,就没有学习
- 无自动评估——不知道记录的学习是否真的有用
- 晋升规则简单——"出现 3 次就晋升"可能导致噪声进入核心配置
- 没有遗忘机制——日志只增不删,长期会膨胀
- 单用户设计——没有考虑多 agent 协作场景的冲突
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 创新性 | 7.0 — 把"从错误中学习"系统化为 OpenClaw Skill |
| 实用性 | 8.5 — 直接可用,格式清晰,兼容多平台 |
| 完成度 | 8.0 — 文档详尽,格式完整,有 hook 集成 |
| 技术深度 | 6.0 — 纯文件操作,无 ML/自动化决策 |
| 与我们的相关度 | 9.0 — 完全匹配我们的工作模式,可直接安装使用 |
| **综合** | **7.5** |
报告由深度研究助手自动生成 | 2026-03-31