v4.6.14

Self-Improvement Loop

Per-agent 反馈循环系统 · 自动捕获纠正 · 检测模式 · 持续改进

Situation · 现状
AI 会重复犯错
  • 同样的逻辑错误说了好几次
  • 用户纠正后换了方式,但过几天又忘了
  • 每次新 session 都是"干净"的状态
Complication · 问题
纠正无法积累
  • 纠正只存在于当前对话中
  • 没有机制捕获和记忆纠正内容
  • 跨 session 无法形成学习闭环
Question · 疑问
如何让 AI 持续改进?
  • 纠正能自动记录吗?
  • 重复的错误能自动检测吗?
  • Agent 能主动学习和优化吗?
Answer · 答案
Self-Improvement Loop
  • 实时捕获纠正 → 写入 learnings
  • Cron 模式检测 → 通知用户
  • 用户决策 A/B/C/D → 正确 agent 执行

OODA 反馈循环

Observe → Orient → Decide → Act,持续优化决策质量

👁️
O
Observe 观察
捕获纠正信号
Hook 监听消息,检测校正/错误/功能请求关键词
🧠
O
Orient 分析
模式检测
distill 扫描 learnings,聚合相同 Pattern-Key,count ≥ 2 触发
⚖️
D
Decide 决策
用户响应
Bot 通知用户,用户选择 A/B/C/D 决策路径
🚀
A
Act 执行
改进落地
正确 agent session 执行优化,下次不再犯
持续
迭代
Hook 捕获
写入 learnings
Cron 检测
Bot 通知
Agent 执行

三大核心能力

实时捕获

Hook 在消息预处理阶段拦截,自动识别校正、错误反馈、功能请求,中英文关键词支持。

Node.js Hooks 关键词检测 会话路由
🔍

模式检测

Hourly cron 运行 distill 脚本,按 Pattern-Key 聚合learnings,识别重复错误(阈值 ≥ 2)。

Bash 脚本 AWK 聚合 阈值逻辑
📱

智能通知

Channel Bot 发送可操作通知,用户响应 A/B/C/D 决策,触发正确 agent 执行改进。

Per-agent 路由 Telegram/Discord A/B/C/D 决策

Before vs After

Without 自改进
重复犯错循环
  • 用户纠正后,过几天又犯同样的错
  • 每次新 session 都是"干净"状态
  • 错误模式无法被检测和预警
  • 用户需要反复纠正同样的问题
With 自改进
持续优化闭环
  • 纠正自动记录到 .learnings/
  • Per-agent 隔离,每个 agent 独立学习
  • 模式重复出现时自动检测并通知
  • 用户决策后 agent 自动执行改进

三系统横向对比

反馈循环系统 · 自动捕获纠正 · 检测模式 · 持续改进

🧬
Hermes
Nous Research · 52k Stars
受 OODA 启发的自进化系统,任务完成时自动生成技能,渐进式披露记忆
🔄
Self-Improvement Loop
clawhub · Self-Improvement Loop
Per-agent 隔离反馈系统,模式检测 + 用户决策 A/B/C/D,白盒可控
🤖
Self-Improving Agent
clawhub · pskoett
基础自改进 agent,捕获反馈并存储记忆,手动触发改进流程
对比维度
Hermes
Self-Loop
Self-Agent
反馈捕获+存储
✅ 任务完成时自动
✅ Hook 实时捕获
✅ 反馈存储
自动捕获纠正
模式检测
自动 Skill 生成
⚠️
Bot 通知
Per-agent 隔离
用户控制度
⚠️ 自动(黑盒)
✅ A/B/C/D(白盒)
⚠️ 手动

Hermes 定位

通用单 agent 场景,完全自动化,适合追求"无感"改进

Self-Loop 定位

多 agent 系统,完全可控,适合需要精确控制改进方向

Self-Agent 定位

简单单 agent 场景,基础反馈捕获,适合起步阶段

A/B/C/D 四象限决策

Bot 检测到重复模式后发送通知,用户回复 A/B/C/D 选择后续行动

A
创建新技能
Pattern 揭示了全新的能力需求
当检测到的 pattern 意味着需要创建一个全新的 skill 来处理这类问题。
执行流程
  1. 读取 pattern 的 raw_md
  2. 调用 skill-creator 创建新 skill
  3. 更新 learnings 为 resolved
  4. 删除 pending JSON
✓ 调用 skill-creator 生成新技能
B
优化现有技能
Pattern 指出某 skill 的不足
当检测到的 pattern 指出某个现有 skill 需要改进或补充功能。
执行流程
  1. 读取 pattern,理解要优化哪个 skill
  2. 调用 skill-improvement 改进
  3. 更新 learnings 为 resolved
  4. 删除 pending JSON
✓ 调用 skill-improvement 优化现有技能
C
跳过
Pattern 无需处理
当 pattern 是误报或一次性错误,不需要任何处理动作。
执行流程
  1. 标记 learnings 为 dormant
  2. 设置 Notified=true
  3. 静默处理
  4. 删除 pending JSON
○ 标记为 dormant,不再通知
D
升华
Pattern 是通用规则/坑点
当 pattern 揭示了一个通用规则,需要提炼并写入基础配置文件。
执行流程
  1. 将 pattern 提炼为简洁规则
  2. 根据类型写入对应文件
  3. 更新 learnings 为 promoted
  4. 删除 pending JSON
↑ 写入 SOUL/AGENTS/TOOLS.md
D 选项升华目标
🎭
SOUL.md
人格/风格规则
行为模式、沟通风格、价值观指导
📋
AGENTS.md
工作流/过程规则
任务分解流程、协作模式、执行顺序
🔧
TOOLS.md
工具坑点
工具使用陷阱、常见错误、最佳实践
Learnings 状态流转
pending
resolved
dormant
A 新技能创建成功
B 技能优化完成
C 静默跳过
D 规则升华

数据流与组件

👤
用户纠正
"不对"、"错了"
⚙️
Hook
hooks/handler.js
📝
Learnings
.learnings/*.md
Cron
hourly distill
📊
Pattern
count ≥ 2
📱
Bot
Telegram/Discord
🤖
Agent
A/B/C/D 执行
Per-Agent 隔离设计
CD
code-dev
agents/code-dev/.learnings/
PM
project-mgr
agents/project-mgr/.learnings/
RE
researcher
agents/researcher/.learnings/

安装与使用

1 安装 Skill
cd ~/.openclaw/workspace/skills/self-improvement-loop bash install.sh # 重启网关激活 Hook openclaw gateway restart
2 验证安装
# 检查 Cron 状态 openclaw cron list | grep self-improvement # 测试 distill bash scripts/distill.sh --check-only
3 查看 Learnings
~/.openclaw/workspace/ ├── main/.learnings/ │ ├── LEARNINGS.md │ ├── ERRORS.md │ └── FEATURE_REQUESTS.md └── agents/{agent}/.learnings/
4 A/B/C/D 决策
# 查看决策逻辑 cat scripts/agents-append.md # A = 应用纠正 (skill-improvement) # B = 优化现有 skill # C/D = 创建新 skill

关键文件

组件 路径 用途
install.sh 根目录 安装 skill、创建 per-agent crons、注入 bindings
handler.js hooks/ Hook 捕获校正信号,路由到 agent workspace
distill.sh scripts/ 蒸馏 learnings 为 JSON,执行模式检测
setup_crons.py scripts/ 创建和管理 per-agent cron jobs
archive.sh scripts/ 归档超过 30 天的 learnings
LEARNINGS.md learnings/ 记录纠正、洞察、最佳实践
ERRORS.md learnings/ 记录命令/操作失败
FEATURE_REQUESTS.md learnings/ 追踪功能缺失请求