コンテキスト管理 & /clear 戦略
重要キーワード (5 語)
Context Window
(コンテキストウィンドウ)
— 1 セッションで Claude が一度に保持できるトークン上限
Token Economy
(トークン経済)
— ツール呼び出し・ファイル読み込み・出力が消費するトークンの考え方
/clear
(クリア)
— セッションのコンテキストを完全リセットする slash command
/compact
(コンパクト)
— 会話を要約圧縮し、記憶を残しつつコンテキストを縮小する
/cost
(コスト)
— セッションのトークン消費・概算費用を表示
なぜ「コンテキスト管理」が大事か
Claude Code は会話が長くなるほど コンテキストウィンドウ (1 リクエストで扱える最大トークン) に近づきます。 詰まると次の症状が出ます:
- 🐌 応答が遅くなる (毎回大量の履歴を再送するため)
- 💸 コストが膨らむ (input トークン × 単価で課金)
- 🤔 混乱しやすくなる (古い指示と新しい指示が衝突)
- ✂️ 古い情報が落とされる (上限超過時に頭から truncate)
長時間セッションでは コンテキストを意図的にコントロール するのが上級者の習慣です。
トークン経済 (Token Economy) — 何が context を食うか
| 行為 | 消費の規模 (目安) |
|---|---|
| 短い質問 | ~50 トークン |
中規模ファイル (300 行) を Read |
~3,000 トークン |
プロジェクト全体を Glob で列挙 |
~500〜2,000 |
Grep で大量ヒット |
数千 |
| 長文の出力 (1,000 字) | ~1,500 |
| Bash 出力 (大量ログ) | 数千〜数万 ⚠ |
| 画像 1 枚 | ~1,500〜3,000 |
| Subagent 呼び出し | 結果のみ親に戻るので相対的に節約 |
⚠️ 特に危ないのは Bash の長いログ出力。
npm installのフル出力を入れると 1 万トークン超もある。 解決策:head,tail,grepでフィルタ、または subagent 経由で要約だけ受け取る。
/clear vs /compact vs 新規セッション
| 操作 | 何が起きる | 使う場面 |
|---|---|---|
/clear |
完全リセット (新規 chat 同等) | 話題が完全に変わった / 前の文脈を持ち込みたくない |
/compact |
過去の会話を要約圧縮 (要点だけ残る) | 長くなったが続きで使いたい |
Ctrl+C × 2 → 新規 claude |
新規セッション (履歴は --resume で戻せる) |
長期作業の節目 |
claude --resume |
直前のセッション再開 | 翌日続きをやる |
/compact の挙動
会話履歴を Claude 自身が要約し、要約だけを残す。重要な判断や決定事項は要約に含まれる が、細かいコードのやり取りは消える。 30〜60 分のセッション後の「中休憩」で打つと効果的。
/clear の使いどき
- ✅ 「次は別のタスクをやる」と明確に切り替わる時
- ✅ Plan Mode で計画レビュー → 実装は新規セッションで
- ✅ デバッグの試行錯誤で文脈が混雑した時
- ❌ 同じタスクの途中 (続きを覚えていてほしい時) —
/compactを使う
長時間セッションの 3 段階パターン
パターン A: 計画 → 実装 → レビューの分離
wzxhzdk:0
→ 各セッションがクリーンな状態で始まり、各々のタスクに集中できる。
パターン B: 1 機能 = 1 セッション
機能ごとにセッションを切る。claude --resume で過去のセッションは ID で戻せる:
wzxhzdk:1
パターン C: 短時間バースト + Subagent
複雑な調査は Subagent (ch6-l5) に投げて、結果のサマリだけ親に戻す。 親セッションのコンテキストを節約しつつ、深い調査ができる。
/cost でモニタリング
wzxhzdk:2
定期的に確認する習慣を。5 万トークンを超えたら /compact の合図、と覚えておくと良い。
実用 Tips
- 🧹 タスク完了したら
/clearか新規セッション — 「ついで作業」を同じ context でやらない - 🎯
@で必要なファイルだけ指定 —claude起動直後に@README.mdするより、必要になった時に @ する方が節約 - ✂️ 長いログは
head/tail/grepでフィルタしてから渡す - 🔁 会話が混乱したら早めに
/compact— 粘らない方が結果的に早い - 📁 Plan は別ファイルに保存 — 次セッションで
@plan.mdで読める - ⚡ 重い調査は Subagent — 親 context を汚さない (ch6-l5 で詳説)
よくあるアンチパターン
- 🚫 「とりあえず全部 Read」 — 必要になってから @ で指定する
- 🚫 長時間 1 セッション固定 — 節目で /compact せず context が肥大
- 🚫
/clear恐怖症 — リセットすると不安だが、節目では切るべき - 🚫 巨大ログを丸ごと貼る —
> ! npm install 2>&1 | tail -50のように絞る
1000 ファイルあるリポジトリで「認証周りのバグを修正したい」とき、コンテキストを節約しつつ Claude Code に効率よく作業させる進め方を、ステップごとに 5〜7 段階で提案してください。@ や Subagent や /compact の使いどころも示してください。