コンテキスト管理
Claude Code のコンテキストウィンドウを理解・管理し、/compact、/clear などのコマンドを効果的に使用する
コンテキスト管理¶
Claude Code の各セッションはコンテキストウィンドウ内で実行されます。コンテキストの仕組みを理解することで、Claude をより効率的に使用し、コンテキストオーバーフローによるエラーを防ぐことができます。
コンテキストウィンドウの理解¶
Claude Code はデフォルトで 20万 token のコンテキストウィンドウを使用します。Opus 4.6 および Sonnet 4.6 モデルは 100万 token(1M context) への拡張をサポートしています。
コンテキストには以下が含まれます:
- すべての会話履歴(あなたの質問 + Claude の回答)
@で参照したファイルの内容- ツール呼び出しの入力と出力
- システムプロンプトと CLAUDE.md の内容
会話が進むにつれてコンテキストは増大し続けます。コンテキストが上限に近づくと、Claude の応答速度が低下し、最終的に自動圧縮が起動するかエラーが発生します。
コンテキストの圧縮:/compact¶
/compact コマンドは現在の会話履歴を簡潔な要約に圧縮し、重要な情報を保持しながらコンテキストスペースを解放します。
/compact
カスタム指示を追加して圧縮の焦点を制御することもできます:
/compact すべてのコード例と完了済みのタスクリストを保持してください
自動圧縮メカニズム:Claude Code はデフォルトでコンテキストが 95% の容量に達したときに自動的に圧縮を起動します。コンテキストが 70〜80% に達した時点で積極的に /compact を実行し、最後まで待つことを避けましょう。
履歴のクリア:/clear¶
/clear コマンドはすべての会話履歴をクリアし、完全に新しいセッションを開始します:
/clear
注意:
/clearはプロジェクトに関して Claude が把握した情報を含む、すべてのコンテキストを削除します。まったく関係のない新しいタスクに切り替える際に使用してください。
コンテキスト状態の確認:/context¶
/context コマンドを使用して現在のコンテキストの使用状況を確認します:
/context
@ でファイルを参照¶
@ 記号を使用してファイルの内容をコンテキストに追加します:
@src/main.ts このファイルの機能を説明してください
@package.json 依存関係のバージョンを確認してください
@README.md
ベストプラクティス:
- 現在のタスクに関連するファイルのみを参照し、不要なコンテキストを持ち込まないようにする
- 大きなファイルはコンテキストスペースを素早く消費するため、重要なファイルを優先的に参照する
- 毎回の会話で繰り返し貼り付けるのではなく、
CLAUDE.mdを使用してプロジェクトの背景を提供する
パイプ入力¶
パイプを通じてコマンドの出力やファイルの内容を Claude に渡します:
# ファイルの内容を渡す
cat error.log | claude "このエラーを分析してください"
# コマンドの出力を渡す
git diff | claude "コミットメッセージを生成してください"
# 複数行の入力
echo "以下のコードを分析してください:
$(cat src/utils.ts)" | claude
長いセッションでのオーバーフロー防止¶
症状:E015 Internal server error¶
会話コンテキストがモデルの容量上限(〜95%)に近づくと、Anthropic API は 500 エラーを返します。QCode.cc はこれを 429 レスポンスとしてラップします:
429 {"error":{"code":"E015","message":"Internal server error"},"status":500}
これは Anthropic API の既知の動作です(QCode.cc 固有の問題ではありません)。QCode.cc が上流の 5xx エラーを 429 レスポンスとしてラップするのは、Claude Code に内蔵されたリトライメカニズムを活用するためです。
解決手順¶
-
/compactを試みる: -
成功した場合、会話を通常通り続けることができます
-
/compact自体もエラーになる場合(圧縮リクエストも完全なコンテキストの送信が必要なため)、次の手順に進みます -
Claude Code を終了して再起動する:
bash # Ctrl+C を押すか /exit と入力する # その後再起動する claude
予防の推奨事項¶
- 定期的な圧縮:オーバーフローを待つのではなく、コンテキストが 70〜80% に達した時点で積極的に
/compactを実行する - タスクの分割:大きなタスクを複数の小さなタスクに分割し、各タスクで独立したセッションを使用する
- 繰り返しの貼り付けの代わりに CLAUDE.md を使用:プロジェクトの背景を
CLAUDE.mdに記述しておけば、Claude 起動時に自動的に読み込まれるため、毎回の会話で繰り返し提供する必要がなくなります - 大きなファイルの参照を避ける:大きなファイルを参照するたびに大量のコンテキストが消費されるため、重要な部分を優先的に参照する
/costで監視:/costコマンドで現在のセッションの token 消耗状況を確認できます
関連コマンドのクイックリファレンス¶
| コマンド | 機能 |
|---|---|
/compact |
コンテキストを圧縮(要約を保持) |
/clear |
すべてのコンテキストをクリア |
/context |
コンテキストの状態を確認 |
/cost |
token 消耗を確認 |
@ファイルパス |
ファイルをコンテキストに参照 |