loop について
指定した実験を選択した間隔で繰り返し実行し、停止もできるスキルです。各実行では設定、方針、過去の結果を読み込んで1回試行し、期限切れ後も結果を引き継いで再開できます。
主な機能
- 01指定間隔で実験ループをスケジュール
- 02分単位、時間単位、カレンダー周期に対応
- 03定期ジョブごとに実験を1回実行
- 04ループ情報の保存とジョブの停止
- 05期限切れ後の再開時も結果を保持
活用シーン
- 01API 性能実験を定期的に実行
- 02長期実験を毎日または毎週継続
- 03実行中の実験ループを停止
- 04スケジュール期限後に実験を再開
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill loopインストール後、Claude Code で/loopを入力して読み込まれたか確認します。
詳細
/ar:loop — 自律実験ループ
ユーザーが選択した間隔で実行する、定期的な実験ループを開始します。
使用方法
/ar:loop engineering/api-speed # Start loop (prompts for interval)
/ar:loop engineering/api-speed 10m # Every 10 minutes
/ar:loop engineering/api-speed 1h # Every hour
/ar:loop engineering/api-speed daily # Daily at ~9am
/ar:loop engineering/api-speed weekly # Weekly on Monday ~9am
/ar:loop engineering/api-speed monthly # Monthly on 1st ~9am
/ar:loop stop engineering/api-speed # Stop an active loop
動作
ステップ 1:実験を特定する
実験が指定されていない場合は、実験の一覧を表示し、ユーザーに選択してもらいます。
ステップ 2:間隔を選択する
引数で間隔が指定されていない場合は、次の選択肢を提示します。
Select loop interval:
1. Every 10 minutes (rapid — stay and watch)
2. Every hour (background — check back later)
3. Daily at ~9am (overnight experiments)
4. Weekly on Monday (long-running experiments)
5. Monthly on 1st (slow experiments)
cron 式に対応付けます。
| 間隔 | Cron 式 | 短縮形 |
|---|---|---|
| 10 分 | */10 * * * * | 10m |
| 1 時間 | 7 * * * * | 1h |
| 毎日 | 57 8 * * * | daily |
| 毎週 | 57 8 * * 1 | weekly |
| 毎月 | 57 8 1 * * | monthly |
ステップ 3:定期ジョブを作成する
CronCreate を、次のプロンプトとともに使用します(実験の詳細を入力してください)。
You are running autoresearch experiment "{domain}/{name}".
1. Read .autoresearch/{domain}/{name}/config.cfg for: target, evaluate_cmd, metric, metric_direction
2. Read .autoresearch/{domain}/{name}/program.md for strategy and constraints
3. Read .autoresearch/{domain}/{name}/results.tsv for experiment history
4. Run: git checkout autoresearch/{domain}/{name}
Then do exactly ONE iteration:
- Review results.tsv: what worked, what failed, what hasn't been tried
- Edit the target file with ONE change (strategy escalation based on run count)
- Commit: git add {target} && git commit -m "experiment: {description}"
- Evaluate: python {skill_path}/scripts/run_experiment.py --experiment {domain}/{name} --single
- Read the output (KEEP/DISCARD/CRASH)
Rules:
- ONE change per experiment
- NEVER modify the evaluator
- If 5 consecutive crashes in results.tsv, delete this cron job (CronDelete) and alert
- After every 10 experiments, update Strategy section of program.md
Current best metric: {read from results.tsv or "no baseline yet"}
Total experiments so far: {count from results.tsv}
ステップ 4:ループのメタデータを保存する
.autoresearch/{domain}/{name}/loop.json に書き込みます。
{
"cron_id": "{id from CronCreate}",
"interval": "{user selection}",
"started": "{ISO timestamp}",
"experiment": "{domain}/{name}"
}
ステップ 5:ユーザーに確認する
Loop started for {domain}/{name}
Interval: {interval description}
Cron ID: {id}
Auto-expires: 3 days (CronCreate limit)
To check progress: /ar:ar-status
To stop the loop: /ar:loop stop {domain}/{name}
Note: Recurring jobs auto-expire after 3 days.
Run /ar:loop again to restart after expiry.
ループの停止
ユーザーが /ar:loop stop {experiment} を実行した場合:
.autoresearch/{domain}/{name}/loop.jsonを読み込み、cron ID を取得します- その ID を指定して
CronDeleteを呼び出します loop.jsonを削除します- 次のように確認します:「{experiment} のループを停止しました。{n} 件の実験が完了しました。」
重要な制限事項
- 3 日後の自動期限切れ:CronCreate ジョブは 3 日後に期限切れになります。より長期の実験では、ユーザーは
/ar:loopを再実行して再開する必要があります。結果は保持されるため、新しいループは以前のループの続きから実行されます。 - 実験ごとに 1 つのループ:同じ実験に対して複数のループを開始しないでください。
- 実験の同時実行:複数の実験を同時にループさせられるのは、それぞれが異なる git ブランチ上にある場合のみです(デフォルトで異なるブランチが割り当てられます。各実験には
autoresearch/{domain}/{name}が割り当てられます)。
コメント
Markdown 対応