Skip to content

🌐 English

注入タイミングの全体像

NOTE

各設定ファイルは「いつ」「どのように」LLM のコンテキストウィンドウに注入されるかが決まっている。 この仕組みを理解することで、他の LLM ツール(Cursor、Cline、Copilot 等)にも応用できる原理が見えてくる。

注入タイミング一覧

レイヤー対象注入タイミングコンテキスト消費
常駐System Promptセッション開始時常時(毎ターン)
常駐CLAUDE.mdセッション開始時常時(毎ターン)
条件付き.claude/rules/glob パターン一致時条件一致時のみ
オンデマンドSkillsユーザー呼出 or LLM 判断時呼び出し時のみ
オンデマンドAgentsAgent() ツール呼び出し時別コンテキスト(メインを消費しない)
ツール定義MCP Toolsセッション開始時常時(ツール定義として)
蓄積会話履歴毎ターン追加累積(/compact で圧縮可能)
コンテキスト外settings.json-なし
コンテキスト外Hooks-なし(Prompt Hook を除く)

注入の4つのパターン

1. 常駐注入(Always Loaded)

セッション開始時に読み込まれ、毎ターン消費し続ける

セッション開始 → System Prompt + CLAUDE.md を注入
ターン1: [System Prompt][CLAUDE.md][ユーザー入力1]
ターン2: [System Prompt][CLAUDE.md][ユーザー入力1][応答1][ユーザー入力2]
...

常駐するため、コンテキスト予算への影響が最も大きい。→ CLAUDE.md の 200 行制限の根拠

2. 条件付き注入(Conditional)

特定の条件(glob パターン一致)を満たした時だけ注入される。

*.component.ts を編集 → component-rules が注入される
*.spec.ts を編集 → testing-rules が注入される
*.cs を編集 → 上記のルールは注入されない

→ Priority Saturation 対策。必要な時だけ必要なルールを注入。

3. オンデマンド注入(On-Demand)

ユーザーの呼び出し、または LLM の自動判断で注入される。

Skills はメインコンテキスト内に展開される(import に相当)。 Agents は独立したコンテキストで実行される(別プロセスに相当)。

4. コンテキスト外(Runtime Layer)

LLM のコンテキストウィンドウに一切入らない。Claude Code のランタイムが処理する。

settings.json → 権限制御、環境変数 Hooks → ライフサイクルイベントでシェルコマンド実行

設計判断のフローチャート

新しいルールや情報を追加する時、以下の順で判断する。


前へ: コンテキストウィンドウとは何か

次へ: コンテキスト予算という考え方

Released under the CC BY 4.0 License.