コンテキスト管理
Claude Code のコンテキストウィンドウを理解・管理し、/compact、/clear などのコマンドを効果的に使用する
API キーが必要ですか? 登録する →エンドポイントと Base URL →
目次
Claude Code の各セッションはコンテキストウィンドウ内で実行されます。コンテキストの仕組みを理解することで、Claude をより効率的に使用し、コンテキストオーバーフローによるエラーを防ぐことができます。
コンテキストウィンドウの理解¶
2026-10-15 時点の Claude Code 公式ドキュメントによると、Fable 5.1、Fable 5、Sonnet 5 以降、Haiku 5.5、Opus 4.7 以降は、[1m] サフィックスなしで標準で 100万 token(1M) のコンテキストウィンドウで動作します。Opus 4.6 と Sonnet 4.6 は [1m] バリアントを選んだ場合のみ 1M になり、それ以外は 200K です。QCode でよく使う claude-opus-5-5、claude-sonnet-5-5、claude-haiku-5-5 は前者に当たります。セッションを 200K ウィンドウに固定したい場合は、環境変数 CLAUDE_CODE_DISABLE_1M_CONTEXT=1 を設定します。
コンテキストには以下が含まれます:
- すべての会話履歴(あなたの質問 + Claude の回答)
@で参照したファイルの内容- ツール呼び出しの入力と出力
- システムプロンプトと CLAUDE.md の内容
会話が進むにつれてコンテキストは増大し続けます。コンテキストが上限に近づくと、Claude の応答速度が低下し、最終的に自動圧縮が起動するかエラーが発生します。
コンテキストの圧縮:/compact¶
/compact コマンドは現在の会話履歴を簡潔な要約に圧縮し、重要な情報を保持しながらコンテキストスペースを解放します。
/compact
カスタム指示を追加して圧縮の焦点を制御することもできます:
/compact すべてのコード例と完了済みのタスクリストを保持してください
自動圧縮メカニズム:ウィンドウを自分で設定していない場合、Claude Code は会話がモデルのコンテキスト上限に近づくと自動的に圧縮します。ネイティブ 1M ウィンドウのモデルでは、デフォルトで約 967K token で圧縮されます(公式ドキュメント)。もっと早く圧縮したい場合は /autocompact 500k のようなコマンドでウィンドウを設定します(auto で既定に戻る。Claude Code v2.1.221 以降が必要)。コンテキストが 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 消耗を確認 |
@ファイルパス |
ファイルをコンテキストに参照 |
| ## コンテキストエンジニアリングの階層 |
「コンテキストエンジニアリング」とは、Claude が各リクエストで読み取る内容を意図的に整理すること——価値が高く安定した情報を前面に置き、ノイズを排除すること——を指します。Claude Code のコンテキストは明確な優先順位の階層(高い順から低い順)に従います:
- エンタープライズ / 管理ポリシー——組織から一括で配布されるルール。優先度が最も高く、個人が上書きすることはできません。
- プロジェクトメモリ
CLAUDE.md/AGENTS.md——リポジトリのルートにあるプロジェクトレベルの指示で、コード規約、ビルドコマンド、プロジェクトの背景を記述します。 - パススコープのルール——サブディレクトリ内のネストされた
CLAUDE.mdや.claude/rules。そのパス配下の作業にのみ適用されます。 - リアルタイムの会話履歴——現在のセッションでのあなたと Claude のやり取り。優先度が最も低く、最も膨張しやすい部分です。
この階層を理解することで、指示を適切な場所に配置できます:汎用的な規約はプロジェクトレベルの CLAUDE.md へ、ディレクトリ固有の取り決めはパススコープのルールへ書き込み、毎回の会話で繰り返し述べないようにします。
実用的なポイント¶
- 指示は簡潔かつ高シグナルに:
CLAUDE.mdが洗練されているほど Claude は従いやすくなります。冗長で本題から外れた内容は重要な指示を薄めてしまいます。 - 論理的な区切りで
/compact:一区切りついた段階で履歴を圧縮します。長く発散した会話は正確性を低下させます。 - 無関係なタスクの間で
/clear:まったく無関係な新しいタスクに切り替える際は履歴を消去し、古いコンテキストが干渉しないようにします。 - 貼り付けの代わりにパスで参照:
@ファイルパスを使って Claude に必要に応じてファイルを読み取らせ、大きなブロックを会話に詰め込まないようにします——コンテキストを節約し、正確性も向上します。 - 安定した内容を最前面に置く:システムプロンプト、
CLAUDE.md、大きな背景情報などの変化しない内容は前部に置き、頻繁に編集しないようにします。そうすればプロンプトキャッシュにヒットします(キャッシュ読み取りのコストは通常の入力の約 10%)。これこそが、簡潔で安定したCLAUDE.mdとセッションの再利用がコスト削減につながる根本的な理由です。
要するに:安定した価値の高い内容を階層の上位に沈めて変更せず、変動しやすい会話履歴は定期的に収束させましょう。さらに詳しくは CLAUDE.md プロジェクトメモリ と コスト最適化 を参照してください。
よく使うコンテキストコマンドの詳細¶
2026-10-15 時点の Claude Code 公式コマンドリファレンスによると次のとおりです。
| コマンド | 公式の説明 |
|---|---|
/compact [指示] |
ここまでの会話を要約して圧縮し、コンテキストを空ける。残したい内容の指示を付けられる |
/clear |
コンテキストが空の新しい会話を始める(別名 /reset、/new)。前の会話は /resume で呼び戻せる |
/context |
現在のコンテキスト使用量を色付きグリッドで表示し、消費の大きいものへの最適化案を示す。all で詳細を展開 |
/rewind |
会話とコードを以前の時点に巻き戻す。「ここから要約」「ここまで要約」を選び、一部だけ圧縮して残りを保つこともできる |
/autocompact [auto\|サイズ] |
自動圧縮のウィンドウを設定。例:/autocompact 500k。auto でモデルに合わせた既定値に戻る |
公式の memory ドキュメントによると、プロジェクトルートの CLAUDE.md は /compact の後にディスクから再読み込みされ、失われません。会話の中でだけ伝えた指示は圧縮後に消えることがあるため、残したい内容は CLAUDE.md に書いてください。
QCode 経由で使うときの注意点¶
- Claude 系は長短のコンテキスト区分がなく、実際のトークン数で課金されます。GPT 系は、1 リクエストの入力(キャッシュヒット分を含む)が 272K を超えると、そのリクエスト全体が長いコンテキストの単価になります。ルールは課金の説明にあります。長いセッションは 272K に近づく前に圧縮するほうが節約になります。
- 毎ターン、現在のコンテキスト全体がモデルに再送されるため、セッションが長いほど 1 ターンあたりのトークンが増えます。変わらない先頭部分(
CLAUDE.md、システムプロンプト)はキャッシュに乗りやすく、前方の内容を頻繁に変えるとキャッシュが効かなくなります。 - 現在のセッションの使用量は
/usage(別名/cost)で確認します。QCode はトークン単位の課金で、モデルごとの単価は qcode.cc/models にあります。
よくあるエラーと切り分け¶
| 症状 | 原因 | 対処 |
|---|---|---|
429 で本文に E015 / Internal server error |
コンテキストがモデルの上限(約 95%)に近い、長いセッションの溢れ | まず /compact。それも失敗するなら終了して再起動。上の「長いセッションの溢れ防止」参照 |
/compact 自体がエラーになる |
圧縮リクエストも全コンテキストを送る必要があり、すでに収まらない | Claude Code を終了して再起動し、必要なら /resume で以前の会話に戻る |
| 圧縮後に Claude が要件を「忘れた」 | その要件は会話の中でしか伝えていなかった | CLAUDE.md に書く |
| 200K のウィンドウに固定したい | 既定のウィンドウがすでに 1M | 環境変数 CLAUDE_CODE_DISABLE_1M_CONTEXT=1 を設定 |
| コンテキストが異常な速さで増える | 大きなファイルの参照、またはツール出力が長い | /context で消費の大きいものを探し、関連部分だけ参照する |
よくある質問¶
/compact と /clear はどちらを使うべきですか?¶
同じ作業を続けるなら要約が残る /compact、まったく無関係な新しい作業に移るときだけ、白紙から始まる /clear を使います。
圧縮すると CLAUDE.md は失われますか?¶
失われません。プロジェクトルートの CLAUDE.md は圧縮後に再読み込みされ、サブディレクトリの CLAUDE.md やパス条件付きのルールは必要になったときに再び読み込まれます。
自動圧縮を早く働かせるには?¶
/autocompact 500k のようなコマンドでウィンドウを設定します。auto でモデルに合わせた既定値に戻ります。このコマンドには Claude Code v2.1.221 以降が必要です。使用量が 70〜80% に達したら自分で /compact するのもよい方法です(目安であり、公式の数値ではありません)。
圧縮したら必要な内容が消えました。戻せますか?¶
はい。/rewind で以前の時点を選び、会話・コード・その両方を復元できます。セッションのチェックポイントを使います。ワークフローのコツを参照してください。
QCode を始める
API キーひとつで Claude Code・Codex などに対応。トークン単位の課金で、各モデルの単価は qcode.cc/models に掲載