Deepseek ArtifactsDeepseek Artifacts
コンテキスト管理 · v2.1.288 対応

Claude Code Auto Compact 徹底解説:/autocompact・しきい値・トラブル対処

コンテキストウィンドウが満ちる前に auto compact が何をするか、/autocompact ウィンドウの仕組み(v2.1.288 からモデル別に保存)、compact と clear の使い分け、そして「Compacting conversation…」が遅い・固まるときの対処法まで。

要点だけ

  • 会話がコンテキスト上限に近づくと、auto compact は古い履歴を要約します。v2.1.288 からは auto モードも長い会話でツール呼び出しを失敗させる代わりに圧縮します。
  • /autocompact 500k でトリガーウィンドウを設定(100K–1M トークン)。v2.1.288 からはモデル別に保存されます。/autocompact auto でモデル調整済みの既定値に戻せます。
  • /context で使用内訳と予約済みの Autocompact buffer が見られます。同じ機能を続けるなら compact、新しいタスクなら /clear。
  • 圧縮は会話全体を読むため長いセッションほど時間がかかります。固まったらまず Claude Code を更新——2.1.288 で「Prompt is too long」エラーではなく圧縮するよう修正されました。

Context Management in Claude Code

チャンネル:Anthropic · Claude3:31

開く

Claude Code release notes — v2.1.288

リリースノート:github.com/anthropics/claude-code

開く

Set the auto-compact window — official documentation

ドキュメント:code.claude.com/docs

開く

本ページの事実は Claude Code 公式ドキュメントと v2.1.288 のチェンジログでクロスチェック済み。スクリーンショットは上記動画より引用です。記載の挙動は Claude Code v2.1.288(2026 年 9 月)に準拠します。

スクリーンショットは Anthropic の動画「Context Management in Claude Code」のフレームを使用し、出典を明記したうえで各ステップに元動画のタイムスタンプへのリンクを付けています。

auto compact を図解でステップごとに

何がコンテキストを消費しているか知る

  1. 1

    コンテキストに読み込まれているものを一覧する

    /context を実行して内訳をスクロールします。MCP ツールはオンデマンド読み込みですが、ツール定義・カスタムエージェント・スキルはそれぞれトークンを事前確保します。最初のプロンプトを送る前から引かれている計算です。プロジェクトに不要な MCP サーバーを切るのが、最も安くコンテキストを節約する方法です。

    Claude Code /context breakdown listing MCP tools loaded on demand plus Custom agents and Skills token costs such as code-reviewer at 335 tokens
    /context の内訳には、作業開始前の MCP ツール・カスタムエージェント・スキルのトークンコストが表示されます。動画 0:10 で見る
  2. 2

    空き容量と autocompact バッファを読む

    /context の上部にはモデルのウィンドウと使用量が表示されます。デモでは claude-opus-4-6 で 21k/200k トークン(11%)。最終行の Autocompact buffer は、ウィンドウが真満杯になる前に auto compact を実行できるよう Claude Code が確保している余量です。

    Claude Code /context usage panel for claude-opus-4-6 showing 21k of 200k tokens used, Free space 148k at 73.8 percent and an Autocompact buffer of 33k tokens reserved for summarization
    /context の Autocompact buffer 行が圧縮用の予約スペースです。この例では 33k トークン(16.5%)。動画 2:38 で見る
  3. 3

    満杯に近づくセッションを見分ける

    長いセッションはツール結果で膨らみます。ファイル読み込み・コードレビューの指摘・修正のたびにメッセージが積まれていきます。デモのセッションはコードレビューを実行し、「入力バリデーション欠如」「ハードコードされた JWT シークレット」などの指摘を列挙して修正を依頼——まさに上限に突き当たりやすい種類の仕事です。

    Claude Code session asking can you fix all critical issues after a code review lists Missing input validation and Hardcoded JWT secret fallback findings
    指摘と修正を伴うコードレビューは、コンテキストウィンドウを上限へ押し上げる典型的な長時間セッションの作業です。動画 0:24 で見る
  4. 4

    まとめから「残るもの」を確認する

    会話が長くなると、Claude Code 自身のまとめ——優先度ランキング・ユーザーメッセージ全部・未完了タスク——が、サマリーが守るべきものを示してくれます。auto compact の考え方も同じです。リクエストと主要なコード断片は残り、最初に捨てられるのは古いツール出力です。

    Claude Code compacted recap of a code review conversation with Priority Ranking, All user messages and Pending tasks sections before the session continues
    優先度ランキング・ユーザーメッセージ・未完了タスク。圧縮後のサマリーが引き継ぐべき状態とはこのことです。動画 0:50 で見る

意図的にコンパクトする

  1. 5

    スラッシュメニューから /compact を選ぶ

    / を入力して説明文を読んでみましょう。/clear は「Clear conversation history and free up context」、/compact は「Clear conversation history but keep a summary in context」。この一文がすべての違いです。compact はサマリーと引き換えに継続性を得て、clear は最大の空き容量を買います。/compact は /compact Focus on the API changes のような焦点指定も受け付けます。

    Claude Code slash command menu showing /clear described as clear conversation history and free up context while /compact keeps a summary in context
    スラッシュメニューがはっきり言っています。/compact はサマリーを残し、/clear は全解放。動画 0:09 で見る
  2. 6

    Compacting conversation スピナーを理解する

    /compact を実行すると「Compacting conversation…」が表示され、モデルがそこまでの全内容を読んで要約します。auto compact は上限付近でこの同一ルーチンを自動実行します。v2.1.288 ではさらに、auto モードが長い会話でツール呼び出しを失敗させる代わりに圧縮するようになり、タスクの途中で止まることはなくなりました。

    Claude Code showing the Compacting conversation spinner right after running the /compact command in a long session
    手動でも自動でも、圧縮中に見えるのは同じ「Compacting conversation…」です。動画 0:46 で見る
  3. 7

    コンパクトサマリーを読む

    出力は「This session is being continued from a previous conversation that ran out of context」で始まり、Primary Request and Intent・Key Technical Concepts・Files and Code Sections を新しいウィンドウへ引き継ぎます。完全な履歴の代わりにサマリーを持って作業を続けられるのです。

    Claude Code Compact Summary output stating the session is being continued from a previous conversation that ran out of context with Primary Request and Key Technical Concepts sections
    圧縮サマリーは「コンテキストを使い切った」ことを明記したうえで、保持した内容を列挙します。動画 0:48 で見る
  4. 8

    完全なトランスクリプトから詳細を復旧する

    サマリーに必要な情報が落ちていたら、圧縮後のノートが探し先を教えてくれます。「read the full transcript at」に続く .jsonl のパスに、Current Work と Optional Next Step のセクション。ドキュメントの警告はどのみち有効です。会話序盤の詳細な指示は失われることがあるため、恒久的なルールは CLAUDE.md に置きましょう。

    Claude Code post-compaction notes with Current Work, Optional Next Step and the full transcript .jsonl path to read details lost in the summary
    Current Work・Optional Next Step・トランスクリプトのパス。圧縮後の3つの復旧ポイントです。動画 0:52 で見る

クリア・委譲・復旧

  1. 9

    タスクが終わったら /clear

    新機能を始めますか? /clear は会話を丸ごと消します。ドキュメントが言うようにコストはほぼゼロで、大きなコンテキストの圧縮はそれ自体が大きなリクエストです。先に /rename を実行して終わったセッションを /resume で見つけられるようにし、将来のセッションが知るべきことは CLAUDE.md に書きましょう。

    Claude Code command palette with /clear typed after finishing a task, showing the /clear and /compact entries side by side
    /clear はサマリーなしで白紙から始めます。先にリネームしておけば /resume で戻れます。動画 3:14 で見る
  2. 10

    重い読み込みをサブエージェントに委譲する

    サブエージェントは独立したコンテキストウィンドウで動作し、メインセッションには要約だけを返します。デモのように code-reviewer サブエージェントを呼び出せば、レビュー出力はあなたのウィンドウに一切入ってきません。「答えだけ欲しくて過程はいらない」タイプの質問に対する、ドキュメント推奨の解法です。

    Claude Code spawning the code-reviewer subagent to review recent code changes while the main session waits on the Initializing status
    code-reviewer サブエージェントの呼び出し。作業はメインのコンテキストウィンドウの外で行われます。動画 2:50 で見る
  3. 11

    サブエージェントに働かせ、答えだけ受け取る

    サブエージェントがリファクタリングの要約や Todo 更新を進めている間、メインウィンドウが受け取るのは結果だけ。メインスレッドのツール出力が減れば、auto compact の発火は遅くなる——あるいは来ません。長いプロジェクトをバッファまで到達させない最も安価な方法です。

    Claude Code code-reviewer subagent summarizing a refactor in its own context window with Update todos progress shown in the main session
    サブエージェントは要約済みの結果だけを返します。中間出力はメインセッションに保存されません。動画 2:53 で見る

auto compact と /compact・/clear・/rewind の違い

4つのコマンドは Claude Code の同じ角落きにあり、いずれも会話をリセット・再構成しますが、答える問いは違います。どれが正解かを解説します。

  • 1auto compact(自動):会話がコンテキスト上限——または /autocompact で設定したウィンドウ——に達すると発火し、古い履歴を要約してセッションをそのまま続けます。v2.1.288 からは auto モードも非常に長い会話でツール呼び出しを失敗させる代わりに圧縮します。
  • 2/compact(手動・サマリー保持):同じ要約をオンデマンドで実行します。メニューの言葉を借りれば「Clear conversation history but keep a summary in context」。ウィンドウを超えたけれど同じ機能を続けるときに使い、/compact Focus on the test output のように焦点を指定できます。
  • 3/clear(白紙から):サマリーなしで全部を消し、コストはゼロ。大きなコンテキストの圧縮はそれ自体が大きなリクエストです。計画が終わって次のタスクが無関係なときに使い、先に /rename しておけば /resume で旧セッションに戻れます。
  • 4/rewind(取り消し):性質が別物です。Esc 二度押しでリワインドメニューが開き、以前のチェックポイントからコードと会話を復元します。最近の変更を取り消したいときに使うもので、コンテキスト上限を超えて作業を続けたいときの道具ではありません。
  • 5Anthropic 自身のウォークスルーにある経験則:ウィンドウを超えても同じ機能の継続が必要なら compact、新しいことを始めるなら clear、将来のセッションに覚えてほしいことは CLAUDE.md に書く。どちらの操作でも消えません。

もうひとつ知っておきたい違い:圧縮は設計上、情報を落とします。リクエストと主要なコード断片は保持されますが、会話序盤の詳細な指示は失われることがある。それが空き容量の対価であり、恒久的なルールをチャット履歴ではなく CLAUDE.md に置くべき理由です。

Compacting conversation が遅い・固まるときの応急手当

圧縮は会話全体を読むため、大きなセッションの要約には目に見えて時間がかかります。それ自体はバグではありません。ここでは本当に問題があるケースと、その対処を示します。

  • 1圧縮ではなく「Prompt is too long」エラー——まず Claude Code を更新。v2.1.288 で、直前の応答のトークン使用量がゼロの場合に長い会話が自動圧縮されずこのエラーで落ちる問題が修正されました。旧ビルドはまさにここで止まります。
  • 2圧縮が終わった直後にコンテキストが即再充填される(スラッシング)。巨大なファイル読み込みやツール出力ひとつで、サマリーの直後にウィンドウが満杯になります。Claude Code は数回の試行後、ループする代わりに自動圧縮を停止してエラーを表示します。/clear、タスク分割、重い読み込みのサブエージェント委譲で対処しましょう。
  • 3ゲートウェイやプロキシが大きなリクエストを拒否する場合。エンドポイントが 200K トークン超を拒否するなら CLAUDE_CODE_AUTO_COMPACT_WINDOW=200000 を設定し、ゲートウェイの上限を超える前に圧縮が発火するようにします。
  • 4/autocompact が保存したと言うのに反映されない場合。managed settings など上位スコープが上書きしています。その場合コマンド自体が通知してくれます。環境変数 CLAUDE_CODE_AUTO_COMPACT_WINDOW は /autocompact よりも優先されます。
  • 5純粋に遅いだけの場合。上限近くのウィンドウの要約は大きなリクエストです。/compact を再実行する前に少し待ち、サマリーが本当に要らないなら /clear は一瞬で無料です。無関係な MCP サーバーを切っておくと、今後の圧縮もすべて短くなります。

同じセッションで圧縮が繰り返し失敗するなら、手動の脱出経路はこれです。/rename して /clear、あとで /resume——あるいは前回の圧縮サマリーから続行。ディスク上のものは何も失われません。圧縮が再構成するのは会話メモリだけです。

Claude Code auto compact FAQ

関連ガイド