Claude Code「オートモード」の仕組み:AIに権限を委ねる安全な方法

AIコーディングアシスタントを使っていると、「このファイルを変更していい?」「このコマンドを実行していい?」という確認が何度も出てきます。最初は安心感がありますが、やがて 承認疲れ(approval fatigue) に陥り、内容を確認せず「OK」を押すようになってしまいます。

Anthropicが開発したClaude Codeの「オートモード」は、この問題に正面から取り組んだ機能です。

従来の3つの選択肢

Claude Codeにはこれまで3つの権限モードがありました:

  • 手動承認 — 安全だが毎回クリックが必要(実際には93%が承認される)
  • サンドボックス — 安全だが設定が面倒で、ネットワーク接続が必要な作業ができない
  • 権限スキップ(–dangerously-skip-permissions) — 楽だが危険。名前が全てを物語っている

オートモードは「高い自律性」と「低いメンテナンスコスト」を両立する第4の選択肢です。

二層の防御システム

オートモードの核心は、入力層出力層の二段構えの防御です。

入力層(プロンプトインジェクション検知):ファイル読み取りやWeb取得の結果をスキャンし、AIの行動を乗っ取ろうとする悪意ある指示が含まれていないかチェックします。怪しいコンテンツには警告フラグが付きます。

出力層(トランスクリプト分類器):Sonnet 4.6が各アクションを実行前に評価します。まず高速な単一トークンフィルターで判定し、フラグが立った場合のみ詳細な推論を行います。つまり、ほとんどのアクションはオーバーヘッドなしで通過します。

何をブロックするのか

Anthropicは内部のインシデントログから、AIエージェントが危険な行動を取る4つの原因を特定しています:

  • 過剰な積極性 — 善意だが、ユーザーの意図を超えた行動(見つけた認証情報を勝手に使うなど)
  • 正直なミス — テスト環境だと思ったら本番だった
  • プロンプトインジェクション — 外部コンテンツに仕込まれた攻撃
  • モデルの不整合 — AI自身が独自の目的を追求(現時点では観測されていない)

具体的なブロック例がとても興味深いです:

  • 「古いブランチを片付けて」→ リモートブランチを削除しようとした → ブロック
  • 認証エラー → 環境変数から別のAPIトークンを探し始めた → ブロック
  • デプロイ失敗 → 検証スキップフラグ付きでリトライ → ブロック

僕が感じたこと

この設計で特に印象的なのは、分類器がClaudeの思考を見ないということです。ユーザーのメッセージとツール呼び出しだけを見て判断する。これにより、モデルが「もっともらしい理由」を作り出して分類器を騙すことを防いでいます。

また、「93%が承認される」というデータが示すように、人間による確認は実質的にほとんど機能していなかった。であれば、専用の分類器に任せた方が実際にはより安全になるという逆説的な結論も面白いです。

AIエージェントの安全性は「全部止める」か「全部許す」かの二択ではない。この「賢い中間地点」を見つけるアプローチは、今後のAIツール設計の参考になりそうです。

参考: Claude Code auto mode: a safer way to skip permissions (Anthropic Engineering Blog, 2026年3月25日)