Claude Codeの/clearと/compactは何が違うか?コスト削減への使い分けを解説

結論:/clearは「リセット」、/compactは「圧縮」
Claude Code(Anthropicが開発するCLIコーディングツール)には、コンテキストを管理する2つのコマンドがあります。どちらも「コンテキストが増えすぎてコストが高くなる・精度が落ちる」という問題に対処するコマンドですが、動作は全く異なります。
| コマンド | 動作 | 使い後のコンテキスト | 主な用途 |
|---|---|---|---|
/clear |
会話履歴を完全削除 | まっさら(0から再出発) | タスクが完全に終わったとき・別のタスクに切り替えるとき |
/compact |
会話履歴をAIが要約して圧縮 | 要約された状態(文脈は残る) | 同じタスクを継続しながらコストを削減したいとき |
一言で言うなら、「もう前の会話は要らない」→ /clear、「前の会話の文脈は必要だが軽くしたい」→ /compactです。



/clearの詳細:完全リセットのコマンド
/clearが何をするか
/clearを実行すると、現在のClaude Codeセッションの会話履歴がすべて削除されます。これ以降のやりとりは、Claudeにとって「今日初めて起動した状態」と同じになります。
消えるもの:
- これまでの会話のやりとり(全メッセージ)
- Claudeが把握しているコードの状態・変更履歴の記憶
- 指示したルールやコンテキスト(「このプロジェクトはNode.js 20を使っている」など)
消えないもの:
- 実際のファイルとコードの変更(ファイルシステム上に保存済みのもの)
- CLAUDE.mdに書かれた設定(再読み込みされる)
- gitの変更履歴
/clearを使うべきタイミング
- 1つのタスクが完了して別のタスクを始めるとき:「ログイン機能の実装が終わった。次は決済機能を作る」というタイミングで/clearすると、前のコンテキストが邪魔しなくなる
- Claudeの提案がおかしくなってきたとき:長い会話の後半でClaudeが文脈を誤解し始めたとき、/clearしてシンプルな状態から聞き直す方が精度が上がる
- 実験的な試行を終えて本実装に入るとき:「いろいろ試したが、結局このアプローチで行く」というときに/clearして整理された状態で本実装を進める
- 機密情報が会話に含まれているとき:APIキーや認証情報を誤って会話に含めてしまった場合、/clearでセッション内の履歴を消す

/compactの詳細:文脈を保ちながら圧縮するコマンド
/compactが何をするか
/compactを実行すると、Claudeが現在の会話履歴全体を要約して圧縮します。長い会話が「重要な情報だけを抽出した要約」に置き換えられます。
具体的に何が起きるか:
- 「今まで何をしてきたか」「どんな決定をしたか」「現在の状態は何か」をClaudeが要約文にまとめる
- その要約文がコンテキストの先頭に置かれ、詳細な会話ログが削除される
- 結果としてコンテキストのトークン数が大幅に減少し、以降のAPIコストが下がる
/compactを使うべきタイミング
- 長い会話を続けながらコストを下げたいとき:「まだ同じタスクを続けているが、コンテキストが膨らんできた」というタイミング
- コンテキストウィンドウの上限に近づいたとき:Claude Codeが「コンテキストが長くなっています」と警告を出したとき
- リファクタリングの途中で整理したいとき:「序盤の試行錯誤の詳細は不要だが、現在の設計方針は引き継ぎたい」という場合



コスト削減の観点での使い分け
なぜコンテキストが長くなるとコストが上がるのか
Claude CodeはAnthropicのAPIを内部で使っています。APIは入力トークン数(コンテキスト全体)に対してコストが発生します。会話が長くなると、毎回の質問に「これまでの全会話ログ」が含まれるため、コストが急増します。
例:100ターンの会話が積み重なると、100ターン目の送信時には「1〜99ターンの全ログ+今回の質問」が送られます。ターン数が増えるほど指数的にコストが膨らみます。
コスト削減のベストプラクティス
| 場面 | 推奨アクション | コスト削減効果 |
|---|---|---|
| タスク完了時 | /clearで完全リセット | 大(次のタスクを0から始められる) |
| 同一タスク継続・コンテキスト肥大化 | /compactで圧縮 | 中〜大(履歴の数分の1に圧縮) |
| 読み取り専用の確認作業 | –no-updateフラグなどで制限 | 小〜中 |
| 重複する説明を何度もしている | CLAUDE.mdに書いておく | 中(毎回説明するコストが消える) |
CLAUDE.mdと組み合わせた効率化
コスト削減の根本的な解決策は「必要な情報をCLAUDE.mdに書いておき、毎回会話で説明しないこと」です。プロジェクトの技術スタック・コーディング規約・よく使うコマンドをCLAUDE.mdに記録しておくと、/clearしても次回起動時に自動で読み込まれます。
# CLAUDE.md の例
## 技術スタック
- Node.js 20 + TypeScript
- PostgreSQL 15(ローカルは port 5432)
- テストは Vitest を使用
## コーディング規約
- async/await を使い Promise.then は使わない
- エラーは Result 型で返す(例外を使わない)
## よく使うコマンド
- `npm run dev` : 開発サーバー起動
- `npm test` : テスト実行

まとめ:どちらを使うかの判断フロー
- 今のタスクはもう終わった? → Yes →
/clear - タスクは続いているがコストが心配? → Yes →
/compact - Claudeの回答精度が落ちてきた? → 短期的なら
/compact、根本的にリセットしたいなら/clear
Claude Codeのコスト管理についての詳細は「Claude Codeで費用が急増した。コストを抑える具体的な使い方」もあわせてご覧ください。
