乐于分享
好东西不私藏

OpenClaw Self-Improving Agent 实战指南:让你的 AI 助手越用越聪明

OpenClaw Self-Improving Agent 实战指南:让你的 AI 助手越用越聪明

一套让 AI Agent 自动记录错误、学习经验、持续进化的完整方法论

什么是 Self-Improving Agent?

想象一下:你的 AI 助手每次犯错都会记下来,下次遇到同样问题就能自动避免。用户纠正它时,它会学习并记住正确的做法。随着时间的推移,它变得越来越聪明,越来越懂你的项目和偏好。

这就是 Self-Improving Agent —— 一个能让 AI 持续学习的技能框架。

核心理念

传统的 AI 每次对话都是「从零开始」,而 Self-Improving Agent 通过结构化的学习记录,实现了:

  • 错误不再重犯
     — 记录失败原因和解决方案
  • 经验持续积累
     — 每次学到的东西都被保存
  • 知识自动提升
     — 重要发现会被推广到项目级文档

工作原理

三层学习结构

~/.openclaw/workspace/├── .learnings/              # 学习记录层│   ├── LEARNINGS.md         # 经验教训│   ├── ERRORS.md            # 错误日志│   └── FEATURE_REQUESTS.md  # 功能需求├── AGENTS.md                # 工作流提升层├── SOUL.md                  # 行为准则层└── TOOLS.md                 # 工具使用层

学习流转机制

┌─────────────────┐│  发现问题/经验   │└────────┬────────┘         ↓┌─────────────────┐│ 记录到 .learnings│  ← 第一层:原始记录└────────┬────────┘         ↓ (重复出现 3+ 次)┌─────────────────┐│ 推广到 AGENTS.md │  ← 第二层:项目规则└────────┬────────┘         ↓ (广泛适用)┌─────────────────┐│ 提升到 SOUL.md   │  ← 第三层:行为准则└─────────────────┘

快速开始

Step 1:安装 Skill

方式一:通过 ClawHub 安装(推荐)

clawdhub install self-improving-agent

方式二:手动安装

git clone https://github.com/peterskoett/self-improving-agent.git ~/.openclaw/skills/self-improving-agent

Step 2:创建学习目录

mkdir -p ~/.openclaw/workspace/.learnings

Step 3:初始化学习文件

创建三个核心文件:

LEARNINGS.md — 经验教训

# Learnings Log记录 AI 助手学到的经验、用户纠正、知识缺口。## 使用方法- 用户纠正时 → 添加 correction 条目- 发现新知识 → 添加 knowledge_gap 条目- 找到更好方法 → 添加 best_practice 条目

ERRORS.md — 错误日志

# Errors Log记录命令失败、异常、意外行为。

FEATURE_REQUESTS.md — 功能需求

# Feature Requests Log记录用户希望有但尚未实现的功能。

实战演练

场景 1:记录命令错误

假设你运行 pnpm build 失败,AI 助手发现是因为用了 npm 而不是 pnpm

在 .learnings/ERRORS.md 中添加:

## [ERR-20260323-001] npm_command_wrong**Logged**: 2026-03-23T10:00:00Z**Priority**: high**Status**: resolved**Area**: config### Summary使用了 npm 命令导致构建失败,项目使用 pnpm### ErrorERR! This project uses pnpm. Please use pnpm install instead.### Context- 执行 npm install 失败- 项目锁定文件是 pnpm-lock.yaml### Resolution- Resolved: 2026-03-23T10:05:00Z- Notes: 项目使用 pnpm,所有 npm 命令需替换为 pnpm

场景 2:记录用户纠正

用户说:"不对,我们项目的 API 基础路径是 /api/v2,不是 /api"

在 .learnings/LEARNINGS.md 中添加:

## [LRN-20260323-001] correction**Logged**: 2026-03-23T10:10:00Z**Priority**: high**Status**: promoted**Area**: backend### SummaryAPI 基础路径是 /api/v2 而非 /api### Details用户纠正:项目 API 基础路径为 /api/v2,之前错误使用 /api 导致 404### Suggested Action所有 API 调用使用 /api/v2 前缀### Metadata- Source: user_feedback- Related Files: src/api/*.ts- Tags: api, configuration### Resolution- Promoted: AGENTS.md

场景 3:推广到项目规则

当同一错误出现 3 次以上,推广到 AGENTS.md

在 AGENTS.md 中添加:

## API 规范- API 基础路径:/api/v2- 所有 API 调用必须使用此前缀- 参考文件:src/api/config.ts## 包管理- 包管理器:pnpm(不是 npm)- 安装依赖:pnpm install- 添加依赖:pnpm add package

学习条目格式详解

学习条目(LEARNINGS.md)

## [LRN-YYYYMMDD-XXX] category**Logged**: ISO-8601 时间戳**Priority**: low | medium | high | critical**Status**: pending | resolved | promoted**Area**: frontend | backend | infra | tests | docs | config### Summary一句话描述学到了什么### Details完整上下文:发生了什么,什么是对的### Suggested Action具体的改进建议### Metadata- Source: conversation | error | user_feedback- Related Files: 相关文件路径- Tags: 标签- See Also: LRN-20260320-001(关联条目)

错误条目(ERRORS.md)

## [ERR-YYYYMMDD-XXX] skill_or_command_name**Logged**: ISO-8601 时间戳**Priority**: high**Status**: pending | resolved### Summary简要描述什么失败了### Error实际的错误信息### Context- 尝试的命令/操作- 输入参数- 环境详情### Suggested Fix可能的解决方案

功能请求条目(FEATURE_REQUESTS.md)

## [FEAT-YYYYMMDD-XXX] capability_name**Logged**: ISO-8601 时间戳**Priority**: medium**Status**: pending### Requested Capability用户想要什么功能### User Context为什么需要,解决什么问题### Complexity Estimatesimple | medium | complex### Suggested Implementation如何实现

高级技巧

技巧 1:设置心跳提醒

在 HEARTBEAT.md 中添加自动检查:

## 每日学习检查- [ ] 检查 .learnings/ 中的 pending 条目- [ ] 推广重复出现的学习- [ ] 解决已修复的错误

技巧 2:使用模式键去重

为重复出现的问题设置 Pattern-Key

### Metadata- Pattern-Key: config.wrong_package_manager- Recurrence-Count: 3- First-Seen: 2026-03-20- Last-Seen: 2026-03-23

当 Recurrence-Count >= 3 时,自动推广到 AGENTS.md。

技巧 3:链接相关条目

使用 See Also 链接相关学习:

### Metadata- See Also: ERR-20260320-001, LRN-20260321-003

技巧 4:快速状态检查

# 统计待处理条目grep -h "Status**: pending" .learnings/*.md | wc -l# 列出高优先级问题grep -B5 "Priority**: high" .learnings/*.md | grep "^## \["# 查找特定领域的学习grep -l "Area**: backend" .learnings/*.md

什么时候记录?

自动触发场景

情况
行为
目标文件
命令执行失败
记录错误
ERRORS.md
用户说"不对"/"其实"
记录纠正
LEARNINGS.md
用户说"希望能..."
记录需求
FEATURE_REQUESTS.md
发现更好的方法
记录最佳实践
LEARNINGS.md
知识已过时
记录知识缺口
LEARNINGS.md

用户触发语

  • "记下来"
  • "这是个教训"
  • "下次记住"
  • "保存这个学习"

推广决策树

发现学习/错误      │      ▼是否影响多个文件/功能?      │      ├─ 否 → 保持在学习记录      │      └─ 是 → 是否出现 3 次以上?                │                ├─ 否 → 保持观察                │                └─ 是 → 推广到哪个文件?                          │                          ├─ 工作流相关 → AGENTS.md                          ├─ 行为风格 → SOUL.md                          └─ 工具使用 → TOOLS.md

最佳实践

1. 立即记录

上下文最清晰的时候就是问题发生的时候,不要拖延。

2. 具体明确

不要写"配置有问题",要写"API 路径应为 /api/v2 而非 /api"。

3. 包含复现步骤

尤其是错误,要记录完整的复现路径。

4. 链接相关文件

记录涉及的文件路径,方便后续修复。

5. 积极推广

如果有疑问,就推广到 AGENTS.md。多记录比少记录好。

6. 定期审查

每周检查一次 .learnings/ 目录: - 解决已修复的问题 - 推广重复出现的模式 - 清理过时的条目


常见问题

Q: 学习记录会被 Git 追踪吗?

A: 取决于你的选择:

# 不追踪(个人学习).learnings/# 追踪(团队共享)# 不添加到 .gitignore

Q: 多个 Session 如何共享学习?

A: OpenClaw 提供了跨会话工具: - sessions_list — 查看活跃会话 - sessions_history — 读取其他会话记录 - sessions_send — 发送学习到其他会话

Q: 如何判断是否应该推广?

A: 问自己三个问题: 1. 这个学习是否适用于多个文件? 2. 其他开发者(人类或 AI)是否需要知道? 3. 这个问题是否会重复出现?

任一答案为「是」,就应该推广。


总结

Self-Improving Agent 是 OpenClaw 生态中一个强大的学习框架:

三层结构 - .learnings/ — 原始记录 - AGENTS.md — 项目规则 - SOUL.md — 行为准则

自动触发 - 错误自动记录 - 纠正自动学习 - 模式自动检测

持续进化 - 经验不断积累 - 知识自动提升 - AI 越来越聪明


相关资源

  • GitHub 仓库
    https://github.com/peterskoett/self-improving-agent
  • ClawHub 安装
    https://clawhub.ai/pskoett/self-improving-agent
  • OpenClaw 文档
    https://docs.openclaw.ai

话题标签: #OpenClaw #AIAgent #SelfImprovement #自动化 #持续学习


让你的 AI 助手成为会学习的伙伴。