/compactって何?長い会話を圧縮する方法

/compactって何?長い会話を圧縮する方法

Claude Codeの `/compact` コマンドを使ったことはありますか?

長い作業セッションでコンテキストが重くなってきたとき、この1コマンドで会話を圧縮して作業を続けられるようになります。

使い始めた頃、ある日突然こんな警告が出ました。

「コンテキストウィンドウが上限に近づいています」

最初は何のことか全くわかりませんでした。せっかく作業の途中なのに、会話を終わらせないといけないのかと焦りました。

この記事では、`/compact` がどんな仕組みで何をしてくれるのか、そして実際にどのタイミングで使えばいいのかを、失敗談を交えて解説します。

/compactは「会話の要約」コマンド

結論から言うと、`/compact` は 今まで積み上げてきた会話の履歴を、要点だけにギュッと圧縮してくれる コマンドです。

Claude Codeにはコンテキストウィンドウという「短期記憶」があります。この記憶には容量の上限があって、会話が長くなればなるほど少しずつ埋まっていきます。

上限に近づいてしまうと、Claude Codeの動作が重くなったり、古い会話内容を忘れてしまったりします。最終的には作業が止まってしまいます。

`/compact` を使うと、これまでの会話が「大事な部分だけを残した要約」に置き換えられます。トークン数がぐっと下がり、作業を継続できるようになります。

/clearとは何が違うのか

似たようなコマンドに `/clear` があります。この2つの違いをよく理解していなかったせいで、私は一度やらかしました。

コマンド 何をするか 文脈は残るか
`/compact` 会話履歴を要約して圧縮 残る(要約として)
`/clear` 会話履歴をすべて削除 残らない

作業の途中で「コンテキストが重くなってきたな」と感じたときに、迷って `/clear` を使ったことがあります。そうしたら、それまで積み上げてきた「このファイルをこうして」「ここはこの方針で」という文脈がぜんぶ消えてしまい、また最初から説明し直す羽目になりました。

文脈を保ちながらスリム化したいときは `/compact` 、完全に別のタスクを始めるときは `/clear` 、という使い分けが正解です。

どのタイミングで使えばいいのか

私が最初にやってしまったのは、「警告が出てから使う」というパターンでした。

でも実はこれ、手遅れに近い状況で使っていることが多かったです。コンテキストが90%を超えてから圧縮しても、すでに出力の品質が落ち始めていることがあります。

いま調べてわかったことですが、コンテキストが60〜70%あたりで使うのが理想的 だそうです。まだ余裕があるうちに圧縮しておくことで、品質を保ったまま作業を続けられます。

ではどうやってコンテキストの使用量を確認するかというと、`/cost` コマンドを使います。


/cost

このコマンドを打つと、現在のトークン使用量が表示されます。20〜30分に一度確認する習慣をつけると、上限ギリギリで焦ることが減ります。

もっと楽な方法として、Claude Codeには 自動圧縮 機能もあります。デフォルトでは95%に達したときに自動的に圧縮が走ります。ただし手動で `/compact` を使った方が、何を残すかを自分でコントロールできるので品質が高い場合が多いです。

「何を重点的に残すか」を指示できる

`/compact` の便利な点として、引数に指示を追加できます。


/compact 今のPythonスクリプトのファイル構成と処理フローを重点的に残してください

こうすることで、圧縮後もその要素がしっかり要約に含まれるようになります。

ブログ記事を書いているときなら「記事の構成と主張の核心を残してください」、コードを書いているときなら「実装した関数の仕様と設計方針を残してください」という具合に指示できます。

試してわかった正直な感想

`/compact` を使った後、要約の精度にはバラつきがあると感じています。

細かい議論の経緯や「この判断をした理由」は要約から抜け落ちることがあります。重要な決定をした直後はメモとして残しておいたり、CLAUDE.mdに書き出したりするのが安全です。

また、自動圧縮が入ったとき(自分でタイミングを選べないとき)は、たまに「あれ、さっき話した前提が消えてる?」となることがあります。まだそのあたりの使いこなしは試行中です。

実際に使えるプロンプト

Claude Codeのチャット欄に貼るだけで使えます。

基本の圧縮:


/compact

重要な情報を指定して圧縮:


/compact 今まで作成したファイルの一覧、各ファイルの役割、次に実装する予定の機能を必ず要約に残してください

現在のコンテキスト使用量の確認:


/cost

圧縮すべきか迷ったときの確認:


今のコンテキストの使用率を教えてください。/compactを使うべきタイミングですか?

まとめ

`/compact` についてまとめると:

  • **会話履歴を要約して圧縮するコマンド**。作業の文脈を保ちながらトークンを節約できる
  • **`/clear` との違い**:`/clear` は全削除、`/compact` は要約して保持
  • **理想のタイミング**:コンテキスト60〜70%で使うと品質を保ちやすい
  • **引数で指示できる**:`/compact [残したいものの説明]` で圧縮後の要約を制御できる
  • **自動圧縮もある**:デフォルトでは95%で自動実行されるが、手動の方がコントロールしやすい

最初のうちは「警告が出てから慌てて使う」になりがちです。私もそうでした。

でも `/cost` で定期確認して、余裕のあるうちに `/compact` を使う習慣がつくと、長い作業セッションでも安定してClaude Codeを使えるようになります。

まずは次の作業セッションで、一度 `/cost` を打ってみるところから始めてみてください。

関連記事

  • [Claude Codeのメモリ機能──AIに覚えさせる方法](https://maahsachi.com/claude-code-memory/)
  • [計画モードを使うとAIが暴走しなくなった話](https://maahsachi.com/claude-code-plan-mode/)
  • [Worktreeで2つの作業を同時にAIに任せた話](https://maahsachi.com/claude-code-worktree/)