コンテキストウィンドウを探索する
Claude Code のコンテキストウィンドウがセッション中にどのように満たされるかのインタラクティブなシミュレーション。自動的に読み込まれるもの、各ファイル読み込みのコスト、ルールとフックが発火するタイミングを確認できます。
Claude Code のコンテキストウィンドウには、セッションについて Claude が知っているすべてのものが含まれます。つまり、あなたの指示、読み込まれたファイル、Claude 自身の応答、およびターミナルに表示されないコンテンツです。以下のタイムラインは、スタートアップからコンパクションまでの完全なセッションを再生します。何が読み込まれ、各ファイル読み込み、ルール、フックが Claude の作業中に追加するもの、そしてサブエージェントが大きな読み込みをコンテキストから外す方法を確認できます。書かれた説明で同じコンテンツをリストとして確認できます。
タイムラインが示すもの
セッションは、代表的なトークン数を含む現実的なフローを通じて進みます。
- 何も入力する前に: CLAUDE.md、自動メモリ、MCP ツール名、スキルの説明がすべてコンテキストに読み込まれます。CLAUDE.md の代わりに AGENTS.md ファイルが読み込まれる場合もあります。ユーザー自身のセットアップによっては、出力スタイルや
--append-system-promptからのテキストなど、ここにさらに多くのものが追加される可能性があります。 - Claude が作業するとき: 各ファイル読み込みがコンテキストに追加され、パススコープ付きルールは一致するファイルと一緒に自動的に読み込まれ、PostToolUse フックは各編集後に発火します。
- フォローアップ プロンプト: サブエージェントは独自の別のコンテキストウィンドウで研究を処理するため、大きなファイル読み込みはあなたのコンテキストウィンドウから外れます。サマリーと小さなメタデータトレーラーだけが戻ってきます。
- 最後に:
/compactは会話を構造化されたサマリーに置き換えます。ほとんどのスタートアップコンテンツは自動的に再度読み込まれます。以下の表は、各メカニズムに何が起こるかを示しています。
コンテキスト圧縮後に残るもの
長いセッションでコンテキスト圧縮が行われると、Claude Code は会話履歴をコンテキストウィンドウに収まるようにまとめます。v2.1.198 以降、要約リクエストはセッションの拡張思考設定を継承するため、セッションで有効になっている場合は思考を有効にして推論し、そうでない場合はオフのままになります。思考は要約の生成方法にのみ影響します。セッション設定はその後変更されません。各種コンテンツに何が起こるかは、それらがどのように読み込まれたかによって異なります。
| メカニズム | 圧縮後 |
|---|---|
| システムプロンプトと出力スタイル | 両方とも引き続き適用されます |
| プロジェクトルート CLAUDE.md とスコープなしルール | ディスクから再度注入されます |
| 自動メモリ | ディスクから再度注入されます |
| スキルの説明 | 現在のスキルから再構築され、再度注入されます。Claude Code v2.1.304 以降が必要です |
| Git ステータススナップショット | セッション開始時にスナップショットがあった場合、Claude Code はリポジトリから新しいものを読み込みます |
| plan モードで Claude が作成したプラン | ディスクから再度注入されます |
paths: フロントマターを持つルール |
Claude Code が必要に応じて再度読み込みます |
| サブディレクトリ内のネストされた CLAUDE.md | Claude Code が必要に応じて再度読み込みます |
| Claude が読み込んだまたは編集したファイル | Claude Code は最大 5 つを再度読み込みます。最近変更されたものが最初です |
| 呼び出されたスキル本体 | 再度注入されます。スキルあたり 5,000 トークン、合計 25,000 トークンでキャップされます。最も古いものが最初にドロップされます |
| バックグラウンドコマンドとバックグラウンドサブエージェント | 実行を続けます。Claude Code は Claude に対して、どのコマンドがまだ実行中であるかを通知し、重複を開始しないようにします |
| フックが以前に追加したコンテキスト | 会話の残りの部分と一緒にまとめられます |
compact ソースと一致する SessionStart フック |
Claude Code がそれらを実行し、その出力を圧縮されたコンテキストに追加します |
圧縮直後に、Claude Code はセッション内で Claude が読み込んだまたは編集したファイルのうち最大 5 つを再度読み込みます。最近変更されたものを選択します。5,000 トークンを超えるファイルはパス参照として戻ります。その内容なしで、Read ではなく Referenced file として表示されます。
パススコープ付きルールとネストされた CLAUDE.md ファイルは、Claude がそのトリガーファイルを読み込む、書き込む、または編集するときにメッセージ履歴に読み込まれるため、圧縮によって他のすべてのものと一緒にまとめられて消えます。ルールを圧縮後も保持する必要がある場合は、paths: フロントマターを削除するか、プロジェクトルート CLAUDE.md に移動してください。
スキル本体は圧縮後に再度注入されますが、大きなスキルはスキルあたりのキャップに収まるようにトリミングされ、合計予算を超えると最も古い呼び出されたスキルがドロップされます。トリミングはファイルの開始を保持するため、SKILL.md の上部に最も重要な指示を配置してください。
コンテキストがいっぱいになるとき
Claude Code はコンテキストウィンドウの制限に近づくと自動的にコンテキスト圧縮を実行するため、コンテキストウィンドウがいっぱいになってもセッションが終了することはありません。自動パスはタイムラインの /compact ステップと同じ方法で機能します。保持される内容については、コンテキストがいっぱいになるときを参照してください。アイドル状態のまま放置した会話を Claude Code が圧縮する場合については、アイドル時の圧縮を参照してください。
自動パスが実行される前に対応することもできます。
- フォーカスを絞ってコンパクション:
/compactを指示付きで実行します。例えば、/compact focus on the auth bug fixのように、長い新しいタスクを開始する前に実行してください。サマリーは自動パスが重要だと推測するものではなく、あなたが選択したものを保持します。 - 会話の一部をコンパクション:
/rewindを実行し、メッセージを選択して、ここから要約 または ここまで要約 を選択してください。各オプションが保持する内容と要約をガイドする方法については、リワインドと要約を参照してください。 - より早くコンパクション:
/autocompactをトークン数付きで実行します。例えば/autocompact 500kのように、自動パスが実行される前にコンテキストウィンドウがどの程度いっぱいになるかを設定してください。受け入れられる値とオーバーライドについては、自動コンパクトウィンドウを設定を参照してください。 - タスク間でクリア: 関連のない作業に切り替えるときに
/clearを実行してください。古い会話は次に必要なファイルを圧迫し、すべてのメッセージでトークンを消費します。 - 大きな読み込みを委譲: 研究をサブエージェントに送信して、ファイルコンテンツがあなたのコンテキストウィンドウではなく、そのコンテキストウィンドウに留まるようにしてください。
より小さな会話ではなく、より大きなウィンドウが必要な場合、Fable モデル、Sonnet 5 以降、Haiku 5.5、Opus 4.6 以降、および Sonnet 4.6 は 100 万トークンのコンテキストウィンドウをサポートしています。プランごとの利用可能性と [1m] モデルバリアントの選択方法については、拡張コンテキストを参照してください。コンテキスト圧縮はより大きな制限でも同じ方法で機能します。
自動コンパクションが実行される時点は、あなたのモデルと設定によって異なります。モデルごとの境界についてはデフォルト自動コンパクトしきい値を参照してください。Claude Code があなたのモデル ID(LLM ゲートウェイエイリアスなど)に対して間違ったウィンドウを想定している場合は、ゲートウェイまたはカスタムモデル ID のウィンドウを修正を参照してください。
あなた自身のセッションを確認する
ビジュアライゼーションは代表的な数値を使用しています。任意の時点でのあなたの実際のコンテキスト使用状況を確認するには、/context を実行して、カテゴリ別の詳細な内訳と最適化の提案を取得してください。これには、どの CLAUDE.md と自動メモリファイルが読み込まれたかが含まれます。/memory を実行して、これらのファイルを開いて編集してください。
関連リソース
タイムラインに示されている機能の詳細なカバレッジについては、これらのページを参照してください。
- Claude Code を拡張する: CLAUDE.md とスキルとルールとフックと MCP をいつ使用するか
- 指示とメモリを保存する: CLAUDE.md 階層と自動メモリ
- サブエージェント: 研究を別のコンテキストウィンドウに委譲する
- ベストプラクティス: セッションを焦点を絞ったものに保ち、コストを抑える
- プロンプト キャッシング: キャッシュされたプレフィックスを無効にするアクション
- トークン使用量を削減する: コンテキスト使用量を低く保つための戦略