核心功能
self-improvement-loop 是 OpenClaw 平台的智能体自我改进闭环系统,为每个 AI Agent 提供独立的学习-反馈-进化能力。系统通过三级架构实现智能体能力的持续迭代:
1. 感知层(Hook 捕获)
全局共享的 handler.js 动态路由,基于 sessionKey 提取智能体 ID,自动将用户纠正、错误报告、功能请求写入对应智能体的隔离学习目录(.learnings/)。支持多智能体并行运行,数据严格隔离。
2. 认知层(Cron 扫描与模式识别)
每个智能体拥有独立的定时任务(self-improvement-{agent}),每小时扫描专属学习目录。当同一问题模式出现 ≥2 次时,触发智能分析,通过该智能体绑定的专属渠道 Bot(如 code-dev → Telegram code 账号)向用户推送改进建议。
3. 执行层(A/B/C/D 决策闭环)
用户回复 A/B/C/D 指令后,系统自动路由至正确智能体会话:
- A:创建新技能(调用 skill-creator)
- B:优化现有技能(调用 skill-improvement)
- C:延迟处理
- D:忽略并归档
执行结果写回原智能体工作空间,形成完整闭环。
显著优势
- 智能体级隔离:每个 Agent 拥有独立的学习目录、Cron 任务、通知渠道,避免交叉污染
- 零配置自动映射:从
openclaw.json自动读取智能体列表,智能匹配 channel 账号(精确匹配 → 前缀匹配 → fallback 默认账号) - 会话安全边界:Cron 在 isolated session 中运行,最小工具集;所有路径动态生成,无硬编码敏感目录
- 集中管理分散执行:A/B/C/D 核心逻辑统一维护于
agents-append.md,安装时自动注入各智能体索引,更新即全局生效
局限与风险
| 问题 | 影响 | 缓解措施 |
|------|------|---------|
| ACP runtime agent(如 Claude)无独立 channel | 通知 fallback 到 defaultAccount,可能混淆 | 依赖用户主动确认 session |
| Gateway API 404 降级 CLI | sessionTarget 降级为 isolated,部分功能受限 | 使用 `--agent` flag 显式绑定 |
| 并发通知路由竞争 | 多智能体同时触发时,用户回复可能进入错误 session | 建议错开高频智能体的 Cron 周期 |
| 依赖外部技能 | skill-creator/skill-improvement 缺失时 A/B 路径失效 | 安装前校验依赖 |
适用场景
- 多智能体协作场景(如 code-dev + 墨灵 + main 并行)
- 高频迭代开发环境,需要自动化沉淀最佳实践
- 对数据隔离有严格要求的团队(金融、医疗等敏感领域)
安全评估
- 文件权限:严格限定在
~/.openclaw/workspace/下,无系统目录访问 - 代码执行:仅
scripts/目录的蒸馏/归档脚本,无任意代码执行 - 网络边界:仅 Gateway 本地 API(:18789),无外联
- 确认机制:
install.sh写入 bindings 前强制用户确认
安装验证
# 检查绑定关系
python3 -c "import json; print(json.dumps(json.load(open('$HOME/.openclaw/openclaw.json')).get('bindings',[]), indent=2))"
# 验证 per-agent crons
openclaw cron list | grep self-improvement
# 测试指定智能体蒸馏
LEARNINGS_DIR="$HOME/.openclaw/workspace/agents/code-dev/.learnings" \
bash ~/.openclaw/workspace/skills/self-improvement-loop/scripts/distill.sh --check-only