寝ている間にClaude Codeが89回の実験を回し、朝起きたら13個の改善が完成していた——これ、誇張じゃありません。あるエンジニアが/loopコマンドで自己改善ループを8時間放置した結果です。成功率14.6%、本来45時間かかる作業が一晩で完了(genai-ai.co.jp)。/loopはClaude Code v2.1.71(2026年3月)で追加されたセッション内スケジューラで、「このプロンプトを一定間隔で繰り返し実行してくれ」という指示をたった1行で設定できます。本記事では、基本構文から実戦での成功・失敗パターン、コスト地雷の避け方まで、/loopを使い倒すための知識を一気通貫で解説します。
/loopの基本——構文・制約・内部の仕組み
まず構文から。書き方は2パターンあります。
/loop 30m テストを実行して失敗があればfixする
/loop テストを実行して失敗があればfixする every 30m
どちらも同じ意味です。30mの部分が実行間隔で、s(秒)・m(分)・h(時間)・d(日)の4単位が使えます。間隔を省略するとデフォルトの10分が適用されます。
知っておくべき制約
| 項目 | 値 |
|---|---|
| 最小間隔 | 1分 |
| 最大タスク数 | 50 / セッション |
| 自動有効期限 | 7日間 |
| タイミング精度 | ±10%(最大15分のジッター) |
| セッション依存 | ターミナルを閉じると全タスク消滅 |
正直、最後の「ターミナル閉じたら終わり」が一番のハマりポイントです。cronジョブと違ってプロセスがセッションに紐付いているので、うっかりターミナルを閉じたら一晩のループが全部消えます(frr.dev)。tmuxやscreenでセッションを保護するのが鉄則です。
内部の仕組み——CronCreate / CronList / CronDelete
/loopコマンドの裏側では、CronCreate・CronList・CronDeleteという3つの内部ツールが動いています。/loopはあくまでショートカットで、実態はClaude Codeのセッション内にタスクスケジューラが組み込まれている形です。
/loop list # 現在のループ一覧を表示
/loop delete <id> # 特定のループを停止
タスクの一覧確認と停止はこの2つで完結します。50個の上限に達したら古いものをdeleteしてから新しいループを追加する、という運用になります。
成功事例——/loopが光る3つのパターン
/loopが真価を発揮するのは、「繰り返し→判断→修正」のサイクルを人間が監視する必要がない場面です。具体的に見ていきましょう。
パターン1: 自己改善ループ(寝ている間にコードが育つ)
冒頭で紹介したケースの詳細です。あるエンジニアは以下のようなプロンプトで/loopを設定しました。
/loop 30m プロンプトの品質評価を実行し、スコアが閾値以下なら改善案を生成してテストする
8時間の睡眠中に89回の実験が回り、13の改善がコミットされました。89回 × 30分 = 45時間分の作業が8時間に圧縮されています(genai-ai.co.jp)。
MindStudioのAutoResearchパターンでも同様の結果が出ています。一晩で30〜50サイクルを回した結果、プロンプトのパス率が40〜50%から75〜85%に向上(+35ポイント)。人間が一つ一つ試行錯誤するより圧倒的に速いです(MindStudio)。
パターン2: デプロイ監視
/loop 15m 本番環境のヘルスチェックを実行し、異常があればSlackに通知する
Context Studiosの事例では、15分間隔のデプロイ監視ループにより、インシデント検知速度が60〜80%向上したと報告されています(Context Studios)。人間がダッシュボードを眺め続ける代わりに、Claudeが異常を検知して判断まで行うわけです。
ただ、これは正直「Claudeでやる必要があるか?」と言われると微妙なケースもあります。単純なヘルスチェックなら既存の監視ツール(Datadog、PagerDutyなど)のほうが適しているでしょう。/loopが効くのは「ログの内容を読んで、原因を推測し、修正PRまで出す」といったAIの判断力が必要な場面です。
パターン3: GitHub Pushの自動化
note.comで古家大氏が公開している事例では、/loopを使ってGitHub pushのタイミングを自動化しています(note.com)。ローカルの変更を検知→テスト実行→問題なければpush、という流れを放置で回せます。
大規模での成功事例としては、TELUS(カナダの通信大手・57,000人規模)がClaude Code系の自動化で500,000時間以上を削減し、PR速度を30%改善したと報告されています(uravation.com)。
失敗事例——/loopで火傷する4つのパターン
ここからが本番です。/loopは強力なぶん、設定を間違えると被害も大きい。実際に起きたトラブルを紹介します。
火傷1: コスト爆発——一晩で$800溶ける
/loopの最大リスクはコストです。API従量課金の場合、1回あたり$0.05のタスクを5分間隔で回すと、1日で$14.40。「たかが$14」と思うかもしれませんが、これを6つのリポジトリで並行して回したYCハッカソンの参加者は、一晩で$800の請求を食らっています(Plain English)。
対策: 間隔は最低でも15分以上に設定する。5分間隔が本当に必要なケースはほとんどありません。また、/loopを設定する前に1回分のコストを確認し、回数 × 単価 × 時間で1日のコストを試算する癖をつけてください。
火傷2: ターミナルを閉じて全消滅
前述のとおり、/loopはセッションスコープです。ターミナルを閉じた瞬間、設定したループはすべて消えます。SSH接続が切れた、macOSがスリープした、誤ってタブを閉じた——どれも致命的です(frr.dev)。
対策: tmuxかscreenは必須。さらに、重要なループはプロンプトの内容をメモしておく。復旧時に「あれ、何を設定してたっけ?」となるのが意外と多いです。
火傷3: 無限エラーループ
GitHub Issue #19699で報告されているケースです。/loopで実行したコマンドが失敗すると、Claudeは次のサイクルでも同じコマンドを実行します。で、また失敗する。で、また実行する——これがエンドレスに続きます(GitHub)。
エラーが出るたびにAPIコストは消費されるので、失敗し続けるループは文字通りお金をドブに捨てているのと同じです。
対策: ralph-claude-codeプロジェクトが実装しているサーキットブレーカーが参考になります。「同じエラーが5回連続したら停止」「出力品質が70%以上低下したら停止」というガードレールを入れることで、暴走を防げます(tumf.dev)。
火傷4: 「放置していい」と「放置してもいい」は違う
note.comのけぽ氏の解説記事(note.com)にもあるように、/loopは「放置プレイ」を可能にしますが、「完全に放置していい」わけではありません。定期的にログを確認する、コスト上限を設定する、想定外の動作がないかチェックする——この「ゆるい監視」は必要です。
imp0820氏も「寝ている間も動くAI」という記事で、放置の便利さと同時に「朝起きて確認する習慣」の重要性を指摘しています(note.com)。
/loop vs システムcron——どっちを使うべきか
「/loopでできることって、crontabでもできるんじゃないの?」——半分正解で半分間違いです。
| 比較項目 | /loop | システムcron |
|---|---|---|
| セッション依存 | あり(ターミナル閉じたら消滅) | なし(OS常駐) |
| 会話コンテキスト共有 | あり(前回の結果を踏まえて判断) | なし(毎回ゼロから開始) |
| 有効期限 | 7日間で自動失効 | 無期限 |
| タイミング精度 | ±10%(最大15分のジッター) | 高精度 |
| 最大タスク数 | 50 / セッション | 実質無制限 |
| AI判断 | 状況に応じて動的に変更可能 | 固定コマンドのみ |
決定的な違いはコンテキスト共有です。/loopは同一セッション内で動くので、「前回テストが失敗した箇所」「さっき修正したファイル」という文脈を保持したまま次のサイクルに進めます。cronは毎回まっさらな状態から始まるので、この連続性がありません。
逆に、cronが優れているのは信頼性です。セッションに依存せず、OSレベルで動くので「うっかり消えた」がありません。タイミング精度も高い。
使い分けの指針:
- 「AIの判断が必要」「前回の結果を踏まえた処理」→
/loop - 「決まったコマンドを確実に実行」「セッション切れても止まっては困る」→ cron
- 「両方の良いところが欲しい」→
/loopで試行錯誤 → 安定したらcronに移行
実践レシピ——すぐ使える/loopテンプレート5選
ここからは、コピペで使えるテンプレートを紹介します。環境に合わせてプロンプト部分を調整してください。
1. テスト自動修復ループ
/loop 30m テストスイートを実行し、失敗があれば原因を特定して修正する。修正後に再度テストを実行し、全パスしたらコミットする
就寝前に設定しておく定番パターンです。間隔を30分にしているのは、修正→テスト→コミットの1サイクルに15〜20分かかることを想定しているためです。
2. PRレビュー巡回
/loop 1h GitHubのオープンPRを確認し、新着があればコードレビューコメントを投稿する
チーム開発で地味に効きます。Claudeがファーストパスのレビューをしてくれるので、人間のレビュアーは「Claudeが見落とした部分」に集中できます。
3. ドキュメント同期チェック
/loop 2h コードの変更差分を確認し、READMEやAPIドキュメントの記述と矛盾がないかチェックする。矛盾があれば修正PRを作成する
ドキュメントの陳腐化は多くのチームが抱える問題です。2時間間隔で巡回させておけば、コードとドキュメントの乖離を最小限に抑えられます。
4. 依存パッケージの脆弱性チェック
/loop 6h npm auditを実行し、criticalまたはhighの脆弱性があれば修正パッチを適用してPRを作成する
5. パフォーマンスベンチマーク定点観測
/loop 4h ベンチマークスイートを実行し、前回の結果と比較する。10%以上の性能劣化があればアラートを出す
ONIと/loopの組み合わせ——CLIが苦手な人の選択肢
/loopはCLI(ターミナル)での操作が前提です。tmuxの設定、セッション管理、コスト試算——正直、エンジニア以外にはハードルが高いと思います。
ONIのデスクトップアプリでは、こうした繰り返し実行のワークフローをGUIで設定できます。ターミナルを開く必要がなく、「30分ごとにこの処理を実行」という設定をドラッグ&ドロップで組めるので、非エンジニアのチームメンバーでも放置自動化を始められます。セッションが切れてループが消える心配もありません。
また、/loopで試行錯誤して安定したワークフローをONIに移植する、という使い分けもおすすめです。プロトタイプは/loopで素早く回し、本番運用はONIで——この切り替えがスムーズにできるのは、どちらもClaude Codeのエコシステム上にあるからです。
まとめ——/loopは「信頼できる放置」の技術
/loopコマンドの本質は、「人間がPCの前にいない時間を開発時間に変える」ことです。89回の実験を一晩で回した事例が示すように、睡眠時間や移動時間をClaude Codeの作業時間に変換できるのは、単純にアウトプットの総量が変わります。
ただ、ここまで読んでいただいた方にはわかるとおり、/loopは万能ではありません。セッション消滅、コスト爆発、無限エラーループ——これらのリスクを理解した上で使わないと、恩恵よりも被害のほうが大きくなります。
個人的な結論としては、/loopの最適な使い方は**「30分以上の間隔で、サーキットブレーカー付きで、tmux内で回す」**です。5分間隔は論外、エラーハンドリングなしは危険、ターミナル直打ちは不安定。この3つを守るだけで、失敗事例の大半は回避できます。
「放置プレイ」という言葉は魅力的ですが、正確には「信頼できる放置」を構築する技術です。テストを書くのと同じで、安全に放置するための仕組みを作る手間を惜しまないことが、/loopを味方につけるコツだと思います。
出典・参考リンク
- 自己改善ループで89回の実験 — genai-ai.co.jp
- AutoResearch: Self-Improving Skills — MindStudio
- Claude Code Loop Autonomous Agent — Context Studios
- Claude Code Automation Case Studies 2026 — uravation.com
- Scheduled Tasks with /loop — Plain English
- /loop vs cron scheduling — frr.dev
- Infinite Error Loop Issue #19699 — GitHub
- ralph-claude-code サーキットブレーカー — tumf.dev
- /loop革命的解説 — けぽ(note)
- 寝ている間も動くAI — imp0820(note)
- GitHub push自動化 — 古家大(note)