Claude Code のコンテキストと /compact:長い会話で何が残り、何が消えるか

結論

  • Claude Code(Anthropic 社が提供する、ターミナルで動く AI コーディングエージェント)のコンテキストウィンドウには、利用者の指示、読んだファイル、Claude の応答、端末に表示されない内容までが入ります。
  • 公式ドキュメントによると、上限に近づくと自動で圧縮されるためセッションは終わりません。/compact は会話を構造化された要約に置き換えるコマンドです。
  • 圧縮後の扱いは、内容がどう読み込まれたかで変わります。残したい指示の置き場所(CLAUDE.md、paths: の有無、スキルの先頭)に注意が必要です。

コンテキストウィンドウには何が入っているか

公式ドキュメントでは、コンテキストウィンドウ(セッション中に Claude が把握している内容を入れておく領域)には、利用者の指示、Claude が読んだファイル、Claude 自身の応答、そして端末に表示されない内容が入ると説明されています。

入力前に読み込まれるのは、CLAUDE.md、auto memory、MCP のツール名、スキルの説明です。CLAUDE.md の代わりに AGENTS.md が読み込まれる場合もあります。

作業中は、ファイルを読むたびにコンテキストが増えます。paths: を持つルールは、一致するファイルと一緒に自動で読み込まれます。

公式ドキュメントのタイムラインでは、ファイル読み取りが使用量の大半を占めるとされ、プロンプトで対象を具体的に指定すると読むファイルが減ると説明しています。トークン数は説明用の例で、実際の値は CLAUDE.md の大きさ、MCP サーバー、ファイルの長さで変わります。

CLAUDE.md は 200 行未満に収め、参照用の内容はスキルやパス指定のルールへ移すと、必要なときだけ読み込まれると案内されています。

出典: Explore the context window

/compact と自動圧縮で起きること

/compact を実行すると、会話が構造化された要約に置き換わります。タイムラインの説明では、端末には「Conversation compacted」というメッセージが出るだけで、要約の作業自体は端末に表示されません。

同じ説明では、要約に残るのは、依頼と意図、主要な技術概念、調べた・変更したファイルと重要なコード断片、エラーと修正、未完了のタスク、現在の作業です。ツール出力の全文や途中の推論は残らず、Claude は正確な内容までは持たないとされています。

上限に近づくと自動で圧縮されるため、満杯でもセッションは終わりません。自動圧縮は /compact と同じ流れです。圧縮が走る位置はモデルと設定で変わるため、公式ドキュメントの Default auto-compact thresholds で確認してください。

v2.1.198 の時点で、要約の要求はセッションの extended thinking 設定を引き継ぎます。セッションで有効なら有効な状態で要約し、無効なら無効のままです。影響は要約の作り方だけです。

出典: Explore the context window

圧縮後に残るもの・残らないもの

公式ドキュメントの表を要約すると、圧縮後の扱いは次のとおりです。

  • システムプロンプトと出力スタイル:どちらも引き続き適用されます。
  • プロジェクトルートの CLAUDE.md と、スコープ指定のないルール:ディスクから再注入されます。
  • auto memory と、plan mode で Claude が書いたプラン:ディスクから再注入されます。
  • Git status スナップショット:セッション開始時にあった場合は、リポジトリから最新のものを読み直します。
  • paths: frontmatter 付きのルール、サブディレクトリの CLAUDE.md:必要になった時点で再読み込みされます。
  • Claude が読んだ・編集したファイル:更新が新しい順に最大5つ再読み込みされます。
  • 呼び出したスキルの本文:スキルごと 5,000 トークン、合計 25,000 トークンを上限に再注入され、古いものから落ちます。
  • hook が以前に追加した文脈:ほかの会話と一緒に要約されます。
  • compact ソースに一致する SessionStart hook:実行され、出力が圧縮後の文脈に加わります。
  • バックグラウンドコマンドとバックグラウンドのサブエージェント:動き続けます。

5,000 トークンを超えるファイルは、内容なしのパス参照になり、Read ではなく Referenced file と表示されます。スキルの説明一覧は圧縮後に再注入されず、実際に呼び出したスキルだけが残ります。

paths: 付きルールやネストした CLAUDE.md は、読み込み時にメッセージ履歴へ入るため、圧縮で他の内容と一緒に要約されます。圧縮後も残したいルールは、paths: frontmatter を外すか、プロジェクトルートの CLAUDE.md に移すと案内されています。スキルは大きいと切り詰められ、先頭が残るため、重要な指示は SKILL.md の先頭近くに置きます。

出典: Explore the context window

埋まる前にできる手当て

公式ドキュメントでは、自動圧縮が走る前に次の操作ができると案内されています。

  • /compact focus on the auth bug fix のように指示を付けて実行する。長い新しい作業の前に使うと、自動圧縮の推測ではなく、選んだ内容が要約に残ります。
  • /rewind でメッセージを選び、Summarize from here か Summarize up to here を選ぶ。会話の一部だけを要約できます。
  • /autocompact 500k のようにトークン数を指定し、自動圧縮が走るまでの目安を変える。受け付ける値は公式ドキュメントで確認してください。
  • 無関係な作業に移るときは /clear。古い会話は次に必要なファイルを押し出し、メッセージごとにトークンを消費します。
  • 大きな調査はサブエージェントに任せる。ファイルの中身はサブエージェント側のコンテキストに入り、結果の要約だけが戻ります。

より大きなウィンドウが必要な場合、一部のモデルは 1 million トークンのコンテキストウィンドウに対応します。対応モデルとプラン別の提供状況は、公式ドキュメントの Extended context で確認してください。圧縮の仕組みは大きい上限でも同じです。

出典: Explore the context window

セッション内のコマンドと確認方法

公式ドキュメントのセッション管理のページでは、セッションを離れずにコンテキストを操作するコマンドとして、次の3つを挙げています。

  • /clear:空のコンテキストで始め直します。前のセッションは保存され、/resume で再開できます。
  • /compact [instructions]:履歴を要約に置き換えます。重点を指定することもできます。
  • /context:いまコンテキストを消費しているものを表示します。

コンテキストウィンドウの解説ページによると、/context はカテゴリ別の内訳と最適化の提案を表示し、読み込まれた CLAUDE.md と auto memory のファイルも分かります。/memory でそれらを開いて編集できます。以上は執筆時点(2026年10月)の公式ドキュメントに基づく内容で、挙動やバージョンは変わる可能性があります。

出典: Manage sessions

よくある質問

コンテキストが一杯になるとセッションは止まりますか?

公式ドキュメントによると、上限に近づくと自動で圧縮されるため、満杯でもセッションは終わりません。自動圧縮は /compact と同じ流れで動き、走る位置はモデルと設定で変わります。

出典: Explore the context window

圧縮すると CLAUDE.md の指示は消えますか?

プロジェクトルートの CLAUDE.md はディスクから再注入されます。一方、paths: frontmatter 付きのルールやサブディレクトリの CLAUDE.md は、圧縮で要約され、必要になった時点で再読み込みされます。圧縮後も残したいルールは、paths: を外すか、プロジェクトルートの CLAUDE.md に移します。

出典: Explore the context window

圧縮で残す内容を指定できますか?

/compact に指示を付けて実行できます。たとえば /compact focus on the auth bug fix のようにすると、自動圧縮が重要と推測する内容ではなく、選んだ内容が要約に残ります。

出典: Explore the context window

関連する無料ツール

Claude Code API 料金 見積もり計算機: 入力・出力・キャッシュのトークン数と人数から、API で使う場合の月額の目安を計算します。

参考(執筆時点)

この記事は、上の出典の内容を中小DXラボが要約・再構成したものです。仕様は変わることがあります。社内で使う・配る前に、公式ドキュメントで最新の情報を確認してください。