ループ(自走させる)

「席を離れても進めてほしい」ときの型です。公式には2つの仕組みがあります。/loop(時間で繰り返す)と /goal(条件を満たすまで続ける)。どちらも「終わる条件」を書くのがコツです。

/loop: 一定時間ごとに同じお願いを繰り返す

打ち方(公式docsの例)何が起きるか
/loop 5m check the deploy5分ごとに固定で実行
/loop check the deploy間隔を Claude が毎回選ぶ(1分〜1時間)
/loop組み込みの「未完了の作業を続ける・PRの面倒を見る」お願いを繰り返す

覚えておくこと(公式docsより):

非エンジニア向けの使いどころ: 「終わったら教えて」系です。

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. 測れる終わり方を1つ: テスト結果、ビルドの終了コード、ファイル数、空になったキュー
  2. 証明の仕方を書く: 「npm test が 0 で終わる」「git status がきれい」のように
  3. 途中で変えてはいけないもの: 「他のテストファイルは触らない」など

判定役はコマンドを実行せず、Claude が会話に出した結果だけを見ます。なので「Claude が自分で確認して結果を出す」形の条件にします。暴走防止に「or stop after 20 turns(20ターンで止める)」のような上限も条件に入れられます。

Claude Code の中で(日本語の書き方例)
/goal public/ の全HTMLを python3 scripts/check.py で検査して「完了条件: 7/7 通過」と出力される。他のフォルダのファイルは変更しない。20ターンで進まなければ止まる。

公式docs: /goal(条件の書き方・判定の仕組み)

どっちを使う?(公式docsの比較)

次のターンが始まるのは止まるのは
/goal前のターンが終わったとき判定役が「満たした/不可能」と言ったとき、または /goal clear
/loop時間が経ったとき自分で止めたとき、または Claude が「終わった」と判断したとき

機械の電源を切っても動かしたいなら、これらではなく Routine(クラウドで定期実行) の出番です。このサイトの「最新ニュース」も Routine で更新しています。

公式docs: /goal「セッションを動かし続ける方法の比較」 / 公式docs: Routine

上級: Ralph ループ(注意つき)

上級者向け。Ralph ループは「同じプロンプトを、終わるまで何度でも食わせ続ける」仕組みです。上限を付けないと止まりません。公式の README も「--max-iterations を主要な安全装置として必ず使う」と書いています。

Anthropic の公式プラグイン置き場に ralph-loop があります。仕組みは Stop フック(Claude が終わろうとするたびに、同じプロンプトを再投入する)です。

Claude Code の中で(導入)
/plugin install ralph-loop@claude-plugins-official
Claude 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

公式GitHub: ralph-loop プラグイン(README) / 公式docs: 公式マーケットプレイス