AIが勝手なことをしない「仕組み」の話~Claude Codeのhooksとは~
AI事業開発をやっている後藤です。
※会社の実務を月10万円から引き受けています
→ 「後藤、貸します。」https://i-gs.co.jp/services/goto-kashimasu
AI社員に仕事を任せるようになると、ある不安が出てきます。
「ちゃんとルールを守ってくれてる?」
「勝手に変なことをしていない?」
相手はAIなので、こちらで制御してあげないとルールを守ってくれません。
この不安に対する答えが、2段階あることに気づきました。
1つ目は「ルールを文章で書いて読んでもらう」こと。
Claude Codeには「CLAUDE.md」というファイルがあって、そこに「これはやらないで」「これはやって」と書いておけば、AIはそれを読んで動いてくれます。
ただ、これには限界があります。
人間の新人社員と同じで、「読んだはずなのに守られなかった」ということが起きます。ルールブックがあっても、状況によっては読み飛ばす、忘れる。それはAIも人間も同じですよね。
2つ目が、今回紹介する「hooks」です。
ルールを守るかどうか、AIに任せていた
「hooks」はClaude Codeの公式機能で「AIが何かを操作する前後に、自動でチェックが走る仕組み」です。
イメージは「検問」。
車の走行中に検問があった場合、必ず止まって確認されますよね。
hooksはまさにこれです。AIが操作しようとした瞬間に「待った」をかけて、条件を満たしていなければ物理的にその操作を止める。ルールを守るかどうかをAI任せにしない仕組みです。
「書いてある」と「できない」は、ぜんぜん違う

整理するとこうなります。
「CLAUDE.md(お願い)」
ルールを文章で書いて、AIに「読んで守ってもらう」
読み飛ばしや、状況によっては忘れることがある
守るかどうかの判断を、AIに委ねている
「hooks(仕組み)」
ルール違反の操作を、物理的に止める
守る・守らないの判断をAI任せにしない
操作の前・後・終わり際に、スクリプトが自動で走る
人間の会社に例えるなら、「社内規定に書く(CLAUDE.md)」と「そもそも操作ができない設定にする(hooks)」の違いです。
規定を読んでもらうことはできる。でも、権限がなければ操作自体ができない。
hooksは後者の考え方です。
CLAUDE.mdについてはこちらの記事で詳しく書いています。
弊社で実際にあったことと、その対策
弊社では現在、30本ほどのhooksが動いています。それぞれに理由があります。事故があって、対策を入れた。その積み重ねです。
いくつか紹介します。
・「?」を付けただけで、作業が始まった
これは初期に発生した事故です。
「これって〇〇で合ってる?」と確認のつもりで質問したら、AIが「調査します」と言って、勝手に動くことがありました。
私は質問しただけで、作業してほしいとは言っていない。でも「?」がついていると、AIは「調べろということだ」と解釈してしまうことがあります。
対策として入れたのが「質問ガード」のhookです。
「?」付きのメッセージに対して、AIは回答だけを返す。
ファイルを触る・作業するという操作は自動でブロックされます。「進めて」「やって」など明示的な言葉があった時だけ解除される。これを入れてから、「答えを聞きたかっただけなのに」という誤解がなくなりました。
・ファイルの「削除」は、最初からできないようにした
AIに「古いファイルを片付けて」と頼んだ時、削除してしまうと取り返しがつきません。
弊社ではファイルの削除コマンドを全面ブロックしています。AIができるのは「移動」だけ。間違えても、移動先に行けば必ず見つかります。
シンプルなルールですが、安心感が全然違います。
・パスワードが画面に出る操作は、実行前に止める
パスワードやAPIキーを入れたファイルを、画面に表示するコマンドをAIが実行しようとすることがあります。
この対策として、秘密情報のファイルをそのまま表示するコマンドは、hookで全てブロックされます。AIがコマンドを発行しても、実行前に止まる。内容を見るための特定の安全な操作だけを許可する形にしています。
・古いメモを、最新情報として信じた
AIが過去の記録を参照して、「このプロジェクトは止まったままです」と報告してきたことがありました。実際は動いていた。古い記録を最新情報として信じてしまっていたんです。
対策として入れたのが「実機確認強制」のhookです。
プロジェクトの進捗や状態について何か口にする前に、必ず最新の実物データ(GitHubのPR一覧、実際のログなど)を確認させます。古い記録だけを根拠に断言できない仕組みにしています。
・「一旦保留に」と言われ続けた
もう1つ、意外と効いているのが「逃げ道の提案禁止」のhookです。
行き詰まった時に「保留にしましょう」「別の企画に切り替えましょう」という楽な選択肢を、AIが出せないようにしています。代わりに「次に試す具体策」を出させる。
これを入れる前は、難しい問題に当たると「一旦保留にして」と言われることがありました。それでは意味がないので、仕組みで封じています。
私はコードを書いていない
hookは小さなプログラム(スクリプト)で動きます。
でも、私がコードを書いているわけではありません。「こういうルールで物理的に止めるhookを作って」と日本語でAIに頼むと、AIがスクリプトを書いてくれます。作成もテストも、AIがやります。
私がやることは「どのルールを物理的に守らせたいか」を決めるだけ。エンジニアの知識は不要です。
全部ブロックにすると、AIは動けなくなる
hookには2種類あります。
ブロック型:ルール違反の操作を止める。「それはできない」で終わる。
警告型:注意だけ出して、操作自体は通す。AIが注意のメッセージを受け取ったうえで続ける。
全部ブロックにすると、AIが何もできなくなります。「物理的に止めるべきこと」と「警告で十分なこと」を使い分けるのがポイントかなと思います。
弊社の例だと、
・ブロック型:削除、秘密情報の表示、課金API(重要)
・警告型:ファイルの置き場所の違反を知らせる(軽度)
このように運用しています。
最初から全部作ろうとしなくていいです。1本から始めて、実際に「あ、これ止めたい」と思った瞬間に追加していく、その積み重ねが一番自然だと思います。
決めるのは自分、忘れないのがhooks
hooksを使うと「AIが完全に管理される」と思われるかもしれません。でも、実際は少し違います。
ルールを決めるのは自分(人間)です。
「何を禁止するか」「何を必ず確認させるか」は、全て私が経験をもとに決めています。hooksは、その決定を毎回忘れずに実行するための仕組みです。
AIが8割、人間が2割。AIに任せる部分を増やすほど、「人間が決めた基準」を守らせる仕組みが重要になります。hooksはその柱です。
弊社がClaude Codeでどんな仕事をAI社員に任せているかは、こちらの記事で紹介しています。
止める仕組みを入れられるかどうかで、AIに任せられる範囲は変わってきます。
IGS代表の後藤本人が、会社の実務を月額で引き受けています。
対応範囲は集客・発信、Web制作、AI導入・業務自動化、事業推進、経営実務です。月10万円(税別)・月15時間から、毎月10社限定。3か月一括のお申し込みなら初月半額です。
https://i-gs.co.jp/services/goto-kashimasu
あわせて読みたい
AI(Claude Code)でコーポレートサイトを作ったら、制作会社に頼む理由がなくなった
WordPressをやめて、Claude Codeでサイトを作った話
Claude Codeの料金は?非エンジニアが実際に払っている金額とプランの選び方
その他、AIに関して自社ブログにまとめています。
▶ IGSブログ: https://www.i-gs.co.jp/blog
▶ Instagram:https://www.instagram.com/yuigs_ai/
▶ Threads:https://www.threads.com/@yuigs_ai
▶ X: https://x.com/yusuke_IGS
