動作・エラー

Claude Codeのコンテキスト管理/compactと/clearで節約する方法

Claude Codeのコンテキスト管理を整理。/compact・/clear・/context の使い分けと、残す内容の指定、自動圧縮が止まったときの対処を解説します。

公的機関・公式資料などの一次情報と照合して作成しています。このサイトについて

Claude Codeのコンテキスト管理とは

コンテキストとは、Claude Code が1回の処理で参照できる、会話・ファイル・指示の全体のことです。公式のコスト管理のページには、文脈が大きいほどトークンの消費も増えるため、積極的に管理することが、節約の基本だと書かれています。

管理に使う主なコマンドは、/compact(要約)、/clear(新しく始める)、/context(内訳の表示)の3つです。この記事では、それぞれの役割と、使い分けの目安を整理します。

基本(3つのコマンド)

コマンド 役割 使う場面
/compact 会話を要約して小さくする。残す内容を指定できる 続きの作業があり、経緯を残したい
/clear 会話をリセットして新しく始める 無関係な作業に移る。要約できない
/context 何が文脈を占めているかを内訳で表示する 重い・エラーの原因を調べる

/context は、システムの指示、標準のツール、MCP のツール、サブエージェント、メモリファイル、スキル、会話のメッセージの内訳を示します。

公式のページによると、/clear すると、そのセッションの累計の費用表示は0に戻ります(v2.1.211 以降)。また、/compact は要約する会話を読み込むため、それ自体が大きなリクエストになる一方、経緯が不要で新しく始めたいだけなら /clear は費用がかからない、と説明されています。名前を付けたい場合は /rename を、後で戻りたい場合は /resume を使います。

具体例(残す内容を指定する)

/compact には、要約するときに残してほしい内容を指定できます。公式の例は次のとおりです。

指示の例 効果
/compact Focus on code samples and API usage コードの例と API の使い方を重視して残す
/compact keep only the plan and the diff 計画と差分だけを残し、大きな出力を落とす

毎回同じ指示をしたい場合は、プロジェクトの CLAUDE.md に、「Compact instructions」の節を設けて、要約するときの方針を書いておけます。公式の例では、「圧縮するときは、テストの出力とコードの変更に重点を置く」のような書き方が示されています。

Claude Codeのコンテキスト管理の実践ステップ

  1. 作業の始めに、/context で、起動時点の占有を確認する。
  2. 作業中は、話題の区切りで /clear を使う。戻る可能性があるなら、先に /rename する。
  3. 続きの作業なら、文脈が大きくなる前に /compact する。
  4. 要約で残したい内容を、指示として書く。
  5. 大きなファイルは、全体ではなく、範囲を指定して読ませる。
  6. 自動圧縮(auto-compact)をオンのままにする。/config で確認できる。

Claude Codeのコンテキスト管理の注意点

  • 自動圧縮が成功しても、ファイルや出力が、すぐに文脈を埋め直すことがあります。数回続くと、「Autocompact is thrashing」というエラーで、再試行が止まります。
  • そのときの対処は、公式によると、(1) 大きなファイルを小分けで読ませる、(2) /compact で大きな出力を落とす指示を出す、(3) 大きな作業をサブエージェントに任せる、(4) 不要なら /clear する、の順です。
  • /clear のあとも同じエラーが出る場合は、/context で Messages の行を、ほかの行と比べます。Messages が最大なら、新しい会話内のファイルや出力が原因です。ほかの行の合計が大きければ、起動時に読み込まれる内容が大きすぎます。
  • /compact を、すでに巨大な文脈に実行すると、その実行自体が大きな消費になります。

Claude Codeのコンテキスト管理でよくあるミス

  • 話題が変わっても、同じ会話を使い続ける。
  • 要約に任せきりで、残してほしい内容を指定しない。
  • /clear で、あとで必要になる経緯を失う。
  • CLAUDE.md を肥大化させて、毎回の起動時の文脈を圧迫する。公式は、200行以下を目安としています。

Claude Codeのコンテキスト管理のチェックリスト

  • /context で、内訳を見る習慣があるか。
  • 話題の区切りで、/clear を使っているか。
  • /compact に、残す内容を指示しているか。
  • 自動圧縮が有効か確認したか。
  • CLAUDE.md が長くなりすぎていないか。

Claude Codeのコンテキスト管理のFAQ(よくある質問)

Q. /compact すると、細かい内容は失われますか。
A. 要約なので、細部は落ちます。重要な内容は、指示で残すよう頼むか、ファイルに書き出しておくと安全です。

Q. /clear した会話は戻せますか。
A. 公式のコスト管理のページでは、クリアする前に /rename で名前を付けておき、後で /resume で戻る方法が案内されています。名前を付けておくと、一覧から探しやすくなります。

Q. コンテキストの使用量は常に見られますか。
A. ステータスラインを設定すれば、常時表示できると、公式のコスト管理のページにあります。

筆者の見解(Claude Codeのコンテキスト管理)

私見では、/compact と /clear の使い分けは「経緯が次の作業に要るかどうか」の一点で決めてよいと考えます。要るなら残す内容を指定して /compact、要らないなら費用のかからない /clear で、迷って長い会話を引きずるのが最も損な選択です。見落としやすいのは、要約では細部が落ちるため、重要な決定や手順を会話の中だけに置いておくと、圧縮のたびに少しずつ失われていくことです。決まったことは CLAUDE.md や作業メモのファイルに書き出しておき、会話はいつ消えてもよい状態にしておくのが、精度と費用の両面で安定する運用だと考えます。

Claude Codeのコンテキスト管理の関連項目

出典(一次情報)

本記事は一般的な情報の提供を目的としています。Claude Code の料金・利用上限・機能・エラーメッセージ・コマンドは頻繁に更新されるため、最新の内容は Anthropic の公式ドキュメントとお使いのバージョンで必ずご確認ください。契約・請求・セキュリティに関する判断は、公式サポートや社内の担当部門にご相談ください。「筆者の見解」は一つの考え方です。