フックの発火ポイント
対象読者: フックをどのタイミングで仕掛けるか決めたい方、代表的な発火ポイントを把握したい方
前提知識: フックとは の基礎
フックは「決められたタイミングで自動的に処理を走らせる」仕組みです。どのタイミングを選ぶかで、できることが変わります。
代表的な発火ポイント
graph LR
Start["セッション開始"] --> Before["ツール実行の直前"]
Before --> Exec["ツール実行"]
Exec --> After["ツール実行の直後"]
After --> Resp["応答の直前"]
Resp --> End["セッション終了"]| タイミング | できること | 用途の例 |
|---|---|---|
| セッション開始 | 前提情報を注入する | プロジェクト規約の読み込み |
| ツール実行の直前 | 実行を止める・承認を求める | 本番環境への操作をブロック |
| ツール実行の直後 | 結果を検証・整形・記録する | 変更後にテストを実行 |
| 応答の直前 | 出力を検査する | 機密情報が含まれていないか確認 |
| セッション終了 | まとめ処理を行う | 作業ログの保存、一時ファイルの削除 |
「止める」なら実行の直前
もっとも価値が高いのは、ツール実行の直前です。ここでしか「実行させない」という制御ができません。
- 対象パスが許可範囲外なら中断する
- 削除操作なら承認を求める
- 本番環境への接続を検知したら止める
指示で禁止するのと違い、フックは仕組みとして動くため、長い作業の途中でも効き続けます。
「確かめる」なら実行の直後
変更を加えた直後に検証を走らせると、誤りが次の工程へ持ち越されません。
- ファイル変更後にテストや構文チェックを実行する
- 生成物が規約を満たしているか確認する
- 失敗したら、その場でAIへ結果を返して修正させる
これは自己修正を、AIの判断に任せず仕組みとして強制する方法でもあります。
「補う」ならセッション開始
毎回同じ前提を伝えているなら、セッション開始時のフックで自動的に読み込ませます。プロジェクトの規約や用語ルールなど、常に効いてほしい情報が対象です。
目的から選ぶ
発火ポイントは多く仕掛けるほど良いわけではありません。目的から逆算して選びます。
| 目的 | 選ぶポイント |
|---|---|
| 危ないことをさせない | ツール実行の直前 |
| 結果の正しさを確かめる | ツール実行の直後 |
| 前提を毎回そろえる | セッション開始 |
| 出力を検査する | 応答の直前 |
まとめ
- 主な発火ポイントは、セッション開始・ツール実行の前後・応答の直前・セッション終了
- 実行を止められるのはツール実行の直前だけ
- 変更直後の検証は、自己修正を仕組みとして強制する手段になる
- 目的から逆算してポイントを選び、仕掛けすぎない
関連リンク
クイズ