🔄 Self-Iteration Engine
Self-iteration and feedback learning engine for AI agent skills. Tracks usage logs, detects performance patterns, triggers skill updates, and proposes new skill creation based on repeated request patterns.
This is a shared component skill — other skills reference it for self-improvement. When updating, ensure backward compatibility with all dependent skills. Users may install this skill standalone for its capabilities.
Usage Log Format
Maintain a usage log file for each skill that declares dependency:
# Usage Log: <skill-name>
## [YYYY-MM-DD]
- Request: <brief description>
- Outcome: success | partial | fail
- User corrected: yes | no
- Correction detail: <if yes, what was corrected>
- Lesson: <what to do differently next time>
File location: memory/usage-logs/<skill-name>.md
Self-Iteration Triggers
Evaluate these conditions during each periodic review (default daily, configurable):
| Condition | Action |
|---|---|
| 3+ consecutive successful invocations | Mark skill as "stable" — reduce context allocation |
| 2+ failures for the same scenario | Flag for SKILL.md reassessment |
| Same request type appears 3+ times | Evaluate creating a new dedicated skill |
| User corrected output | Log correction, adjust future behavior for that scenario |
| Skill hasn't been reviewed in 30+ days | Trigger review: check if dependencies changed, update examples |
| External tech change detected | Compare against skill's core technology stack, update if needed |
Feedback Loop Implementation
# memory/feedback-loop/<skill-name>.yaml
feedback_loop:
last_review: "2026-05-19"
next_review: "2026-05-26"
status: "stable" | "needs-attention" | "monitoring"
patterns_observed:
- pattern: "user asks for financial data on weekends"
current_response: "check if markets are open"
improvement: "pre-fill with last trading day data"
status: "resolved" | "pending" | "in-progress"
skill_performance:
total_calls: 47
success_rate: 0.96
issues:
- "data freshness on weekends"
Review Cycle
Daily (lightweight)
- Scan today's usage log entries
- Check for failure patterns
- Log any user corrections
Weekly (moderate)
- Aggregate performance stats
- Check iteration triggers (listed above)
- If any trigger fires → update SKILL.md or create new skill
- Archive usage logs older than 7 days
Monthly (deep)
- Full performance review across all skills
- Compare success rates, identify declining trends
- Check if any external technology replaced the skill's core stack
- Propose new skill ideas based on accumulated pattern data
- Run memory cleanup (delegate to complex-memory-manager)
Update Decision Matrix
| Signal | Decision |
|---|---|
| 80%+ success rate, no user corrections | No update needed |
| 60-80% success rate | Minor update: clarify instructions, add edge cases |
| <60% success rate | Major update: redesign workflow, check data sources |
| User corrects same thing 3+ times | Fix that specific guidance in SKILL.md |
| External API / tool changed | Update immediately |
| New competing technology available | Evaluate migration; update if 2x+ better |
New Skill Creation Criteria
Create a new skill when:
- Same request pattern appears 3+ times across different users
- The pattern cannot be handled well by existing skills
- The pattern has a clear, bounded scope
- A distinct tool/API would improve the result
Document in memory/skill-ideas/:
proposal:
name: <suggested-slug>
rationale: "Pattern X appeared N times. Existing skill Y handles it poorly because..."
scope: "<bounded description>"
priority: high | medium | low
created: <date>
Cross-Skill Usage
Other skills declare dependency:
metadata:
openclaw:
requires:
skills:
- self-iteration-engine
Usage logs are prefixed with the source skill name:
memory/usage-logs/skill-a.mdmemory/feedback-loop/skill-a.yaml
When this skill updates log format, check ALL dependent skills' parsing logic.
🔄 自迭代引擎
面向AI Agent技能的自迭代与反馈学习引擎。追踪使用日志、检测性能模式、触发技能更新,并基于重复请求模式提出新技能创建建议。
这是一个共享组件技能——其他技能通过它实现自我改进。更新时需保证向后兼容。用户也可能独立安装此技能使用其能力。
使用日志格式
每个声明依赖的技能维护一份使用日志:
# 使用日志:<skill名称>
## [YYYY-MM-DD]
- 请求:<简述>
- 结果:成功 | 部分成功 | 失败
- 用户修正:是 | 否
- 修正详情:<如果是,修正了什么>
- 经验:<下次应该怎么做>
文件位置:memory/usage-logs/<skill名称>.md
自迭代触发条件
定期审查时评估以下条件(默认每天,可配置):
| 条件 | 行动 |
|---|---|
| 连续成功3次以上 | 标记为"稳定"——减少上下文分配 |
| 同一场景失败2次以上 | 标记SKILL.md需重新评估 |
| 同类请求出现3次以上 | 评估创建新专用skill |
| 用户修正了输出 | 记录修正,调整后续该场景的行为 |
| 技能超过30天未审查 | 触发审查:检查依赖是否变更、更新示例 |
| 检测到外部技术变化 | 与技能核心技术栈对比,需要时更新 |
反馈循环实现
# memory/feedback-loop/<skill名称>.yaml
feedback_loop:
last_review: "2026-05-19"
next_review: "2026-05-26"
status: "stable" | "needs-attention" | "monitoring"
patterns_observed:
- pattern: "用户在周末查询金融数据"
current_response: "检查市场是否开盘"
improvement: "自动填充最近交易日数据"
status: "resolved" | "pending" | "in-progress"
skill_performance:
total_calls: 47
success_rate: 0.96
issues:
- "周末数据新鲜度"
审查周期
每日(轻量)
- 扫描今天的日志条目
- 检查失败模式
- 记录用户修正
每周(中等)
- 汇总性能统计
- 检查触发条件
- 触发更新或创建新技能
- 归档超过7天的日志
每月(深度)
- 全技能性能审查
- 对比成功率,识别下降趋势
- 检查外部技术是否取代了技能核心
- 基于积累的模式数据提出新技能想法
- 执行记忆清理(委托给complex-memory-manager)
更新决策矩阵
| 信号 | 决策 |
|---|---|
| 成功率>80%,无用户修正 | 无需更新 |
| 成功率60-80% | 小幅更新:澄清说明、补充边界情况 |
| 成功率<60% | 重大更新:重新设计工作流、检查数据源 |
| 用户修正同一内容3次以上 | 在SKILL.md中修复该指导 |
| 外部API/工具变更 | 立即更新 |
| 出现新的竞争技术 | 评估迁移;若2倍以上优于现有则更新 |
新技能创建标准
以下情况创建新技能:
- 相同请求模式在不同用户出现3次以上
- 现有技能无法良好处理该模式
- 该模式有清晰、有边界的范围
- 有独特工具/API可提升结果
记录在 memory/skill-ideas/:
proposal:
name: <建议的slug>
rationale: "模式X出现了N次。现有技能Y处理不佳因为..."
scope: "<有边界的描述>"
priority: high | medium | low
created: <日期>
跨技能使用
其他技能声明依赖的方式:
metadata:
openclaw:
requires:
skills:
- self-iteration-engine
使用日志以源技能名称为前缀:
memory/usage-logs/skill-a.mdmemory/feedback-loop/skill-a.yaml
本技能更新日志格式时,需检查所有依赖技能的解析逻辑。
