🌐 English
Part 7: LLMが見ないレイヤー — Settings & Hooks
NOTE
コンテキスト外の制御。コンテキスト予算を一切消費しない。 LLM の判断に依存しない検証手段をここに配置する。
なぜ存在するのか
LLM に「毎回 eslint を実行しろ」と指示すると、コンテキストウィンドウを消費し、しかも忘れることがある(Instruction Decay)。Hooks はランタイムレベルで強制実行するため、LLM の指示枠を消費せず、確実に実行される。
原則: ルールで判断が必要なものは CLAUDE.md / Rules に、機械的に強制できるものは Hooks に書く。
→ Why: どの構造的問題に対応しているか
IMPORTANT
- Hallucination: テスト実行 Hook でハルシネーションした出力を機械的に検出
- Sycophancy: コンパイラ・テストランナーは追従しない。客観的な検証
- Instruction Decay: コンテキストに依存しないため、長い会話でも確実に実行される
- コンテキスト予算: 予算消費ゼロ。最も予算効率が良い対策
このパートのドキュメント
| ドキュメント | 内容 |
|---|---|
| settings.json の役割 | ランタイム設定。権限制御、環境変数 |
| Hooks のライフサイクル | イベント一覧、Hook の種類、Exit Code |
| なぜLLMに見せないのか | コンテキスト外に置く設計判断の根拠 |