Skip to content

🌐 English

なぜLLMに見せないのか

NOTE

settings.json と Hooks をコンテキスト外に置く設計判断の根拠。

核心的な問い

「LLM にルールを教えれば済むのに、なぜわざわざコンテキスト外に置くのか?」

答えは3つの構造的問題に集約される。

1. Instruction Decay への耐性

LLM に「毎回テストを実行しろ」と指示しても、長い会話の中で遵守率が低下する(平均39%の性能低下)。Hooks はコンテキストに存在しないため、Instruction Decay の影響を受けない。

2. Sycophancy への耐性

LLM は追従性により「テストは大丈夫だろう」と判断をスキップする可能性がある。Hooks は LLM の判断を介さずに機械的に実行するため、追従の余地がない。

3. コンテキスト予算の節約

「毎回 lint を実行しろ」「毎回テストを実行しろ」「毎回フォーマットしろ」—— これらをCLAUDE.md に書くと、常時コンテキストを消費する。Hooks に移動すれば予算消費ゼロ

判断基準

原則

ルールで判断が必要なものは CLAUDE.md / Rules に、機械的に強制できるものは Hooks に書く。


前へ: Hooks のライフサイクル

Part 7 完了 → 次へ: Part 8: セッション管理と記憶の永続化

Released under the CC BY 4.0 License.