💻 Claude Code入門 📖 約15分で読めます

/compactコマンド徹底解説 ― 会話を圧縮して作業を続ける

/compactの仕組み・使いどころ・カスタム指示を完全網羅

クロガイド

クロガイド|Claude&Claude Codeを無料で学ぼう

AI基礎からプロンプト術、Claude Codeの使い方まで。知識レッスンとクイズ式トレーニングで、AIスキルを段階的にアップ。ユーザー登録不要、すべて無料で今すぐ始められます。

はじめに

Claude Codeで長時間の作業をしていると、やがてコンテキストウィンドウが埋まり、パフォーマンスが低下します。そんなときに活躍するのが/compactコマンドです。会話の履歴を圧縮し、重要な情報だけを残して作業を続行できます。

この記事では、/compactの仕組みから実践的な活用パターンまでを徹底解説します。

/compactコマンドとは

/compactは、Claude Codeに組み込まれたコマンドで、現在の会話履歴をAIが要約・圧縮する機能です。セッションを終了せずにコンテキストウィンドウの使用量を大幅に削減できます。

/compactの基本情報

  • 構文/compact [カスタム指示]
  • 効果:会話履歴を圧縮してコンテキスト使用量を削減
  • セッション:中断せずに作業を続行できる
  • カスタム指示:圧縮時に保持すべき情報を指定できる(オプション)
# 基本的な使い方
/compact

# カスタム指示を添える
/compact 認証機能の実装状況と残りのTODOを保持して

# 特定の技術的文脈を保持する
/compact データベーススキーマの変更点とAPI仕様を忘れないで

圧縮の仕組み

/compactコマンドを実行すると、内部では以下の処理が行われます。

圧縮のプロセス

  1. 会話履歴の分析:これまでの全やり取りをAIが読み取る
  2. 重要情報の抽出:タスクの目的、現在の進捗、決定事項、未完了の作業などを特定
  3. 要約の生成:抽出した情報をコンパクトな要約にまとめる
  4. 会話のリセット:古い会話履歴を要約で置き換え、コンテキストを解放
  5. 作業続行:圧縮後の文脈で会話を継続

圧縮率の目安

圧縮前のコンテキスト圧縮後の目安削減率
50Kトークン5〜10Kトークン80〜90%
100Kトークン8〜15Kトークン85〜92%
150Kトークン10〜20Kトークン87〜93%

圧縮率は会話の内容によって異なります。コードの変更が多い場合は要約が長くなり、質疑応答が中心の場合はより高い圧縮率になります。

使うべきタイミング

/compactの使いどころを見極めることが、効率的なセッション管理の鍵です。

使うべきタイミング

タイミング状況理由
コンテキスト60%超ステータスバーで使用率を確認80%を超える前に余裕を持って圧縮
タスクの区切り機能Aが完了し、機能Bに着手するとき機能Aの詳細なやり取りが不要になる
デバッグ完了後試行錯誤のやり取りが大量に蓄積失敗した試みの詳細は不要
応答品質の低下AIが指示を忘れる、的外れな応答コンテキスト過多による注意力分散

/compactを使わない方がよい場合

  • タスク完了間近:あと1〜2回のやり取りで終わるなら、そのまま完了させた方が良い
  • 複雑な文脈が必要:直前のコードの細部が重要な作業中(圧縮で失われる可能性)
  • 新しいセッションの方が適切:タスクが完全に異なる場合は/compactより新セッション

保持される情報と失われる情報

/compactは「すべてを記憶する」のではなく、「重要な情報を要約する」ことでコンテキストを削減します。何が残り、何が失われるかを理解しておきましょう。

保持されやすい情報

  • 現在のタスクの目的:何を実装しているか、何を修正しているか
  • 変更したファイル:どのファイルをどう変更したか(概要レベル)
  • 決定事項:技術選定やアーキテクチャの決定
  • 未完了のTODO:まだ終わっていない作業リスト
  • エラーの現状:現在発生しているエラーや問題

失われやすい情報

  • コードの詳細な内容:実際のコード行(ファイルを再読み込みすれば取得可能)
  • 試行錯誤の過程:失敗したアプローチの詳細
  • 会話のニュアンス:「こっちの方が良い」といった判断の文脈
  • 中間的な説明:「なぜこうしたか」の詳細な説明
  • エラーログの全文:長いスタックトレースなど

カスタム圧縮指示の書き方

/compactにカスタム指示を添えることで、圧縮時に特定の情報を確実に保持させることができます。

基本パターン

# パターン1: 保持すべき情報を指定
/compact 以下を必ず保持:1) DBスキーマの変更内容 2) APIエンドポイント一覧 3) 残りのTODO

# パターン2: 現在のコンテキストを明示
/compact 現在の状況:ユーザー認証APIの実装中。JWTトークン方式。login/logout/refresh完了、パスワードリセット未着手。

# パターン3: 次のステップを明示
/compact 次にやること:1) パスワードリセットAPI 2) メール送信機能 3) フロントエンド連携

効果的なカスタム指示のテンプレート

/compact 以下の情報を保持してください:
- プロジェクト: [プロジェクト名]
- 現在のタスク: [何をしているか]
- 完了した作業: [完了リスト]
- 残りのTODO: [未完了リスト]
- 重要な決定: [技術選定など]
- 既知の問題: [バグや制約]

圧縮前後の比較例

実際に/compactを使った場合のイメージを見てみましょう。

シナリオ: PHPでのCRUD API開発

圧縮前の会話(概要)

メッセージ1: 「ニュース管理APIを作りたい」→ 要件の確認
メッセージ2: DB設計の提案 → ユーザーが修正を依頼
メッセージ3: DB設計の修正 → 承認
メッセージ4: GET /api/news の実装
メッセージ5: テストでバグ発見 → デバッグ
メッセージ6: バグ修正完了
メッセージ7: POST /api/news の実装
メッセージ8: バリデーション追加の議論
メッセージ9: バリデーション実装
... (コンテキスト使用率: 65%)

/compact実行後の圧縮された文脈

【プロジェクト】ニュース管理API(PHP + SQLite)
【完了】
- DBスキーマ: newsテーブル(id, title, content, published_date, is_published, sort_order)
- GET /api/news: 一覧取得(ページネーション付き)、個別取得
- POST /api/news: 新規作成(title必須、content必須のバリデーション付き)
【未完了】
- PUT /api/news/:id(更新)
- DELETE /api/news/:id(削除)
- 認証(管理者のみ書き込み可能にする)
【変更ファイル】
- db/init.sql, api/news.php, includes/db.php
... (コンテキスト使用率: 8%)

このように、65%だったコンテキスト使用率が8%まで削減され、残りの作業に十分なコンテキストを確保できます。

長時間セッションの戦略

大きな機能開発など、長時間のセッションが必要な場合の/compact活用パターンを紹介します。

パターン1: 定期圧縮法

コンテキスト使用率を監視し、一定の閾値で/compactを実行します。

手順

  1. 作業開始(コンテキスト使用率: 5%)
  2. 作業を進める
  3. 使用率が50〜60%に達したら/compactを実行
  4. 圧縮後(使用率: 8〜10%に戻る)、作業を継続
  5. 再び50〜60%に達したら/compactを実行
  6. 必要に応じて繰り返す

パターン2: マイルストーン圧縮法

機能単位の区切り(マイルストーン)で/compactを実行します。

# マイルストーン1: DBスキーマ設計完了
/compact DBスキーマが確定。次はAPIエンドポイントの実装。

# マイルストーン2: APIエンドポイント完了
/compact API全エンドポイント実装完了。次はフロントエンド連携。

# マイルストーン3: フロントエンド連携完了
/compact フロント連携完了。次はテスト作成。

パターン3: デバッグ後圧縮法

デバッグの試行錯誤は大量のコンテキストを消費します。バグが解決したら即座に/compactを実行しましょう。

# バグ修正完了後
/compact セッション管理のバグを修正完了(session_regenerate_id()の呼び出し位置を変更)。
本来のタスクであるOAuth2統合の実装に戻る。残り:Google OAuth連携、コールバック処理。

ベストプラクティス

/compact活用の7つのルール

  1. コンテキスト60%で圧縮 ― 80%を超える前に余裕を持って実行
  2. カスタム指示を活用 ― 重要な情報が失われないよう明示的に指定
  3. 圧縮後にファイルを再確認 ― 必要なファイルはclaude codeに再読み込みさせる
  4. TODOリストを含める ― 残りの作業を確実に引き継ぐ
  5. デバッグ完了後は即圧縮 ― 試行錯誤の詳細は不要になる
  6. 1セッションで3回以上の圧縮は避ける ― 圧縮を重ねると情報が劣化する
  7. 完全にタスクが変わるなら新セッション ― /compactより新規開始が適切

/compactは「一時停止して整理する」機能です。作業の流れを止めずにコンテキストを最適化できる強力なツールですが、使いすぎは情報の劣化を招きます。適切なタイミングで、適切な指示とともに使いましょう。

まとめ

/compactコマンドは、Claude Codeでの長時間作業に欠かせないツールです。

  • /compactの本質:会話履歴をAIが要約し、コンテキストウィンドウを解放する機能
  • 最適なタイミング:コンテキスト使用率60%、タスクの区切り、デバッグ完了後
  • カスタム指示:保持すべき情報を明示的に指定することで圧縮品質を向上
  • 注意点:コードの詳細や試行錯誤の過程は失われるが、ファイルの再読み込みで補完可能
  • 使いすぎに注意:1セッション2〜3回までが目安。タスクが変わるなら新セッションを推奨

まずは次のClaude Codeセッションで、コンテキスト使用率を確認しながら/compactを試してみてください。作業効率の違いを実感できるはずです。

Claude Code入門の他のガイド

Claude Code導入ガイド ― Windows/Mac完全対応
Claude Codeのインストールから初回起動まで、OS別に完全対応 ・ 約30分
Claude Codeの主要スラッシュコマンドと活用法
16個のスラッシュコマンドを完全網羅。使い方・実行例・組み合わせテクニックまで ・ 約15分
Claude Codeの権限設定(パーミッション)完全ガイド
セキュリティと利便性を両立する権限管理の全知識 ・ 約18分
Claude Codeのモデル切り替え活用術 ― Opus・Sonnet・Haikuの使い分け
タスクに応じた最適なモデル選択でコストと品質を両立する方法 ・ 約15分
Claude Codeのセッション管理術 ― 効率的な作業の進め方
セッションの開始・継続・再開を使いこなして、長期プロジェクトを効率的に進める ・ 約12分
Claude Codeのコマンドラインオプション完全リファレンス
全CLIオプションを網羅。起動時に使える引数を徹底解説 ・ 約20分
Claude Codeのプロジェクト設定(.claude/)完全ガイド
.claudeディレクトリとCLAUDE.mdを使いこなしてチーム開発を効率化 ・ 約15分
Claude Codeの出力フォーマットとパイプ活用術
--printモードとパイプを使った自動化・スクリプト連携の実践テクニック ・ 約15分
Claude Codeのキーボードショートカットと操作効率化
知っておくべきショートカットキーと入力テクニックで作業速度を2倍に ・ 約12分
Claude Codeのアップデートとバージョン管理
最新版への更新方法からダウングレード、トラブル対処まで ・ 約10分
Claude Codeの/doctorコマンドとトラブル診断
問題発生時の診断フローとよくあるエラーの解決方法 ・ 約12分
CLAUDE.mdの書き方完全ガイド ― プロジェクト指示書のベストプラクティス
プロジェクトの文脈をAIに正確に伝える設定ファイルの書き方 ・ 約20分
Claude Codeのメモリ機能 ― 会話をまたいだ記憶の活用法
プロジェクト固有の知識を永続化して効率を最大化する ・ 約18分
.claude/settings.jsonの設定項目一覧と活用法
Claude Codeの動作を細かく制御する設定ファイルの全貌 ・ 約15分
プロジェクト別CLAUDE.mdテンプレート集 ― コピペで使える10パターン
React・Next.js・Python・PHP・WordPress等、主要技術スタック別テンプレート ・ 約25分
チーム開発でのCLAUDE.md運用術
チーム全員がAIを最大限活用するための共有設定と運用ルール ・ 約20分
Claude CodeでGitを使いこなす ― 基本操作編
自然な日本語でGitを操作する方法を基本から解説 ・ 約20分
Claude Codeでコミットメッセージを自動生成する
変更内容を分析して最適なコミットメッセージを提案してくれるAI活用術 ・ 約18分
Claude CodeでPR(プルリクエスト)を作成・レビューする
AI支援によるPR作成からコードレビューまでの実践的ワークフロー ・ 約20分
Claude Codeでブランチ戦略を実践する
Git Flow・GitHub Flow・トランクベースを理解し、AIで効率的にブランチを管理 ・ 約20分
Claude Codeでコンフリクト解決をAIに任せる
マージの衝突が起きても慌てない。AIによるコンフリクト解決の実践ガイド ・ 約18分
Claude Codeでgit logを分析して変更履歴を理解する
コミット履歴からバグの原因特定やプロジェクトの変遷を把握する ・ 約22分
Claude Codeでリリースノートを自動生成する
コミット履歴からユーザー向け・開発者向けリリースノートを作成する ・ 約20分
Claude Codeのコンテキスト節約術 ― トークンを無駄にしない10の方法
コンテキストウィンドウを理解し、トークン消費を最適化するテクニック集 ・ 約18分
大規模プロジェクトでのClaude Code活用戦略
大規模コードベースでの効率的なAI活用パターンとベストプラクティス ・ 約20分
.gitignoreとClaude Code ― 読み込みファイルの最適制御
ファイル探索の仕組みを理解し、ノイズを減らして精度を上げる ・ 約14分
効率的なタスク分割術 ― 1セッションの最適な使い方
タスク境界の見極めとセッション計画で生産性を最大化 ・ 約16分
Claude CodeのSkills機能入門 ― カスタムコマンドで作業を効率化
組み込みスキルからカスタムワークフローまで完全ガイド ・ 約15分
Claude Codeのフック(Hooks)でワークフローを自動化する
PreToolUse・PostToolUseフックで品質と安全性を自動で担保 ・ 約18分
カスタムスラッシュコマンドの作り方 ― 自分だけのワークフローを構築
.claude/commands/ディレクトリで独自コマンドを定義する方法 ・ 約16分
MCPサーバーでClaude Codeを拡張する ― 外部ツール連携ガイド
Model Context Protocolで無限の拡張性を手に入れる ・ 約18分
Claude CodeとVS Code・JetBrainsの連携活用法
ターミナルAIとIDEを組み合わせた最強の開発環境構築 ・ 約15分
Claude Codeでウェブサイトを0から作る実践ガイド
プロジェクト作成からデプロイまでの完全チュートリアル ・ 約20分
Claude Codeでテストコードを書かせるテクニック
単体テストからE2Eテストまで、AIによるテスト自動生成 ・ 約22分
Claude Codeでリファクタリングを効率化する
安全なコード改善をAIと一緒に進める方法 ・ 約22分
Claude Codeでドキュメントを自動生成する
README・API文書・コードコメントを効率的に作成 ・ 約20分
Claude Codeでバグを素早く見つけて修正するテクニック
エラー解析からホットフィックスまでのデバッグワークフロー ・ 約20分
Claude CodeでREST APIを設計・実装する
要件定義からテストまでAPI開発の全工程をAIと進める ・ 約25分
Claude Codeでデータベース設計を相談・実装する
ER図からマイグレーションまでDB設計をAIに相談 ・ 約22分
Claude Codeで既存プロジェクトを分析・理解する
新しいコードベースのオンボーディングをAIで加速 ・ 約22分

Claude Code入門のレッスンも読む

読んだら、次はクイズで確認!

トレーニングで学んだ知識を定着させましょう。

Claude Code入門のトレーニングへ