AIコーディング・自動化

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

kidaken-ai

結論:/clearは「リセット」、/compactは「圧縮」

Claude Code(Anthropicが開発するCLIコーディングツール)には、コンテキストを管理する2つのコマンドがあります。どちらも「コンテキストが増えすぎてコストが高くなる・精度が落ちる」という問題に対処するコマンドですが、動作は全く異なります。

コマンド 動作 使い後のコンテキスト 主な用途
/clear 会話履歴を完全削除 まっさら(0から再出発) タスクが完全に終わったとき・別のタスクに切り替えるとき
/compact 会話履歴をAIが要約して圧縮 要約された状態(文脈は残る) 同じタスクを継続しながらコストを削減したいとき

一言で言うなら、「もう前の会話は要らない」→ /clear、「前の会話の文脈は必要だが軽くしたい」→ /compactです。

るみな

るみな

/clearって使ったら今まで話したことが全部消えちゃうの?怖くて使えない…

きだけん

きだけん

はい、/clearは完全に削除されます。ただし怖がらなくていいです。Claude Codeのセッション内の会話履歴が消えるだけで、実際のファイルや変更は消えません。コードを書いた・修正した内容はファイルに残っています。新しいタスクを始める前に/clearすると、前のタスクの無駄なコンテキストを引きずらなくて済みます。

/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が「コンテキストが長くなっています」と警告を出したとき
  • リファクタリングの途中で整理したいとき:「序盤の試行錯誤の詳細は不要だが、現在の設計方針は引き継ぎたい」という場合
るみな

るみな

/compactって、要約したら大事な情報が消えることはないの?

きだけん

きだけん

要約の精度はClaudeの判断に依存するため、100%保証はできません。特に細かい数値・特定のAPIシグネチャ・エラーメッセージの詳細などは要約で省略される可能性があります。重要な情報はCLAUDE.mdや別ファイルに書き出しておくと安心です。/compactの後に『現在の状態を整理して』と聞くと、Claudeが要約を確認してくれます。

コスト削減の観点での使い分け

なぜコンテキストが長くなるとコストが上がるのか

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` : テスト実行

まとめ:どちらを使うかの判断フロー

  1. 今のタスクはもう終わった? → Yes → /clear
  2. タスクは続いているがコストが心配? → Yes → /compact
  3. Claudeの回答精度が落ちてきた? → 短期的なら/compact、根本的にリセットしたいなら/clear

Claude Codeのコスト管理についての詳細は「Claude Codeで費用が急増した。コストを抑える具体的な使い方」もあわせてご覧ください。

ABOUT ME
きだけん
きだけん
生成AI講師/副業コンサルタント
AI初心者が副業で月10万円を目指すための実践ノウハウを発信しています。生成AI講師として20名以上を指導し、自身もクラウドワークスで案件受注中。教育関連企業で10年勤務、娘の学費を稼ぐため日々研鑽中です。 全ての人が何かを「継続」し、「成果を出す」ことの手伝いをライフワークにしたいと考えています。
記事URLをコピーしました