コンテキストウィンドウ管理の基本【Claude Code必須知識】
Claude Codeのコンテキストウィンドウとは何か、なぜ管理が必要か、具体的な管理方法を解説。これを知らないとClaudeの性能が落ちます。
コンテキストウィンドウとは
コンテキストウィンドウは、Claudeが「一度に覚えていられる情報量」のことです。
人間で言えば「作業机の広さ」のようなもの。机が散らかると作業効率が落ちるように、コンテキストが溢れるとClaudeの性能も落ちます。
コンテキストに含まれるもの
Claude Codeを使うと、以下がコンテキストに積み重なっていきます:
コンテキストウィンドウの中身:
├── 会話履歴(あなたの指示+Claudeの応答)
├── 読み込んだファイルの内容
├── 実行したコマンドの出力
├── エラーメッセージ
└── CLAUDE.mdの内容
なぜ管理が必要か
問題1: 性能低下
コンテキストが溢れると:
- 応答が遅くなる
- 指示を忘れる
- 同じ間違いを繰り返す
- 以前の文脈を無視した回答になる
問題2: コスト増加
コンテキストが大きいほど:
- API使用量が増える
- 料金が高くなる
問題3: 混乱
関係ない情報が混ざると:
- 別タスクの情報を参照してしまう
- 古い情報を正として使ってしまう
コンテキスト管理の基本コマンド
/clear - コンテキストをリセット
最も重要なコマンドです。
/clear
タスクが完了したら、必ず /clear してから次のタスクに移りましょう。
使うタイミング:
- タスクが完了した時
- 全く別の作業を始める時
- Claudeが混乱している時
- エラー修正が2-3回失敗した時
/compact - 要約して圧縮
コンテキストを要約して、重要な情報だけ残します。
/compact
特定の指示を残したい場合:
/compact "認証機能の実装状況は残して"
使うタイミング:
- 長い作業の途中で
- コンテキストが大きくなってきた時
- 特定の文脈だけ残したい時
/rewind - 会話を巻き戻す
直前の変更を取り消して、会話を過去の状態に戻します。
Esc を2回押す # または
/rewind
使うタイミング:
- 間違った方向に進んだ時
- 「やっぱりさっきの方が良かった」と思った時
コンテキスト管理のベストプラクティス
ルール1: 1タスク1セッション
❌ ダメな例
タスクA開始 → 雑談 → タスクAに戻る → タスクB開始 → タスクAの続き
✅ 良い例
タスクA開始 → タスクA完了 → /clear → タスクB開始 → タスクB完了
異なるタスクを同じセッションで混ぜない。
ルール2: エラー修正は2回まで
❌ ダメな例
エラー → 修正指示 → まだエラー → 修正指示 → まだエラー → 修正指示 → まだエラー → ...
✅ 良い例
エラー → 修正指示 → まだエラー → 修正指示 → まだエラー → /clear → 問題を整理して再指示
2-3回修正しても直らないなら、コンテキストをリセットして最初から考え直す。
ルール3: 大きなファイルは必要な部分だけ
❌ ダメな例
"package.json全体を読んで"(1000行)
✅ 良い例
"package.jsonのdependenciesセクションだけ見て"
ファイル全体を読ませるとコンテキストを圧迫します。
ルール4: 調査はSubagentに任せる
大規模な調査が必要な時は、メインのコンテキストを汚さないようにSubagentを使います。
"Subagentを使って、認証周りのコードを調査して"
Subagentは別のコンテキストで動作するため、メインセッションが汚れません。
セッション管理
セッションに名前をつける
/rename oauth-implementation
後で再開しやすくなります。
前回のセッションを続ける
claude --continue # 直前のセッション
claude --resume # セッション一覧から選択
セッションを終了する
/exit # または Ctrl+C
コンテキスト使用量の確認
Claude Codeは、コンテキストの使用状況を表示してくれます。
Context: ████████░░ 80% used
80%を超えたら /compact か /clear を検討しましょう。
実践例: 複数タスクの効率的な処理
シナリオ: 認証機能の実装 + バグ修正 + ドキュメント更新
# タスク1: 認証機能の実装
claude
> "ログイン機能を実装して"
> (実装完了)
> /clear
# タスク2: バグ修正
> "決済処理のエラーを直して"
> (修正完了)
> /clear
# タスク3: ドキュメント更新
> "READMEを更新して"
> (更新完了)
> /exit
各タスク間で /clear することで、コンテキストをクリーンに保ちます。
よくある間違い
間違い1: clearしないで次のタスクを始める
前のタスクの情報が残っていて、Claudeが混乱します。
間違い2: エラー修正を延々と続ける
同じエラーに対して何度も指示を出すと、コンテキストがエラー情報で埋まります。
間違い3: 「ついでに」他のことを聞く
❌ "あ、ついでにこのファイルの構造も説明して"
「ついでに」がコンテキストを汚す原因になります。
次のステップ
コンテキスト管理の基本を学びました!
次は、Claude Codeの「Plan Mode」を使って、大きなタスクを効率的に進める方法を学びましょう。
まとめ
- コンテキストウィンドウ = Claudeの「作業机」
- 溢れると性能低下・コスト増加・混乱
/clearでリセット(最重要)/compactで要約・圧縮/rewindで巻き戻し- 1タスク1セッションを心がける
- エラー修正は2回まで、それ以上はリセット
参考文献・引用元
- [1]Context Management - Claude Code- Anthropic