入門
/compact でコンテキストウィンドウを最適化する
会話が長くなったときに /compact を使ってコンテキストを圧縮し、パフォーマンスを維持する方法
解決の目安約2分
最終確認
確認済みバージョン
Claude Code 2.1.220
Claude Code
必須: Claude Code
contextperformanceslash-commands
症状・対象
会話が長くなり、古い調査結果と現在の方針が混ざる、同じ説明を繰り返す、またはコンテキスト上限の警告が出る人が対象です。/compact で会話を要約し、次の作業に必要な情報だけを残します。
最短解決
- 変更中のファイルと未完了タスクを
git statusなどで確認する。 /compactに「残す情報」を具体的に添える。- 圧縮後、Claude に現在の目的・制約・次の検証を復唱させる。
コピペ例
> /compact 次を必ず残して:
> - 現在の目的と完了条件
> - 変更済みファイルと未完了ファイル
> - 採用した設計判断と却下理由
> - 次に実行する検証コマンド
> 推測や古い案は残さないで。
圧縮前のリポジトリ状態は会話とは別に確認します。
git status --short
git diff --stat
期待結果
- 会話履歴が要約され、同じセッションで入力を続けられる。
- 目的、制約、変更範囲、次の検証が要約に残る。
- 古い案と採用済みの方針が区別される。
検証
圧縮直後に次を依頼します。
> 現在の目的、変更済みファイル、未完了タスク、次の検証コマンドを箇条書きで復唱して。
> 不明な点は推測せず「不明」と書いて。
復唱結果を git status --short と実ファイルに照合します。不一致があれば、正しい状態を伝えてから作業を再開します。
落とし穴
/compactは Git commit やファイル保存ではありません。未保存の変更を保護しません。- 未検証の自動圧縮しきい値を前提に、限界まで待たないでください。論理的な区切りで実行します。
- 「全部残して」では優先順位が伝わりません。完了条件、決定、未完了、検証を列挙します。
- デバッグの証拠を圧縮する前に、再現コマンドと生ログをファイルや Issue に残します。
次の一手
- CLAUDE.md でプロジェクトのルールを定義する — セッションを超えて残す規約を分離する
- # プレフィックスで素早くメモリに追加する — 再利用する指示だけを保存する