メインコンテンツへスキップ

出す段と保つ段:ゲートの向こうは人が決める

  • レッスン 5
  • 11分

このレッスンで

終わる頃には、次ができるようになります

  • 無人実行に向く権限モードを、CIや自動化の場面に合わせて選べる
  • GitHub Actions上でClaude Codeを対話モードと自動化モードのどちらで動かすかを判断できる
  • 本番監視の異常検知を、自動化してよい部分と人間が決めるべき部分に分けて設計できる

前のレッスンまでで、コードは書かれ、確かめられました。残るのは、それを実際に出すことと、出したあとも保つことです。ここで一番大事な問いは、「エージェントは本番のゲートの手前まで動けてよいが、そのゲート自体を通過してよいのか」です。

権限モードを、場面で選ぶ

Claude Codeには、どこまでを確認なしで進めるかを決める権限モードがいくつかあります。無人実行の設計では、この選び方がそのまま安全設計になります。

dontAsk

読み取りと、あらかじめ許可したツールだけが動く。それ以外はすべて拒否される。ロックダウンされたCIやスクリプト向き

bypassPermissions

確認なしにすべて実行する。隔離されたコンテナやVMの中でだけ使う前提のモード

auto

もう1つのモデル(分類器)が人間の代わりに行動をレビューし、バックグラウンドの安全チェックつきで進める。長いタスク向き

無人実行に関わる権限モード

CI・スクリプトのような無人実行では、bypassPermissionsをそのまま使わず、dontAskと許可リストの組み合わせから検討するのが安全側の入り口です。公式ドキュメントも、拒否ルールはどのモードでも、bypassPermissionsですらブロックする、と明記しています。前のレッスンで見たフックの拒否と合わせて、権限モードをどれだけ緩めても超えられない一線を、あらかじめ引いておけます。


GitHub Actions上でClaude Codeを動かす

リポジトリの中にClaude Codeを常駐させる代表的な方法が、Claude Code GitHub Actionsです。動き方には2種類あります。

対話モードと自動化モード

対話モード

ワークフローにpromptを指定しない。Issueやプルリクのコメントで@claudeとメンションされるまで待ち、応答する。

自動化モード

ワークフローにpromptを指定する。メンションを待たず、イベントやcronのスケジュールに応じて自動で動く。

自動化モードでcronによる定期実行を組むときは、公式ドキュメントの注意点も押さえておいてください。スケジュール実行はデフォルトブランチからしか走らず、パブリックリポジトリでは60日間リポジトリの動きがないとスケジュール自体が無効になります。「動いているはずなのに動いていなかった」という事故は、たいていこの2つのどちらかが原因です。

コストの面では、--max-turnsで反復回数を制限する、ワークフロー単位でタイムアウトを設定する、GitHubの同時実行数の制御で並列に走らせすぎないようにする、といった手段が案内されています。回数の上限を先に決めてから自動化する、という順番を守ってください。


保つ段:異常だけを人間に上げる

本番を保つ段では、すべてのログを人間が読み続けるのは無理があります。代わりに、しきい値を超えた「異常」だけを人間に上げる設計にします。CIのテスト失敗率、デプロイ後のエラー率、レビューにかかる時間など、指標を1つ選び、平常時の範囲を機械的に決めておきます。

注意

ゲートの向こうは、人が決める

自動化していいのは、ゲートの手前までです。本番への反映そのもの、大きな権限を持つ操作の実行そのものは、承認する人間を必ず挟みます。エージェントが判断を提案するところまでと、実際にボタンを押すところは分けて設計してください。


やってみよう

演習1:自分のリポジトリの権限モードを確認する

いま使っているリポジトリや個人のプロジェクトで、無人実行を組む予定がある場合、どの権限モードを使うつもりか、その理由とあわせて書き出してみましょう。

演習2:異常のしきい値を1つ決める

自分が保守しているものについて、監視したい指標を1つ選び、「これを超えたら人間に知らせる」という具体的な数字を決めてみてください。数字が思いつかない場合は、何のデータがあればその数字を決められるかを書き出してください。


今日のまとめ

3行で振り返ります。

  • 無人実行の権限モードは、CI・スクリプト向けのdontAskと、隔離環境専用のbypassPermissionsを区別して選ぶ
  • GitHub Actionsは、メンション待ちの対話モードと、promptを指定する自動化モードを使い分ける
  • 本番を保つ段は、異常だけを人間に上げ、ゲートの手前までを自動化し、ゲートそのものは人が通す

次のレッスンでは、ここまでの流れをチームの約束としてどう書き残し、共有するかを見ていきます。GitHub ActionsとPRレビューの自動化は、GitHubにClaudeを置くでさらに詳しく扱っています。例外だけを見る監視の設計は、例外だけを監視するも参考にしてください。

セルフチェック

1. 無人実行に向く権限モードの説明として正しいものはどれですか。

2. Claude Code GitHub Actionsの2つの動き方についての説明として正しいものはどれですか。

3. 本番を保つ段の設計として、本文が勧めているものはどれですか。

SourceDOCUMENTATION
Claude Code公式: 権限モードの選び方

dontAsk・bypassPermissions・autoなど各モードの違いと、拒否ルールがどのモードでも効くことの一次情報

Webcode.claude.com/docs
code.claude.com/docs/en/permission-modes
SourceDOCUMENTATION
Claude Code公式: GitHub Actions

対話モードと自動化モードの違い、スケジュール実行の制約、コスト管理の手段の一次情報

Webcode.claude.com/docs
code.claude.com/docs/en/github-actions

このレッスンは役に立ちましたか?