メインコンテンツへスキップ
Kanau Tech™ - かなうテック
← ブログ一覧に戻る
AI開発ツール

/goal vs /loop vs Stop Hooks vs Auto Mode — 4つの自律実行方法を完全比較【2026年版】

2026-05-22by DO XUAN HIEN
/goal vs /loop vs Stop Hooks vs Auto Mode — 4つの自律実行方法を完全比較【2026年版】

Claude Codeには自律実行系の機能が4つある — /goal/loop、Stop Hooks、Auto Mode。それぞれ停止条件と継続性が違うため、用途に応じて使い分ける必要がある。

この記事では4×6の比較マトリクスとフローチャートで、即決定できる選び方を示す。

4つの自律実行方法とは

4つの方法は「停止条件」と「セッション継続性」の2軸で性格が違う。

/goal — 条件達成で止まる

完了条件を1文で設定すると、Haiku評価器が毎ターン後に判定。条件を満たしたら自動停止する。「終わりが明確な作業」に最適。

/loop — 時間間隔で繰り返す

/loop 5m のように間隔を指定すると、5分おきにプロンプトが実行される。停止条件は別途設定が必要。「定期ポーリング」に最適。

Stop Hooks — settings.jsonで恒久設定

~/.claude/settings.json に判定ロジックを書くと、全セッションで恒久的に停止条件が適用される。/goal の内部実装でもある。

Auto Mode — 承認プロンプトをオフ

claude --permission-mode auto で起動すると、ファイル書き込み・コマンド実行の承認待ちが消える。停止条件ではなく「無人化」の仕組み。 他の3つと併用する位置づけ。

4×6 完全比較マトリクス

それぞれを6つの観点で並べると、選び方が一発で見える。

観点/goal/loopStop HooksAuto Mode
用途条件達成で停止定期繰り返し全セッション共通の停止条件承認プロンプトを排除
停止条件Haiku評価器が判定時間間隔(手動停止)settings.jsonで定義なし(手動停止)
セッション継続単一セッション単一セッション全セッション恒久単一セッション
評価方式プロンプトベース(Haiku)なし(時間)スクリプト型 or プロンプト型なし
設定の手間軽(コマンド1回)軽(コマンド1回)重(settings.json編集)軽(起動フラグ)
適性タスクテスト・リファクタ・移行デプロイ監視・ポーリング全プロジェクト共通ルール他3つと併用

どれを使うべき? — フローチャート

ユースケースから即決定できるフローを置いておく。

タスクの性格は?
├─ 終わりが明確(条件で定義可能)
│  ├─ 単発で短時間 → /goal
│  ├─ 単発で長時間 → /goal + Auto Mode + ターン上限
│  └─ 複数セッションで共通 → Stop Hooks(プロンプト型)
│
├─ 定期実行が必要
│  ├─ セッション中だけ → /loop
│  └─ セッション閉じても継続 → /schedule(cron)
│
└─ 承認待ちが鬱陶しいだけ
   └─ 単独で → Auto Mode
   └─ /goal や Stop Hooks との併用 → 推奨パターン

推奨組み合わせパターン

実務で頻出するパターンを3つ紹介する。

パターン1: テスト全件通過まで完全無人実行

# ターミナル1: Auto Modeで起動
claude --permission-mode auto

# プロンプト内
/goal test/auth のテストがすべて通り、npm test が exit 0 で完了する, or stop after 15 turns

/goal + Auto Mode で、承認なしで条件達成まで自律実行。最も多い使い方。

パターン2: 全プロジェクト共通の安全装置

~/.claude/settings.jsonpermissions.deny で破壊操作を全セッション共通でブロック:

{
  "permissions": {
    "deny": [
      "Bash(rm -rf /)",
      "Bash(rm -rf ~)",
      "Bash(sudo *)",
      "Bash(git push --force *)",
      "Bash(DROP TABLE *)",
      "Edit(.env)",
      "Edit(.env.*)"
    ]
  }
}

deny rules は全 permission mode で常に効くbypassPermissions でも rm -rf / / rm -rf ~ 等はサーキットブレーカーが残る)。これに加えて Stop hookイベント(Stop / PostToolBatch)で decision: "block" を返すスクリプトを書けば、独自の停止条件を実装できる。

⚠️ 注:「ターン数N超えたら停止」のような汎用キーは settings.json にない。ターン上限は /goal 文内の or stop after N turns で明示するのが公式仕様。

パターン3: 夜間バッチ + 朝の状況確認

# 夜(cron経由)
/schedule daily 02:00 -- "/goal 前日PRレビュー要約をreport.md に書く"

# 朝(手動)
/loop 30s -- "report.md の最終更新時刻を確認"

/schedule(cron)+ /loop(ポーリング) の組み合わせ。夜間に重い処理、朝に状況確認の2段構成。

失敗しやすい組み合わせ

逆に やめておいた方が良い 組み合わせも知っておく。

❌ 危険な組み合わせ理由
/goal + /loop評価が二重に走り、判定が矛盾しがち
Auto Mode 単独で長時間タスク暴走時の停止装置がない
Stop Hooks に重いLLM判定全セッションで評価コストが累積
/schedule でAuto Mode必須タスクセッションが閉じている時の承認待ちで詰まる

よくある質問

/goal と /loop はどちらを使うべきですか?

「条件達成で止めたい」なら /goal、「一定間隔で繰り返したい」なら /loop。テスト全件通過まで自走させたい場合は /goal、5分おきにデプロイ状況をチェックしたい場合は /loop を選ぶ。

Stop Hooks は /goal と併用可能ですか?

可能だ。実は /goal の内部は Stop Hooks の仕組みで動いている。/goal はセッション限定の使い捨て、Stop Hooks は settings.json に書くため全セッションで恒久適用される、という違いだ。

Auto Mode 単体で十分なケースは?

短時間(5-10分)の作業で、停止条件が「全工程完了」と明確な場合だ。コード生成→テスト→commit の一連の流れなら、Auto Mode単体で承認なしで完走できる。長時間タスクは /goal との併用を推奨する。

/schedule はいつ使いますか?

セッションを閉じても定時で実行したい場合だ。毎朝7時に前日のPR要約レポートを生成する、毎週月曜に dependencies 監査を回す、等の定期バッチに最適だ。/goal/loop はセッション継続中のみ動作する。

4つを併用しても安全ですか?

可能だが推奨は2-3つの組み合わせまで。例:/goal(条件) + Auto Mode(無人化) + Stop Hooks(全セッション共通の停止条件)。/loop/goal の併用は冗長なので避けてほしい。

スクリプト型とプロンプト型の Stop Hooks の違いは何ですか?

スクリプト型は shell スクリプトで判定(exit code 0 で停止)、プロンプト型は AI に判定させる(LLMが「達成」と返したら停止)だ。確定的な判定はスクリプト型、柔軟な判定はプロンプト型を選ぶ。

セッションを閉じても続けたい場合は?

/schedule で cron 形式の定期実行を組むか、CI/CD から Remote Control で呼び出すのが王道だ。/goal --resume はセッション中断後の再開には使えるが、無人での継続実行には向かない。

関連記事

参照

御社のDX力、3分でチェックしませんか?

10問の簡単な質問でIT基盤・業務デジタル化・AI活用度を無料診断。改善のヒントもわかります。

無料DX診断を受ける →