mcpField
L
loop

loop

github.com/alirezarezvaniエージェントワークフロー28.9k1.6k 回インストール2 日前に更新
リポジトリ

loop について

指定した実験を選択した間隔で繰り返し実行し、停止もできるスキルです。各実行では設定、方針、過去の結果を読み込んで1回試行し、期限切れ後も結果を引き継いで再開できます。

主な機能

  1. 01指定間隔で実験ループをスケジュール
  2. 02分単位、時間単位、カレンダー周期に対応
  3. 03定期ジョブごとに実験を1回実行
  4. 04ループ情報の保存とジョブの停止
  5. 05期限切れ後の再開時も結果を保持

活用シーン

  1. 01API 性能実験を定期的に実行
  2. 02長期実験を毎日または毎週継続
  3. 03実行中の実験ループを停止
  4. 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 * * 1weekly
毎月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} を実行した場合:

  1. .autoresearch/{domain}/{name}/loop.json を読み込み、cron ID を取得します
  2. その ID を指定して CronDelete を呼び出します
  3. loop.json を削除します
  4. 次のように確認します:「{experiment} のループを停止しました。{n} 件の実験が完了しました。」

重要な制限事項

  • 3 日後の自動期限切れ:CronCreate ジョブは 3 日後に期限切れになります。より長期の実験では、ユーザーは /ar:loop を再実行して再開する必要があります。結果は保持されるため、新しいループは以前のループの続きから実行されます。
  • 実験ごとに 1 つのループ:同じ実験に対して複数のループを開始しないでください。
  • 実験の同時実行:複数の実験を同時にループさせられるのは、それぞれが異なる git ブランチ上にある場合のみです(デフォルトで異なるブランチが割り当てられます。各実験には autoresearch/{domain}/{name} が割り当てられます)。

コメント