ループ(自走させる)
「席を離れても進めてほしい」ときの型です。公式には2つの仕組みがあります。/loop(時間で繰り返す)と /goal(条件を満たすまで続ける)。どちらも「終わる条件」を書くのがコツです。
/loop: 一定時間ごとに同じお願いを繰り返す
| 打ち方(公式docsの例) | 何が起きるか |
|---|---|
/loop 5m check the deploy | 5分ごとに固定で実行 |
/loop check the deploy | 間隔を Claude が毎回選ぶ(1分〜1時間) |
/loop | 組み込みの「未完了の作業を続ける・PRの面倒を見る」お願いを繰り返す |
覚えておくこと(公式docsより):
- セッションを開いている間だけ動く。ターミナルを閉じると止まります
- 間隔を Claude に任せた
/loopは Esc で止まります。固定間隔のものは「the deploy check job をキャンセルして」のように頼んで消します - 繰り返しのタスクは作成から 7日で自動終了します(忘れたループが回り続けない仕組み)
- 間隔の最小は1分。
7mのような半端な値は近い値に丸められます
非エンジニア向けの使いどころ: 「終わったら教えて」系です。
Claude Code の中で
/loop 10m 作業ログ.md を読んで、未完了の項目が残っていたら1つだけ進めて。全部終わっていたら「完了」とだけ言って止まって。公式docs(英語): /loop とスケジュール実行(Esc で止まる範囲はこちらが最新) / 公式docs(日本語): /loop
/goal: 条件を満たすまで続ける
/goal に条件を書くと、Claude は1ターン終わるごとに別の小さなモデルが「条件を満たしたか」を判定し、まだなら次のターンを自動で始めます。満たしたら、あるいは「不可能」と判定されたら、自動で終わります。
Claude Code の中で(公式docsの例)
/goal all tests in test/auth pass and the lint step is clean「終わる条件」の書き方(公式docsの3点)
- 測れる終わり方を1つ: テスト結果、ビルドの終了コード、ファイル数、空になったキュー
- 証明の仕方を書く: 「
npm testが 0 で終わる」「git statusがきれい」のように - 途中で変えてはいけないもの: 「他のテストファイルは触らない」など
判定役はコマンドを実行せず、Claude が会話に出した結果だけを見ます。なので「Claude が自分で確認して結果を出す」形の条件にします。暴走防止に「or stop after 20 turns(20ターンで止める)」のような上限も条件に入れられます。
Claude Code の中で(日本語の書き方例)
/goal public/ の全HTMLを python3 scripts/check.py で検査して「完了条件: 7/7 通過」と出力される。他のフォルダのファイルは変更しない。20ターンで進まなければ止まる。- 状態を見る:
/goal(引数なし) - やめる:
/goal clear(/clearでも消えます) - 権限は変わりません。手動モードのままだと、許可していないコマンドのたびに聞かれます。放置したいなら auto モード(Shift+Tab)と組み合わせます
どっちを使う?(公式docsの比較)
| 次のターンが始まるのは | 止まるのは | |
|---|---|---|
/goal | 前のターンが終わったとき | 判定役が「満たした/不可能」と言ったとき、または /goal clear |
/loop | 時間が経ったとき | 自分で止めたとき、または Claude が「終わった」と判断したとき |
機械の電源を切っても動かしたいなら、これらではなく Routine(クラウドで定期実行) の出番です。このサイトの「最新ニュース」も Routine で更新しています。
上級: Ralph ループ(注意つき)
上級者向け。Ralph ループは「同じプロンプトを、終わるまで何度でも食わせ続ける」仕組みです。上限を付けないと止まりません。公式の README も「
--max-iterations を主要な安全装置として必ず使う」と書いています。Anthropic の公式プラグイン置き場に ralph-loop があります。仕組みは Stop フック(Claude が終わろうとするたびに、同じプロンプトを再投入する)です。
Claude Code の中で(導入)
/plugin install ralph-loop@claude-plugins-officialClaude Code の中で(公式READMEの例)
/ralph-loop "Build a REST API for todos. Requirements: CRUD operations, input validation, tests. Output <promise>COMPLETE</promise> when done." --completion-promise "COMPLETE" --max-iterations 50- 止める:
/cancel-ralph --completion-promiseは文字列の完全一致なので、複数の終わり方(SUCCESS と BLOCKED など)には使えない。だから--max-iterationsが本命の安全装置(公式README)- 非エンジニアには、まず
/goalで十分です。Ralph は「/goal で足りなくなってから」でOK