こんにちは、ハックです。
Claude Codeで長時間作業していると、こんな経験をしたことはありませんか。
「作業の途中なのに、制限がきた……」
「チャット履歴がどんどん積み重なって、なんだか動きが遅くなってきた気がする」
気持ちはよくわかります。
僕も最初は「長く続けたほうが、文脈を覚えてくれて精度が上がるはずだ」と思っていました。
でも、それは正反対の誤解でした。
会話が長くなればなるほど、Claude Codeはトークンを大量消費して、むしろ制限到達が早まるんですよね。
そこで活躍するのが /compact コマンドです。
長時間セッションでいつも途中で制限に引っかかるんだけど、/compact使えばなんとかなる?
/compactは「要約リセット」ができる便利なコマンドですが、万能ではないです。自動要約で失われる情報と、手動でカバーする方法をセットで理解すると、制限を大幅に後回しにできますよ。
この記事でわかることは以下です。
/compactコマンドの仕組みと使いどころ- どのタイミングで使うべきか
- 自動要約で失われる情報とその対処法
- 手動要約プロンプトの実例
- 新規チャットへの引き継ぎ手順
この記事ではClaude Codeのトークン消費を推せるための「/compactコマンド」について詳しく解説します。
Claudeのトークン消費を推せるの全体像や他のトークン消費節約法などは、以下の記事でまとめていますので、まずは全体像を掴みたいという方はぜひチェックしてみてください。


/compactコマンドとは何か


/compact は、Claude Code専用の会話要約コマンドです。
Claude.ai(ブラウザ版)では使えません。あくまでターミナルで動かすClaude Codeの機能です。
何をするコマンドかというと、それまでの会話履歴全体を自動で要約して、コンテキスト(文脈)を圧縮してくれます。
コンテキストとは、AIが「現在の会話の文脈として把握している情報の総量」のことです。会話が積み重なるほどコンテキストは肥大化し、トークン消費が加速します。/compactはこのコンテキストを圧縮してリセットするイメージです。
これが重要で、Claudeは会話が長くなるほど「これまでのやりとり全部」を毎ターン読み直します。10ターン目の質問では、1〜9ターン目の全内容を毎回処理しているんですよね。
/compact を使うと、この「過去のやりとり全部」がコンパクトな要約テキスト1本に置き換わります。結果として、次のターンからの入力トークン量が劇的に減るわけです。
/compactの使い方と実行タイミング


基本的な使い方
ターミナルで Claude Code を起動している状態で、プロンプトに入力するだけです。
/compact
これだけです。するとClaude Codeが自動的に会話履歴を要約し、その要約をベースに会話を続けられます。
カスタム要約指示を渡すこともできます。
/compact これまでの作業内容を技術スタック・実装済み機能・残タスクの観点でまとめてください
こうすると、要約の粒度を自分でコントロールできます。
実行するべきタイミング
「いつ使えばいい?」という疑問はよく聞かれます。
目安はシンプルで、以下のタイミングがおすすめです。
- 1つのタスクが一段落した上で、20〜30ターン以上積み重なっているとき
- 1つの大きなタスクが完了して、次のタスクに移るとき
- 制限まで残り少ないことを
/usageコマンドで確認したとき - Claude Codeの応答が明らかに遅くなってきたとき
逆に、作業の途中でまだ文脈が必要なタイミングでは、急いで使わなくて大丈夫です。要約によって情報が失われるリスクがあるので、たとえばタスク単位で区切るなど、一段落ついてから使うのが基本です。
特に開発などで使っている場合は、1タスク完了前に区切るのはあまりお勧めしません。できるだけコードの精度を維持するために、1タスクごと(または、タスクが一段落した状態)あるいは、20〜30ターン以上積み重なった段階を目安にしましょう。
/compactの限界:自動要約で失われる情報


/compact は便利ですが、自動要約である以上、必ず情報の圧縮・省略が起きます。
具体的にどんな情報が失われやすいかを把握しておくと、後で「あれ、文脈がずれた…」という事態を防げます。
失われやすい情報の例
① 細かいコード上の約束事
「このプロジェクトでは変数名はすべてキャメルケースで統一する」「コメントは日本語で書く」といった、会話の流れで決めたローカルルールは要約から抜け落ちることがあります。
② 試行錯誤の経緯
「一度Aの方法を試したが、〇〇のエラーが出たのでBの方法に変えた」という経緯の詳細が消えることがあります。要約では「Bの方法で実装済み」という結果しか残らないケースがあります。
③ ユーザーが途中で伝えたニュアンス的な要件
「派手すぎないデザインにしたい」「エンジニアではない人が読む前提で」といったトーンや対象読者に関する指示は、要約では薄くなりがちです。
④ 未解決のメモ・懸念事項
「後で確認する予定の〇〇」「TODO:△△を修正」のような、まだ対処していない積み残し情報が消えることがあります。
対処法:要約前にメモを作る習慣
/compact を実行する前に、以下のプロンプトを入力します。
/compact を使う前に以下をまとめてください:
- 今日決定したコーディングルール
- 未解決のTODO事項
- 避けるべきと判断した実装方法とその理由
失いたくない情報を手動でメモしておく習慣をつけるのが一番の対策です。
手動要約プロンプトの実例集


/compact の自動要約では物足りないと感じたら、手動要約プロンプトを使うのが確実です。
/compact の代わりに、自分で要約指示を出してその内容を保存・引き継ぎに使う方法です。
パターン1:シンプルな箇条書き要約
これまでの会話の要点を箇条書きで整理してください。
決定事項・実装済み内容・未完了タスクの3つに分けてください。
パターン2:開発タスク引き継ぎ用
現在のプロジェクト状況を以下の形式でまとめてください:
【プロジェクト名】
【技術スタック】
【実装完了】(箇条書き)
【現在作業中】
【次のタスク】(優先度順に3つ)
【注意点・決定事項】
パターン3:エラー対応セッションの引き継ぎ用
今セッションで発生したエラーと対処の経緯を整理してください:
【エラーの概要】
【試した対処法とその結果】
【現在の状態】
【未解決の問題】
パターン4:長文執筆タスクの引き継ぎ用
記事の執筆状況を引き継ぎできるようにまとめてください:
【記事テーマ・ターゲット読者】
【執筆済みセクション】
【決定したトーン・構成方針】
【次に書く予定のセクション】
【使用する予定のエピソード・データ】
パターン5:シンプルな短縮版(急ぎの場合)
今のチャットの内容を200字以内で要約して
用途に合わせて使い分けるのがおすすめです。
新規チャットへの引き継ぎ手順


会話が長くなりすぎた場合は /compact だけでなく、新規チャットへの完全切り替えが有効です。
手順はこの流れです。
❶ 引き継ぎ情報を作る
現在のチャットで上のパターン2(または3・4)のプロンプトを使い、引き継ぎメモを生成します。
❷ 引き継ぎメモをコピーする
生成されたテキストをそのままコピーします。
❸ 新規チャット(新規セッション)を開始する
Claude Codeを終了して、新しいセッションを立ち上げます。
claude
または /clear コマンドで現在の会話履歴をリセットして新しく始めることもできます。
/clear
❹ 引き継ぎメモを貼り付けて続行する
新規セッションの最初のメッセージとして、コピーした引き継ぎメモを貼り付けます。
以下のコンテキストを引き継いで作業を続けてください。
【プロジェクト名】〇〇
【実装完了】
- 〇〇機能
- 〇〇コンポーネント
【次のタスク】
- △△の実装
...
❺ 作業を再開する
これだけで、長くなった会話履歴を引きずることなく、必要な情報だけを持って新しいセッションを始められます。
/clear との使い分け
| 方法 | タイミング | 特徴 |
|---|---|---|
/compact | 作業中・途中 | 要約しながら同一セッション継続 |
/clear + 手動引き継ぎ | タスク区切り | 完全リセット。より確実な引き継ぎ |
| 新規セッション起動 | 翌日・別プロジェクト | 完全に新しい状態で開始 |
短時間で作業を続けるなら /compact、確実に引き継ぎたいなら手動要約+新規セッションが向いています。
FAQ
- /compactを実行するとClaudeが固まることがあります。対処法は?
-
長い会話履歴を処理中の場合、少し時間がかかることがあります。数分待っても反応がない場合は、Ctrl+Cで処理を中断して
claudeコマンドで再起動するか、新規セッションを立ち上げる方が早いことが多いです。 - /compactを使うと作業の精度が落ちませんか?
-
タスクの「種類」によります。コードの全体像を把握し続けながら修正するような作業では、要約によって文脈が失われると精度が下がることがあります。そういう場合は
/compactだけに頼らず、先に紹介したパターン2(開発タスク引き継ぎ用)の手動要約を使って重要な文脈を明示的に引き継ぐのが確実です。 - /compactはどれくらいトークンを節約できますか?
-
会話の長さによりますが、体感では50〜80%程度の削減を感じています。20ターン以上積み重なった会話では、1ターンあたりの入力トークンが要約前の5〜10倍になっていることもあります。そこで
/compactをかければ、次のターンからトークン消費が大幅に下がります。
おわりに
/compact コマンドは、正しく使えばClaudeの制限到達を大幅に遅らせられる便利な機能です。
ただ、万能ではありません。自動要約で失われる情報もあるので、手動要約プロンプトとの組み合わせが一番の正解です。
まとめると、こんな使い方がおすすめです。
- 20〜30ターン超えたら
/compact - 要約前に失いたくない情報を手動で確認
- タスクの区切りには
/clear+ 手動引き継ぎ
焦らなくて大丈夫です。まずは /compact コマンドを1回試してみることから始めましょう。
制限との戦い方が少しずつ上手くなっていきますよ🙏
関連記事:【完全版】Claude Proの利用制限対策法15選!


AI HACKSでは、AIの活用術、0からの起業・副業・最新のAIトレンドニュースなどをリアルタイムで発信しています。その他、AIで開発した無料アプリ・ツール・プロンプトテンプレートなども随時公開中です。
note (ai_hacks_jp) や、𝕏(@ai_hacks_jp)でも日々、AIの実践情報を投稿しています。









