【OpenClaw 实战】安装 Self-Improving-Agent,让你的 AI Agent 学会"自我进化" 🧬

你有没有想过,每次 Agent 犯的错、你纠正的话、踩过的坑……如果它都能自己记住,下次不再犯,该多好?

Self-Improving-Agent 就是干这个的。


📑 目录


一、它是什么?能干嘛?

Self-Improving-Agent 是一个 OpenClaw Skill,核心能力就一句话:

让 Agent 把犯过的错、学到的东西、用户的纠正,全部结构化地记下来,并在后续会话中自动参考。

具体来说,它会在以下场景被触发:

场景 说明
命令或操作意外失败 Agent 执行 bash 命令报错了
用户纠正 Agent 你说"不对,应该这样做"
用户请求不存在的功能 Agent 发现自己"做不到"
外部 API / 工具调用失败 第三方服务挂了或返回异常
Agent 发现自己的知识过时 比如某个 API 已经废弃
发现了更好的做法 同一件事找到了更优解

它会把这些记录以结构化 Markdown 条目的形式写入 .learnings 目录下的日志文件,每条记录包含:ID、时间戳、优先级、状态、区域标签、摘要、复现步骤、建议修复和元数据。

听起来很简单,但持续积累下来,Agent 就会越用越聪明 —— 这就是"自我进化"的含义。


二、安装(三种方式任选)

方式一:Git Clone(推荐 ✅)

最直接的方式,把仓库克隆到 OpenClaw 的 skills 目录下:

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

方式二:通过 npx playbooks 安装

如果你习惯用 playbooks CLI:

npx playbooks add skill openclaw/skills --skill self-improving-agent

方式三:直接让 Agent 自己装

没错,你可以把仓库链接丢给 Agent,让它自己处理:

请安装这个 skill: https://github.com/peterskoett/self-improving-agent

Agent 会在后台自动完成克隆和配置。不过为了确保万无一失,建议安装完手动检查一下。


三、安装后配置

克隆下来只是第一步,还需要做几项配置才能真正生效。

Step 1:创建 .learnings 目录和日志文件

在你的 OpenClaw workspace 下创建 .learnings/ 目录和三个日志文件:

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

创建日志文件(也可以从 Skill 自带的 assets/ 目录复制模板):

cat > ~/.openclaw/workspace/.learnings/LEARNINGS.md << 'EOF'
# Learnings Log
<!-- Corrections, knowledge gaps, best practices -->
EOF

cat > ~/.openclaw/workspace/.learnings/ERRORS.md << 'EOF'
# Errors Log
<!-- Command failures, exceptions -->
EOF

cat > ~/.openclaw/workspace/.learnings/FEATURE_REQUESTS.md << 'EOF'
# Feature Requests Log
<!-- User-requested capabilities -->
EOF

三个文件各司其职:

文件 记录内容
LEARNINGS.md 用户纠正、知识缺口、最佳实践
ERRORS.md 命令失败、异常报错、API 调用失败
FEATURE_REQUESTS.md 用户要求但当前不支持的功能

Step 2:安装 Hook(可选但推荐)

Hook 可以让 Skill 在特定事件发生时自动激活,而不需要你每次手动提醒 Agent。

# 复制 hook 到 OpenClaw hooks 目录
cp -r ~/.openclaw/skills/self-improving-agent/hooks/openclaw \
  ~/.openclaw/hooks/self-improvement

# 启用 hook
openclaw hooks enable self-improvement

Step 3:配置 Hook 触发器(可选,进阶)

Hook 可以启用自动提醒功能。这是可选的 —— 你必须显式配置。

基础配置(用户每次提交 prompt 时触发):

{
  "hooks": {
    "UserPromptSubmit": [{
      "matcher": "",
      "hooks": [{
        "type": "command",
        "command": "./skills/self-improvement/scripts/activator.sh"
      }]
    }]
  }
}

进阶配置(额外监听 Bash 工具调用,自动检测错误):

{
  "hooks": {
    "UserPromptSubmit": [{
      "matcher": "",
      "hooks": [{
        "type": "command",
        "command": "./skills/self-improvement/scripts/activator.sh"
      }]
    }],
    "PostToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": "./skills/self-improvement/scripts/error-detector.sh"
      }]
    }]
  }
}

说明PostToolUse + matcher: "Bash" 的组合意味着每次 Agent 执行完 Bash 命令后,都会自动检查是否有错误需要记录。这对捕获命令行报错非常有效。

Step 4:重启 Gateway

配置完成后,重启使其生效:

openclaw gateway restart

四、安装后的目录结构

全部配置完成后,你的 workspace 目录结构应该大致如下:

~/.openclaw/workspace/
├── AGENTS.md                # 多 Agent 工作流、委派模式
├── SOUL.md                  # 行为准则、个性、原则
├── TOOLS.md                 # 工具能力、集成注意事项
├── MEMORY.md                # 长期记忆(仅主会话)
├── memory/                  # 每日记忆文件
│   └── YYYY-MM-DD.md
└── .learnings/              # ← Self-Improving-Agent 的日志目录
    ├── LEARNINGS.md         # 学习记录(纠正 / 知识缺口 / 最佳实践)
    ├── ERRORS.md            # 错误记录(命令失败 / 异常)
    └── FEATURE_REQUESTS.md  # 功能请求记录

五、工作原理:什么时候会触发记录?

当被错误、纠正或功能缺失等事件触发时,Skill 会将格式化的条目写入对应的日志文件。每条记录的结构化字段包括:

  • ID:唯一标识
  • 时间戳:记录时间
  • 优先级:high / medium / low
  • 状态:open / resolved / promoted
  • 区域标签:归类(如 toolingapiworkflow
  • 摘要:一句话描述
  • 详情:复现步骤或上下文
  • 建议操作:推荐的修复方案
  • 元数据:相关文件、标签等

触发场景与写入位置对照:

触发场景 写入文件 category
命令 / 操作失败 ERRORS.md
用户纠正 Agent LEARNINGS.md correction
用户请求不存在的功能 FEATURE_REQUESTS.md
外部 API / 工具失败 ERRORS.md
发现知识过时 LEARNINGS.md knowledge_gap
发现更好的做法 LEARNINGS.md best_practice

六、学习记录的"晋升"路径

这是 Self-Improving-Agent 设计中比较精妙的一点:学习记录可以"晋升"

当某条记录被反复验证、具有广泛适用性时,可以将其从 .learnings/ 目录提取出来,晋升到中央项目文件中,使其在所有会话中持久化生效。

学习类型 晋升到 示例
行为模式 SOUL.md “保持简洁,避免免责声明”
工作流改进 AGENTS.md “长任务时派生子 Agent”
工具注意事项 TOOLS.md “Git push 前需要先配置 auth”

晋升前建议确认以下几点:

  • ✅ 解决方案已经过测试
  • ✅ 描述脱离原始上下文后仍然清晰
  • ✅ 代码示例是自包含的
  • ✅ 没有项目特定的硬编码值

七、验证安装成功

方式一:手动检查文件

# 检查 skill 文件是否存在
ls ~/.openclaw/skills/self-improving-agent/SKILL.md

# 检查 .learnings 目录
ls ~/.openclaw/workspace/.learnings/

# 检查 hook 是否启用(如果配置了 hook)
openclaw hooks list | grep self-improvement

方式二:跟 Agent 对话验证

直接让 Agent 自检:

我刚安装了 self-improving-agent skill,请帮我确认:
1. .learnings 目录是否配置正确
2. 三个日志文件是否存在
3. 尝试记录一条测试学习

如果一切正常,Agent 会在 LEARNINGS.md 中写入一条测试记录,你可以打开文件确认。


八、安全提示

⚠️ Skills 列表中的内容是经过策展的,但并非经过审计的。

它们可能随时被原始维护者更新、修改或替换。在安装或使用任何 Agent Skill 之前:

  1. 自行审查代码,关注潜在的安全风险
  2. 验证来源是否可信
  3. 可以访问 ClawHub 上该 Skill 的页面查看 VirusTotal 扫描报告(OpenClaw 与 VirusTotal 有合作)

九、小贴士

  1. 不要把 .learnings/ 加到 .gitignore
    如果是团队项目,学习记录应该被提交到仓库,作为团队共享知识。新成员加入时可以快速了解历史踩坑记录。

  2. OpenClaw 是主要平台
    该 Skill 使用基于 workspace 的 prompt 注入,OpenClaw 会自动加载 skill 文件,无需额外配置加载路径。

  3. Hook 不是必需的,但强烈建议启用
    没有 Hook 时,你需要在对话中主动提醒 Agent “记录一下这个错误”。有了 Hook,Agent 会自动检测并记录,省心很多。

  4. 定期 Review 学习记录
    建议每周花几分钟浏览 .learnings/ 下的文件,把有价值的条目晋升到对应的中央文件中。这个习惯会让你的 Agent 随时间变得越来越强。

  5. 记录的条目格式是标准化的
    结构化字段包括 ID、时间戳、优先级、状态、区域、摘要、详情、建议操作、元数据、相关文件和标签,方便后续检索和自动化处理。


总结

整个安装配置过程可以概括为四步:

Clone 仓库 → 创建 .learnings 目录 → 配置 Hook(可选) → 重启 Gateway

Self-Improving-Agent 的设计哲学很简单:让 Agent 把每一次失败都变成未来的经验。配置成本极低,但长期收益很高。尤其是在团队场景下,一个人踩过的坑,整个团队的 Agent 都能受益。

如果觉得有帮助,欢迎 点赞 👍 收藏 ⭐ 关注 🔔,有问题评论区见!


本文为原创内容,转载请注明出处。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐