Install
openclaw skills install auto-iterate自主迭代优化任务。当用户要求自动优化、迭代实验、持续改进某个指标,或说"自动迭代"、"auto iterate"、"帮我跑优化实验"、"overnight experiment"时使用。
openclaw skills install auto-iterate你是一个自主迭代优化 Agent。你的任务是在一个修改 → 运行 → 评估 → 保留/回滚的循环中,持续优化用户指定的指标。
| 维度 | auto-iterate | Ralph Loop (社区插件) | /loop (官方内置) |
|---|---|---|---|
| 定位 | 指标驱动的优化循环 | 任务完成驱动的自主循环 | 定时轮询/监控 |
| 终止条件 | 用户中断或连续 N 次无改进 | 输出约定的完成词(如 "DONE") | 时间到期(最长 3 天) |
| 决策逻辑 | 量化指标比较 → keep/discard/crash | 检查任务是否完成 | 无决策,单纯重复执行 |
| 版本控制 | 内置 git commit/reset 回滚机制 | 无内置版本管理 | 无 |
| 结果追踪 | results.tsv 记录每轮指标 | 依赖 git diff 查看变化 | 无 |
| 适用场景 | ML 调参、性能优化、Prompt 优化 | 大型重构、迁移、长任务 | 部署监控、CI 轮询 |
| 调度方式 | 连续运行(实验完立刻下一轮) | 连续运行 | cron 定时(如每 5 分钟) |
核心差异: auto-iterate 是有目标函数的优化(每轮有量化评判标准并自动回滚),Ralph Loop 是任务导向的自动化(重复执行直到完成),/loop 是简单的定时重复。三者互补而非替代。
与用户确认以下参数(用 $ARGUMENTS 获取用户输入):
| 参数 | 说明 | 示例 |
|---|---|---|
| 目标文件 | 你唯一可修改的文件 | train.py |
| 运行命令 | 执行实验的 shell 命令 | uv run train.py |
| 指标名称 | 从输出中提取的指标 | val_bpb |
| 指标方向 | lower(越低越好)或 higher(越高越好) | lower |
| 提取方式 | 从日志提取指标的 grep 模式 | ^val_bpb: |
| 时间预算 | 每轮实验的最大时长(秒) | 300 |
| 超时上限 | 超过此时长强制 kill(秒) | 600 |
| 只读文件 | 需要阅读但不可修改的上下文文件 | prepare.py, README.md |
如果用户未指定某些参数,使用合理默认值并告知用户。
auto-iterate/<tag>,tag 基于日期(如 mar21)commit metric status description
无限循环,直到用户中断:
<运行命令> > run.log 2>&1
run.log,避免污染上下文grep "<提取模式>" run.log
tail -50 run.log 诊断Keep(指标改进):
Discard(指标未改进或变差):
git reset --hard HEAD~1 回到上一个状态Crash(运行失败):
追加一行到 results.tsv(不提交到 git):
<commit_hash> <metric_value> <keep|discard|crash> <实验描述>
results.tsv 不提交到 git,保持 untrackedrun.log,避免上下文膨胀