AIノウハウ

Claude Codeの/compactとは?使うタイミング【2026年】

くらべてナビ

Claude Codeの/compactは会話を要約してコンテキストを空けるコマンド。コンテキストは多いほど良いわけではなく、増えると精度・再現性が落ちうる(context rot)のが公式の説明です。使うタイミングは動作が影響し始めた時と長い作業の前。/clearとの違いも解説します。

本ページはアフィリエイトプログラムを利用しています。掲載の料金・条件は調査時点の情報で、変動する場合があります。最新は各公式サイトでご確認ください。

結論

/compact は、これまでの会話を要約してコンテキストを空けるコマンドです。正しく使うべき理由はシンプルで、公式いわく「コンテキストは多いほど良いのではなく、トークンが増えるほど正確性と再現性が落ちうる(context rot)」から。使うタイミングは「動作がもたつき始めた時」「長い新しい作業を始める前」の2つを覚えておけば十分です。

コマンド名・自動要約のしきい値・モデルのコンテキスト数値は版で変わります。細かい点は必ず公式ドキュメントで最新を確認してください。

Claude Codeで長い作業を続けていると、「だんだん噛み合わなくなる」「動作が重くなってくる」と感じることはないでしょうか。このもたつきに正面から効くのが /compact です。ただ「打てば軽くなる」だけの理解だと、いつ使うべきか・何が失われるのかが分からず、大事な指示ごと要約に流してしまうこともあります。この記事では、/compact を「コンテキストウィンドウ」という土台からきちんと理解して、正しいタイミングで使えるようにします。

想定読者は、Claude Codeで長い作業をすると「だんだん噛み合わなくなる/重くなる」のを何とかしたいあなたです。

実体験メモ

非プログラマーの私は、このサイト(くらべてナビ)をClaude Codeとの日本語の対話だけで作ってきました。長い作業をしていると、途中から返答がぼやけたり重くなったりするのを何度も経験しています。当サイトでたどり着いた運用は、長い作業では区切りで /compact、話題を変えるときは /clear、大事な前提は最初から CLAUDE.md に常駐させておく——というシンプルな3点セット。この使い分けにしてから、会話の安定感が明らかに上がりました。特に「大事な前提を会話の途中で口頭指示するのではなく、最初からファイルに書いておく」のが効きました。

まずコンテキストウィンドウとは(トークンの器)

/compact を理解する前に、土台になるコンテキストウィンドウを押さえます。ざっくり言うと、AIが一度に見渡せる「入力トークンの器」のことです。

ここで大事なのは、リクエストのあらゆる要素がこの器に計上されるという点です。公式によれば、システムプロンプト・これまでの全メッセージ・ツールの実行結果・画像・ツール定義まで、すべてがコンテキストに含まれます。会話を続けるほど、この器がだんだん埋まっていくイメージです。

器の大きさ(トークン数)はモデルによって違います。2026年7月時点の主なモデルは次のとおりです。

モデルコンテキストウィンドウ
Opus 4.8 / 4.7 / 4.6・Sonnet 5・Sonnet 4.61Mトークン
Sonnet 4.5 など200kトークン

数値は版で変わります

上記は2026年7月時点の値です。モデルのコンテキストウィンドウ数は更新されるため、最新は公式の model comparison / context-windows で確認してください。また、Claude Codeが実際に使うデフォルトモデルはプランや版によって異なるため、ここでは断定しません。使っているモデルは /model、バージョンは claude --version で確認できます。

「1Mもあるなら、埋まるまで気にしなくていいのでは?」——ここが最大の誤解です。次の節で、なぜそうではないのかを見ていきます。

なぜ「多いほど良い」ではないのか=context rot

Claudeの公式ドキュメントは、コンテキストについてはっきりこう述べています。

more context isn’t automatically better.(コンテキストは多いほど自動的に良いわけではない)

そして、トークン数が増えるにつれ正確性(accuracy)と再現性(recall)が劣化する現象を、公式は context rot と呼んでいます。器が大きくても、そこにぎっしり詰め込むほど、AIが必要な情報を正しく拾い出す精度は落ちうる、ということです。

だからこそ公式は、「コンテキストに何を入れるかの取捨選択は、どれだけ容量が空いているかと同じくらい重要だ」という趣旨も述べています。

つまり、量ではなく中身。器をどれだけ使えるかより、そこに何を残し、何を捨てるかのほうが結果を左右する、という考え方です。

誇張しないための線引き

公式が言っているのは、あくまで「トークンが増えるほど劣化しうる(傾向)」です。「1Mを使い切ると必ず性能が落ちる」「長い会話は必ず壊れる」とは述べていません。この記事でも「必ず」「一律に」といった断定は使いません。傾向として理解し、対処しておく——それが正しい向き合い方です。

そして、この「増えすぎたコンテキストへの対処」として公式が位置づけているのが、compaction(会話の要約による圧縮)と context editing です。ここでようやく /compact の出番になります。

/compactとは(要約して置き換える)

/compact は、公式の説明では「これまでの会話を要約してコンテキストを空ける」コマンドです。ポイントは、単に履歴を消すのではなく、会話を構造化された要約に置き換えるところ。流れや決定事項の要点を残したまま、器を軽くします。

フォーカス指示で「何を残すか」を伝える

/compact は、うしろに指示を付けられます。

/compact focus on the API changes

このように /compact [指示] と書くと、要約するときに何を優先して残すかを伝えられます。「この作業ではAPIの変更点だけは絶対に残したい」というときに有効です。要約は詳細を落とすものなので、落としたくない核を明示するこの一手間が効きます。

CLAUDE.mdで「毎回残すもの」を常設指定する

一時的なフォーカス指示だけでなく、恒久的に「要約時に優先して残す内容」を決めることもできます。プロジェクトの CLAUDE.md# Compact instructions というセクションを書いておくと、コンパクションのたびにそこが優先されます。

「毎回このフォーカス指示を打つのは面倒」という定番の前提は、CLAUDE.md側に書いておくのが正解です。CLAUDE.mdそのものの書き方は CLAUDE.md(メモリ)の書き方 にまとめています。

/clearとの違いと使い分け

/compact とよく混同されるのが /clear です。似ているようで役割は正反対に近いので、ここでしっかり分けます。

/compact と /clear は役割が違う /compact(要約して継続) 会話を構造化した要約に置換 同じ流れを引き継ぐ コンテキストを空けて軽く 使う場面:流れを残して 同じ作業を続けたいとき /clear(リセットして新規) 空のコンテキストで新しい会話 前セッションは保存される /resume で戻れる 使う場面:無関係な作業に 切り替えるとき
「流れを要約して続ける」なら/compact、「話題を丸ごと切り替える」なら/clear。迷ったらこの一言で選べます。
/compact/clear
やること会話を要約して置き換え、コンテキストを空ける空のコンテキストで新しい会話を開始
会話の流れ引き継ぐ(要約として残る)引き継がない(リセット)
前の会話要約に集約される保存され /resume で戻れる
向く場面流れを残して同じ作業を続けたい無関係な作業に切り替えたい

使い分けの結論はシンプルです。流れを要約して同じ会話を続けたいなら /compact、無関係な作業に切り替える全消去リセットなら /clear。他のコマンドとあわせた全体像は スラッシュコマンド完全ガイド を参照してください。

自動コンパクトと手動/compactの使い分け(使うタイミング)

/compact は手動で打つコマンドですが、公式には自動で要約する仕組みもあります。

auto-compaction(自動)

公式によると auto-compaction は、コンテキスト上限に近づくと会話履歴を要約する動作です。その順序は、まず古いツール出力を消去し、次に会話を要約するというもの。あくまで使用制限の警告ではなく、領域を空けるための動作と位置づけられています。

しきい値・オンオフは断定しません

auto-compactionが発動する具体的なしきい値(何%か)デフォルトでオンかどうかの明文無効化する設定名は、公式で確認できませんでした。ここでは「上限に近づくと自動で要約する」までにとどめます。詳細と最新は公式ドキュメント(code.claude.com/docs, platform.claude.com/docs)で確認してください。

手動/compactを打つべき2つのタイミング

自動があるとはいえ、公式は手動で /compact を実行するタイミングを明確に挙げています。

  1. コンテキストがパフォーマンスに影響し始めたとき(=動作がもたつく・噛み合わなくなってきた時)
  2. 長い新しいタスクを始める前(=これから重い作業に入るので、先に器を整えておく)

この2つを覚えておけば十分です。特に②は見落としがちですが、大きな作業の前にいったん要約して器を整えると、そのあとの精度が安定しやすくなります。当サイトでも、動作がもたついてきた区切りと、話題の大きな切れ目で手動 /compact を使っています。

/compactで失われるもの・残るもの

/compact は要約なので、万能ではありません。何が消えて何が残るかを知っておくと、事故を防げます。

失われうるもの

自動で再読込され、残るもの

公式によれば、CLAUDE.mdと自動メモリはコンパクションを生き延び、ディスクから再読込されます。ファイルに書いてある前提は、要約されても失われないということです。

スキルだけは例外

上記のうちスキルの一覧だけは例外で、コンパクション後は「実際に呼び出したスキルのみ」が保持されます。スキルを多用する運用では、この点を頭に入れておきましょう。スキルの仕組みは スキル(Skills)の作り方 にまとめています。

対策はこれまでの節どおりです。大事な情報は要約に流されないよう明示的に残す——具体的には、その場かぎりなら フォーカス指示 /compact [指示]、恒久的に残したいなら CLAUDE.mdの # Compact instructions、そもそも毎回効かせたい前提は最初から CLAUDE.md本体 に書いておく、の3段構えです。

コスト面と正しい理解(cachingとの切り分け)

コンテキストは精度だけでなくコストにも直結します。公式が明言しているのは次の点です。

だから /compact で不要な文脈を要約・圧縮しておくことは、精度の安定とコストの節約の両方に効きます。

prompt cachingは「性能改善策」ではない

よくある誤解として、prompt caching(プロンプトキャッシュ)を「長い会話の性能対策」と捉える人がいますが、これは正しくありません。公式は「キャッシュしてもコンテキストウィンドウは占有する。支払い方を変えるだけで、トークンが計上されるか否かは変えない」と述べています。つまりcachingはコスト面の仕組みであり、長い会話への性能対処は compaction 側——この2つは層が別だと切り分けて理解してください。

料金の考え方そのものは Claude Codeの料金解説 にまとめています。金額は変動するため、この記事では単価を断定しません。使用量は /usage で確認できます。

API側の「server-side compaction」とは別物

紛らわしいですが、Claude API側にも会話を圧縮する server-side compaction という機能があります。これはAPIの機能であり、Claude Code CLIの /compact とは層が別です。この記事の主役はあくまでCLIの /compact なので、混同しないようにしてください。

実務Tips:/contextで見て、compactかclearを選ぶ

最後に、日々の運用に落とし込むためのTipsをまとめます。

/context で見て、/compact/clear を選ぶ——この習慣がつくと、長い作業でもコンテキストに振り回されなくなります。動作がおかしいときの切り分け全般は Claude Codeのエラー対処法 も参考にしてください。

次の一歩

まとめ

関連記事:スラッシュコマンド完全ガイドCLAUDE.mdの書き方Claude Codeの使い方。カテゴリ一覧は AI活用・ノウハウ へ。

よくある質問(FAQ)

Claude Codeの/compactとは何ですか?

これまでの会話を要約してコンテキストを空けるコマンドです。会話履歴を構造化された要約に置き換え、完了すると端末に「Conversation compacted」と表示されます。/compact のあとに「/compact focus on the API changes」のようにフォーカス指示を渡すと、要約時に何を残すかを伝えられます。会話がほとんど無い新規セッションで実行すると「Not enough messages to compact.」と表示されます。

なぜ/compactを使ったほうがいいのですか?

コンテキストは多いほど良いわけではないからです。公式は「トークン数が増えるにつれ正確性(accuracy)と再現性(recall)が劣化する現象=context rot」と説明しています。大事なのは容量をどれだけ使うかではなく何を入れるかの取捨選択です。/compactで会話を要約して整理すると、長い作業でも文脈を引き継ぎつつ動作を安定させやすくなります。ただし公式は「必ず落ちる」とは述べておらず、増えるほど劣化しうる傾向として位置づけています。

/compactはいつ使うのが良いですか?

公式が挙げるタイミングは2つです。1つはコンテキストがパフォーマンスに影響し始めたとき、もう1つは長い新しいタスクを始める前です。当サイトでは、動作がもたついてきた区切りや話題の大きな切れ目で使っています。なお上限に近づくと自動で要約する動作(auto-compaction)もありますが、発動する割合などの具体値は公式で断定されていないため、最新は公式ドキュメントで確認してください。

/compactと/clearはどう違いますか?

/compactは会話を要約して置き換え、同じ会話の流れを引き継ぎつつコンテキストを空けます。/clearは空のコンテキストで新しい会話を始めるリセットで、前のセッションは保存され /resume で戻れます。使い分けは、流れを要約して続けたいなら/compact、無関係な作業に切り替えるなら/clearです。

コンテキストは自動で要約されますか?

公式にauto-compactionという仕組みがあり、コンテキスト上限に近づくと会話履歴を要約します。順序は先に古いツール出力を消去し、次に会話を要約する形で、使用制限の警告ではなく領域を空ける動作です。ただし発動しきい値の割合やデフォルトのオン・オフ、無効化の設定名は公式で確認できないため断定しません。最新は公式ドキュメントで確認してください。