/compact(コンパクト)

スラッシュコマンド
/compact
コンパクト
今までの会話履歴を要約して圧縮し、肝心な要点だけ残してそのまま作業を続けるためのスラッシュコマンド。コマンドだけそのまま叩けば全体を均等に圧縮、コマンドの後ろに「○○に焦点を当てて要約」と書き足せば要約方向を絞れる。`/clear`(議事録ごと捨てて新規セッション)と違って文脈は残る

Claude Codeで料理ブログや個人サイトを作っている初心者向け

1記事のレシピ校正を1時間続けて画面下に「コンテキスト残量が少なくなっています」警告が出てきた場面や、レシピ写真を10〜20枚チェックした直後で本文リライト本番に入る前など、同じ作業を続けたいけど会話履歴が膨らみすぎている時に叩く。コンテキストが上限に近づくと自動でも発火するが、大事なフェーズに入る前に手動で叩いておくと要約の質を手元でコントロールできる

料理ブログをClaude Codeで作っていて、1記事のレシピ校正を1時間も続けると、画面下に「コンテキスト残量が少なくなっています」という警告が出てきます。Claudeの応答が鈍ったり、急に話が噛み合わなくなったり、「さっき決めた表記ルールどこいった?」みたいな事故も増えます。

そこで叩くのが /compact です。今までの会話履歴を要約して圧縮し、肝心な要点だけ残してそのまま作業を続けるためのスラッシュコマンドです。

「会話を全部捨てて新規に始める /clear」とは別物で、こちらは議事録を1枚に縮めるイメージ。続きの作業ができます。

この記事はClaude Codeで料理ブログや個人サイトを作っている初心者向け。

噛み砕くと

長い会議のあと、ホワイトボードがメモで埋まってもう書く場所がない、という状態を想像してください。/compact は「ここまでの議論を1枚の要約紙に書き直して、ホワイトボードを綺麗にしてから続きをやる」操作です。

議事録は残るので、参加者は文脈を失わない。でも書くスペースはガッと空く。これが圧縮(コンパクション)の正体です。

一方の /clear は「議事録ごと捨てて、新しいホワイトボードに切り替える」。完全リセット。やってる作業が変わるならこっちでいいけど、レシピ校正の続きをやりたいときに /clear を叩くと、さっき決めた表記ルールも全部忘れられます。

コマンドだけそのまま叩くと、議事録を1枚に書き直してくれる

使い方の基本は「コマンドだけそのまま叩く」です。

/compact

これを送信すると、画面に「Conversation compacted」のような表示が出て、Claudeがそれまでの会話を裏でまとめ直します。要約処理自体はターミナル画面に流れません。

圧縮が終わると、新しい縮約版の履歴で会話が継続されます。Claudeに「さっきまで何の話してた?」と聞くと、要約された内容を踏まえて答えてくれます。

ここがポイントなんですが、すべての情報が一律に消えるわけではない。公式ドキュメントの「What survives compaction」表によると、圧縮後の挙動はパーツごとに違います。

  • そのまま残るもの: システムプロンプト(Claude Code本体が起動時に読み込む基本指示)。これは会話履歴とは別の場所にあるので、圧縮の対象外
  • ディスクから読み直されるもの: プロジェクトルートの CLAUDE.md、グローバルの ~/.claude/CLAUDE.md、自動メモリ。要するに「ファイルとして保存されている覚え書き」は再ロードされる
  • 失われるもの: paths: 指定のルール、サブフォルダの入れ子 CLAUDE.md。これらは「該当ファイルを開いた時だけ読まれる」仕組みなので、圧縮で要約されると次に該当ファイルを読むまで戻ってこない
  • 条件つきで戻るもの: 起動済みのスキル本体は再注入されますが、1スキルあたり5,000トークン上限・合計25,000トークン上限という公式の制限つき。古いものから先に落ちます

つまり「要約が完璧」ではない。ファイル化されている覚え書きは強い、その場で読んだだけの情報は弱い、と理解しておくのが安全です。

コマンドの後ろに焦点を書き足すと、要約の方向性を絞れる

もう1つの使い方が、コマンドの後ろに「何を残してほしいか」を書き足す方法です。公式ドキュメントは /compact [instructions] として、「Optionally pass focus instructions for the summary(要約の焦点となる指示を任意で渡せる)」と明記しています。

料理ブログでよくあるシーンで再現してみます。1時間レシピを校正してきて、材料の表記ゆれや栄養素の数字をずっと直してきた、という状況。

/compact 材料表記の揺れ(大さじ/Tbsp/グラム)と、栄養素の数値で異常値だった項目だけを要点に残して。手順の段取りや見出しの相談は捨てていい

こう書き足すと、要約は「表記ルールと数字の異常値」を中心に整理されます。手順の段取りや見出し相談は要約から落ちるので、続きの校正で同じ話題を蒸し返さなくて済みます。

要約方向を絞れる、というのは便利だけど慎重に。「捨てていい」と書いた話題は本当に戻ってこなくなります。あとで蒸し返す可能性があるなら焦点指定はせず、コマンドだけ叩いて全体を均等に圧縮するほうが安全です。

自動コンパクションが裏で走ることもある

明示的に /compact を叩かなくても、Claude Codeはコンテキストが上限に近づくと自動で圧縮を発火させます。これがいわゆる「自動コンパクション(Auto-compaction)」。

体感としては、長く作業していると突然「Conversation compacted」と出て、応答のテンポが少し変わる瞬間があります。これは自動発火している合図です。

自動でやってくれるなら手動は要らないかというと、そうでもない。自動は「もう限界」のタイミングで走るので、要約が雑になったり、ちょうど大事な議論の途中で割り込んだりします。

大事なフェーズに入る前(例: レシピ12本の最終確認に入る直前、画像チェックを終えて記事リライトに入る直前)に、手動で /compact を叩いて「綺麗な状態」を作っておくほうが事故が少ないです。

/clear」と何が違うのか — 議事録を捨てるか、1枚に要約するか

新規ユーザーが一番混乱するポイントがここ。/compact/clear は「コンテキストを空ける」目的が同じに見えるけど、中身は真逆です。

公式の /clear 説明はシンプルに 「Start a new conversation with empty context」。空っぽの状態で新しい会話を始める、つまり今までの会話履歴を完全にカット。前のセッションは /resume で呼び戻せますが、現在のセッションからは消えます。

一方 /compact「Free up context by summarizing the conversation so far」。要約して縮める、文脈は残す。

料理ブログ題材で言い換えると:

  • /compact を選ぶ場面: 1記事のレシピ校正を続けたい。表記ルールも、栄養素の数字も、これまでの議論を踏まえてもう一押し詰めたい
  • /clear を選ぶ場面: 1記事の校正は終わった。次は別記事の構成相談に入りたい。前の記事の細かいルールを引きずられたくない

判断ラインは「今やってる作業を続けたいか、別の作業に切り替えるか」。続けたいなら /compact、切り替えるなら /clear。これだけ覚えておけば迷いません。

料理ブログでの使いどころ

シナリオ1: 1記事のレシピ校正を1時間続けて、応答が鈍ってきたとき

「鶏の唐揚げのレシピ」を1記事仕上げる過程で、材料の表記、塩の分量、栄養計算、写真の差し込み位置、と話題が広がって会話履歴が膨らみます。30〜40分経つあたりからClaudeの応答テンポが落ちてくる感覚があったら、続きの作業で /compact を叩く合図です。

このときは焦点指定なしで /compact だけ叩く。今までの議論を全体的に要約してくれて、「鶏の唐揚げレシピ全体の経緯」をベースに続きの校正に戻れます。

シナリオ2: 大量画像のチェック直後、リライト本番に入る前

料理ブログだとレシピ写真を10〜20枚チェックする工程が入ります。画像を読み込ませると1枚あたりのトークン量が大きいので、画像チェック後はコンテキストが画像メタや本文の混ざった状態でパンパンに。

そのまま記事リライト本番に入ると、Claudeが画像メタを引きずって変な提案をしてくることがあります。リライト着手前に /compact 画像で確認した品質メモ(例: 唐揚げの色味が薄い・盛り付けが寂しい)だけ残して、画像のEXIFや解像度の話題は捨てて と焦点指定して、本文校正のために綺麗な土台を作る使い方が効きます。

シナリオ3: 「コンテキスト残量が少なくなっています」警告が出たあとの延命

画面下に容量警告が出たら、もう自動コンパクションが目前。手動で /compact を叩いて先回りするほうが、要約の質を手元でコントロールできます。

このとき焦点指定するなら「今やっているタスクの最終ゴールに直結する情報」だけに絞る。「鶏の唐揚げ記事の公開直前チェックに必要な指摘事項に絞って」のような書き方で、関係ない雑談や検討した没案を捨てると、最後の仕上げに集中できます。

初心者が踏みやすい落とし穴

  • 「捨てていい」と焦点指定で書くと本当に戻ってこない。あとで参照したくなる議論を捨てる指定で書くと、要約後に詳細を聞いても再現できません。迷ったら焦点指定なしで叩くほうが安全
  • /compact/clear を取り違える。続きをやりたいのに /clear を叩いて、さっき決めた表記ルールを失う事故が頻発します。判断ラインは「作業を続けるか/切り替えるか」
  • paths: 指定のルールは要約後に消える。プロジェクト内で .claude/rules/recipe-format.md のように特定フォルダだけに効くルールを置いている場合、圧縮後はそのルールが切れた状態になります。次に該当フォルダのファイルを開けば再ロードされますが、それまでは無効。連続作業中に挙動が変わったら、ルールが落ちた可能性を疑う
  • 圧縮直後にClaudeが細かい数字を間違える。要約はあくまで要約なので、栄養素の小数点や材料の細かいグラム数は再確認するのが無難。原典のレシピメモやスプレッドシートを CLAUDE.md から参照させる構造にしておくと、圧縮後も数字が再ロードされて事故を防げます
  • 毎回 /compact を叩いて消耗する。コンテキストにまだ余裕があるのに圧縮しても、要約のロスだけ食らって得がない。容量警告が出たり、応答が鈍ったり、というシグナルが出てから叩く
  • 焦点指定の文章が長すぎて私が混乱する。指定文は1〜2行にとどめる。「あれは残してこれは捨てて、ただし○○の場合は…」と条件分岐を増やすと、要約が読み手にも書き手にも分からない結果になります

関連するコマンドへの動線

圧縮と組み合わせて使うコマンドが、辞書側にいくつか投入済みです。

  • /clear - 議事録ごと捨てて新規セッションに切り替えるコマンド。作業を切り替えるならこちら
  • /init - プロジェクトの CLAUDE.md 雛形を作るコマンド。圧縮しても CLAUDE.md はディスクから再ロードされるので、料理ブログの「全レシピ共通の表記ルール」をここに置いておくと圧縮後も生き残ります
  • /memoryCLAUDE.md や自動メモリの中身を編集するコマンド。圧縮で消えてほしくない情報をファイル化する作業はここから
  • /agents - 別の独立した会話の入れ物(サブエージェント)に作業を任せるための設定。長い調査タスクはサブエージェントに渡せば、メインのコンテキストを汚さずに済む(圧縮の出番が減る)

参考リンク

書き方

/compact [焦点を絞る指示文(任意)]

やってみるとこうなる

入力

/compact 材料表記の揺れと栄養素の異常値だけを要点に残して。手順の段取りや見出しの相談は捨てていい

出力例

画面に「Conversation compacted」と表示され、それまでの会話を裏でまとめ直す。要約処理自体はターミナル画面に流れない。圧縮後は新しい縮約版の履歴で会話が継続される。プロジェクトルートの CLAUDE.md と自動メモリはディスクから再ロードされるが、`paths:` 指定のルールやサブフォルダ入れ子の CLAUDE.md は失われる

このページに出てきた言葉

スラッシュコマンド
Claude Codeの画面で行頭に半角スラッシュ <code>/</code> を打つと出てくる特別命令。普通の質問文と違って、Claude本体ではなくCLI側が処理する
会話履歴
今のセッションでユーザーが打った文・Claudeが返した文・Claudeがファイルを開いて読んだ中身、の積み重ね全部
セッション
Claude Codeを起動してから終了するまでの1まとまり
コンテキスト
Claudeが今いっぺんに頭に入れて考えられる情報の総量。会話履歴・読み込んだファイル・覚え書き全部含めて1つの上限値の中に収まっている
圧縮(コンパクション)
会話履歴を要約して短くする処理。意味は残し文字量だけ縮める
システムプロンプト
Claude Code本体がClaudeに最初に渡す基本ルール文書。ユーザーからは見えない
プロンプト
Claudeに渡す指示文。ユーザーが打つ質問もプロンプトの一種
CLAUDE.md
プロジェクトのルールや前提条件を書き溜めておくテキストファイル。Claude Codeが起動時に自動で読みに行く
自動メモリ
Claudeが過去のセッションでClaude本人用に書き残した覚え書き。次のセッションでも読み込まれる
ルール
<code>.claude/rules/</code> 以下に置く、特定の状況で発動する指示書
スキル
<code>.claude/skills/</code> 以下に置く、特定の手順をまとめた手引き
トークン
Claudeが文章を扱う最小単位。日本語で大ざっぱに「1文字=1〜2トークン」くらいの目安
自動コンパクション
コンテキストが上限に近づくと <code>/compact</code> を叩かなくても裏で自動発火する圧縮処理

関連項目

公式ドキュメント

https://code.claude.com/docs/en/commands

-

← 戻る