AIに「ルールを守って」と言うのをやめて、hookで物理的に止める仕組みを作った話
「何度言ってもAIはルールを守らない」という悩みは、実はルール設定の問題ではなく「毎回同じ説明を繰り返す人間側の運用設計」の失敗だ。Claude Codeのhook機能を使うと、この問題は完全に解決する。hookを設定すると、ファイル編集や実行の直前に自分のスクリプトを差し込める。つまり、AIがルールを破ったら物理的にそれを止める仕組みをコンテキストや指示ではなく「OSレベルの強制力」として実装できるわけだ。例えば「1回の編集が200字を超えたら拒否する」hookを`.claude/settings.json`に書き、判定スクリプトをbashで用意すれば、AIはその制限を絶対に超えられない。
実装の落とし穴は6つある。AIに届く説明は`additionalContext`に入れないと理由が伝わらない。単なる理由の記述ではAIが見てくれないのだ。timeoutは秒単位で明示的に指定すること。指定がなければ600秒まで待つため、スクリプトがフリーズしたら編集全体が止まる。判定できないときはフェイルオープン(通す)して、自分が書いたスクリプトのバグで全部止まる事態を防ぐ。対象外ファイルの処理は軽く保って、パフォーマンスを落とさない。hookはサブエージェントの作業にも発火するため、抜け道がない。そして「複数回にまたがる合計」まで見るのは仕組み上難しい制限がある。
AIの鬼からすると、ここが本当に大事な気づきだ。「AIに何度も同じことを言う」のは無駄な努力ではなく「口で言うフェーズ」から「仕組みで強制するフェーズ」への転換が来た合図だ。中小企業のClaude Code導入も、同じ道を辿るはずだ。最初は指示で管理し、やがてhookで強制する。スクリプトが人間の言葉より信用できるのは、テクノロジー時代の当たり前な学習だ。
※ 上記は配信元記事をもとにAIの鬼編集部が要約・再構成したものです。正確な内容は出典元をご確認ください。
このニュースの全文は、配信元でお読みいただけます。 Zenn AIで元記事を読む →
