Claude Codeで作業していて会話が長くなると、動作が重くなったり、前の話を忘れ始めたりします。そんなときに使うのが /compact です。流れを切らずに、会話を軽くできます。

そもそもどれだけ覚えていられるのかという上限の話は、Claude Codeのコンテキストウィンドウに分けて書いています。

なぜ会話が長くなると忘れるのかは、別記事に書きました。

/compactは「これまでの要約」を作る

/compact は、それまでの会話を要約して圧縮するコマンド(入力欄に打ち込む命令)です。Claude Codeの入力欄に /compact と打つだけで使えます。

# 入力欄に打つ
/compact

長くなったやりとりを、要点だけ残した短い形にまとめ直す。これにより、AIが覚えておく量が減って動作が軽くなり、大事な文脈は要約として残るので、作業の流れも途切れません。会話の「これまでのあらすじ」を作って、続きから再開するイメージです。ドラマの冒頭で「前回までのあらすじ」が流れると、本編にすぐ入れるのと同じ感覚です。

/clearとの違い

似たコマンドに /clear があります。違いを押さえておくと使い分けられます。

/clear は会話をまっさらに消す。これまでの文脈はすべて消えて、ゼロから始まります。一方 /compact は、要約という形で文脈を残したまま圧縮する。

つまり、「今の話の続きをやりたいけど会話が重い」なら /compact、「まったく別の作業に切り替えるから前の文脈は要らない」なら /clear。私はこう使い分けています。

コマンド

文脈

使う場面

/compact

要約して残す

同じ作業を続けたい

/clear

全部消す

別の作業に切り替える

使うタイミング

/compact を使うべきタイミングは、いくつかあります。

会話が長くなって動作が重いと感じたとき。前に伝えた前提を忘れ始めたと感じたとき。ひとつの作業に区切りがついて、同じ流れで次に進むとき。このあたりが目安です。

私の場合、大きな作業のあいだに「ここまでできた」という区切りがついたら、一度 /compact を挟みます。これで後半も最初の頃と同じ調子で進められます。

圧縮で抜け落ちることもある

正直に注意点も書きます。要約である以上、細かいニュアンスが抜け落ちることがあります。

私が一度やらかしたのは、細かい指定をいろいろ伝えた直後に /compact して、その細部が要約から漏れていたこと。圧縮後に「さっきの細かい条件、覚えてる?」と確認したら、ざっくりしか残っていませんでした。大事な前提は、圧縮に頼らず、前提を書いておく専用のメモファイル(CLAUDE.md)に書いておくのが確実です。

自動で圧縮されることもある

手動で /compact を打つほかに、会話がコンテキストの上限(AIが一度に覚えていられる量の限界)に近づくと、自動で圧縮が走ることもあります。

そのため、急に応答の調子が変わったように感じたら、裏で圧縮が起きて、細かい文脈が要約に置き換わった可能性があります。これを知っていれば、「さっきまでできていたのに」と戸惑わずに、必要な前提をもう一度伝え直せます。自動・手動どちらの圧縮でも、抜け落ちる前提がある前提で付き合うのが安全です。

長時間セッションを安定させる

/compact は、長時間の作業を安定させる地味だけど効くコマンドです。

長いセッションを守る工夫は、ターミナル側の記事も参考になります。

会話を区切って圧縮しながら進める。この習慣があると、半日がかりの作業でも、最後まで頭のさえたClaudeと付き合えます。

まとめ

  • /compact はこれまでの会話を要約して圧縮し、文脈を保ったまま軽くするコマンド
  • /clear は文脈を全部消す。続けるなら/compact、切り替えるなら/clear
  • 動作が重い・前提を忘れ始めた・作業に区切りがついた、が使うタイミング
  • 要約なので細かいニュアンスは抜け落ちることがある
  • 大事な前提は圧縮に頼らずCLAUDE.mdに書いておく
  • 区切って圧縮しながら進めると、長時間の作業も最後まで安定する