AIエージェントに作業を任せるとき、いちばん怖いのは「間違えること」ではありません。間違えたまま止まらずに進むことです。
人が見ている間は、おかしいと思った時点で止められます。無人で走らせると、その途中経過を誰も見ていません。気づくのは、終わったあとです。
私は Claude Code を長時間、無人で走らせています。その過程で実際に壊したものと、そのあと入れた仕組みから、先に決めておくと事故になりにくい点を3つ挙げます。
■ 1. 「取り返しがつくか」で線を引く
やってよいこと・いけないことを、作業の種類で分けようとすると必ず破綻します。種類は無限にあるからです。
分けるなら、取り返しがつくかどうかで分けます。
・取り返しがつく(ファイルの編集、下書きの保存、画面の移動)→ そのままやらせてよい
・取り返しがつかない(送信、公開、購入、削除、同意)→ 実行前に必ず人に見せる
この線引きは、作業が増えても増えません。新しい作業が出てきたときも「これは取り返しがつくか」だけを聞けば済みます。
■ 2. 止めるものは、判断ではなく「種類」で止める
「危なそうなときは止まってね」という指示は効きません。危ないかどうかの判断自体をAIに任せることになるからです。
止めるなら、判断の要らない形にします。たとえば「このコマンドは実行しない」「このドメイン以外は開かない」のように、名前と形だけで機械的に判定できるものにします。
判断が入る余地をなくすほど、確実に止まります。逆に言うと、機械で止められないものは規律で守るしかありません。そこは正直に分けておいたほうがいいです。
■ 3. テストは「止まること」だけでなく「通ること」も固定する
安全側の設定を足していくと、だんだん普通の作業も止まるようになります。そして止まるたびに例外を足すので、設定は緩む方向にしか動きません。
これを防ぐには、「止まるべきものが止まる」テストと同じ数だけ、「通るべきものが通る」テストを書いておきます。
私の場合、この2つ目のほうが役に立ちました。安全側に倒した変更で、普通の作業を壊していたことに何度も気づけたからです。
■ 補足:いちばん多い事故は、派手なものではない
「AIが暴走して大変なことになった」という形の事故は、実はあまり起きませんでした。
多かったのは、こういうものです。
・成功したと報告されたが、実際には何も起きていなかった
・少し前に自分で作った手順を忘れて、できないと報告してきた
・観察としては正しい理由が3つ並んでいて、結論だけが間違っていた
どれも、報告を読むだけでは気づけません。出力ではなく、実際の画面や結果を見に行くこと。これがいちばん効きました。
■ まとめ
・線引きは作業の種類ではなく、取り返しがつくかどうかで行う
・止めるものは判断ではなく、名前と形で機械的に止める
・「通るべきものが通る」テストを、同じ数だけ書く
・報告ではなく、結果そのものを見に行く
■ この記事に対応する出品
上の考え方を、実際の設定ファイルと手順の形にしてお渡ししています。
「ClaudeCodeの事故を防ぐ設定一式を渡します」(AIエージェントを無人で走らせて壊した側が作った雛形です)
お渡しするのは4点です。設定ファイルの雛形、ツールの入口で止める仕組みの設計と雛形、公開前の個人情報チェック、そして実際に踏んだ事故の記録です。
やり取りはメッセージのみで、通話はありません。お客様の設定ファイルやログはお預かりしません。個人情報をお預かりしない設計にしているためです。
なお、効果を保証するものではありません。「こう書くと良い」ではなく「こう書いていて、こう壊れた」という形でお渡ししています。