この機能はZero Data Retention(ZDR)の対象です。組織がZDR契約を締結している場合、この機能を通じて送信されたデータは、APIレスポンスが返された後に保存されることはありません。
会話が長くなるにつれて、最終的にはコンテキストウィンドウの制限に近づきます。このガイドでは、コンテキストウィンドウの仕組みと、それを効果的に管理するための戦略を説明します。
長時間実行される会話やエージェント型ワークフローでは、サーバーサイドコンパクションがコンテキスト管理の主要な戦略です。より専門的なニーズには、コンテキスト編集がツール結果のクリアや思考ブロックのクリアなどの追加戦略を提供します。
「context window」(コンテキストウィンドウ)とは、言語モデルが応答を生成する際に参照できるすべてのテキストを指し、応答自体も含まれます。これは言語モデルが訓練された大規模なデータコーパスとは異なり、モデルの「作業メモリ」を表します。より大きなコンテキストウィンドウにより、モデルはより複雑で長いプロンプトを処理できますが、コンテキストが多ければ自動的に良くなるわけではありません。トークン数が増えるにつれて、精度と想起能力が低下します。この現象は「context rot」(コンテキストの劣化)として知られています。このため、コンテキストに何を含めるかを精選することは、利用可能なスペースの量と同じくらい重要です。
ClaudeはMRCRやGraphWalksなどの長文コンテキスト検索ベンチマークで最先端の結果を達成していますが、これらの成果はコンテキストにどれだけ収まるかだけでなく、コンテキストに何が含まれているかに依存します。
長いコンテキストが劣化する理由とそれを回避するエンジニアリング手法について詳しくは、Effective context engineeringを参照してください。
以下の図は、APIリクエストにおける標準的なコンテキストウィンドウの動作を示しています1:
1claude.aiなどのチャットインターフェースでは、コンテキストウィンドウをローリング方式の「先入れ先出し」システムで設定することもできます。
拡張思考を使用する場合、思考に使用されるトークンを含むすべての入力および出力トークンがコンテキストウィンドウの制限にカウントされますが、マルチターンの状況ではいくつかの細かな違いがあります。
思考バジェットトークンはmax_tokensパラメータのサブセットであり、出力トークンとして課金され、レート制限にカウントされます。適応型思考では、Claudeが思考の割り当てを動的に決定するため、実際の思考トークンの使用量はリクエストごとに異なる場合があります。
ただし、以前の思考ブロックはClaude APIによってコンテキストウィンドウの計算から自動的に除外され、後続のターンでモデルが「見る」会話履歴の一部にはならないため、実際の会話コンテンツのためのトークン容量が保持されます。
以下の図は、拡張思考が有効な場合の特殊なトークン管理を示しています:
context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens。thinkingブロックが含まれます。このアーキテクチャはトークン効率が高く、思考ブロックがかなりの長さになる可能性があるため、トークンを無駄にすることなく広範な推論が可能になります。
コンテキストウィンドウと拡張思考について詳しくは、拡張思考ガイドを参照してください。
以下の図は、拡張思考とツール使用を組み合わせた場合のコンテキストウィンドウのトークン管理を示しています:
最初のターンのアーキテクチャ
ツール結果の処理(ターン2)
tool_result。拡張思考ブロックは、対応するツール結果とともに必ず返す必要があります。これは思考ブロックを返す必要がある唯一のケースです。userメッセージまで追加の拡張思考はありません)。新しいユーザーターン(ターン3)
userターンを追加します。userターンがあるため、Claudeは新しい拡張思考ブロックを生成し、そこから続行します。assistantターンの思考ブロックはコンテキストウィンドウの一部としてカウントされます。context_window = input_tokens + current_turn_tokens。Claudeのツール選択は、大きな入力ドキュメントでも機能するように設計されています。つまり、会話に10万トークン以上のツール以外のコンテキストが含まれている場合でも、適切なツールを選択する(または正しく使用を控える)ことができます。ツール自体が消費するコンテキストを削減するには、ツールコンテキストの管理を参照するか、ツール検索ツールでツール定義を遅延させてください。
Claude Opus 4.8、Claude Mythos Preview、Claude Opus 4.7、Claude Opus 4.6、およびClaude Sonnet 4.6は、Claude API、Amazon Bedrock、Vertex AIで100万トークンのコンテキストウィンドウを持っています。Microsoft Foundryでは、Claude Opus 4.8は20万トークンのコンテキストウィンドウを持っています。Claude Sonnet 4.5およびSonnet 4(非推奨)を含む他のClaudeモデルは、20万トークンのコンテキストウィンドウを持っています。
Claude Fable 5およびClaude Mythos 5(claude-fable-5およびclaude-mythos-5)は、Claude APIで100万トークンのコンテキストウィンドウを持っています。100万の最大値はデフォルトでもあり、1回のリクエストで最大12万8千の出力トークン(max_tokens)を生成できます。
1回のリクエストには最大600枚の画像またはPDFページを含めることができます(20万トークンのコンテキストウィンドウを持つモデルでは100枚)。多数の画像や大きなドキュメントを送信する場合、トークン制限に達する前にリクエストサイズの制限に近づく可能性があります。
Claude Sonnet 4.6、Claude Sonnet 4.5、およびClaude Haiku 4.5はコンテキスト認識機能を備えています。この機能により、これらのモデルは会話全体を通じて残りのコンテキストウィンドウ(つまり「トークンバジェット」)を追跡できます。これにより、Claudeは作業に使えるスペースがどれだけあるかを理解することで、タスクの実行とコンテキストの管理をより効果的に行えます。Claudeはこのコンテキストを正確に使用するように訓練されており、残りのトークン数を推測するのではなく、最後までタスクを継続します。モデルにとって、コンテキスト認識がないことは、時計なしで料理コンテストに参加するようなものです。コンテキスト認識モデルは、残りのコンテキストに関する情報を明示的に受け取ることでこれを変え、利用可能なトークンを最大限に活用できるようになります。
仕組み:
会話の開始時に、Claudeは総コンテキストウィンドウに関する情報を受け取ります:
<budget:token_budget>1000000</budget:token_budget>バジェットは100万トークンに設定されます(より小さいコンテキストウィンドウを持つモデルでは20万トークン)。
各ツール呼び出しの後、Claudeは残りの容量に関する更新を受け取ります:
<system_warning>Token usage: 35000/1000000; 965000 remaining</system_warning>この認識により、Claudeは作業に残っている容量を判断でき、長時間実行されるタスクでより効果的な実行が可能になります。画像トークンもこれらのバジェットに含まれます。
利点:
コンテキスト認識は、特に以下の場合に価値があります:
複数のセッションにまたがるエージェントの場合、新しいセッションの開始時にコンテキストの復元が高速になるように状態アーティファクトを設計してください。メモリツールのマルチセッションパターンでは、具体的なアプローチを説明しています。Effective harnesses for long-running agentsも参照してください。
コンテキスト認識を活用するためのプロンプトガイダンスについては、プロンプトのベストプラクティスガイドを参照してください。
会話が定期的にコンテキストウィンドウの制限に近づく場合、サーバーサイドコンパクションが推奨されるアプローチです。コンパクションは、会話の前半部分を自動的に要約するサーバーサイドの要約機能を提供し、最小限の統合作業でコンテキスト制限を超えた長時間実行の会話を可能にします。これはClaude Fable 5、Claude Mythos 5、Claude Opus 4.8、Claude Mythos Preview、Claude Opus 4.7、Claude Opus 4.6、およびClaude Sonnet 4.6でベータ版として利用可能です。
より専門的なニーズには、コンテキスト編集が追加の戦略を提供します:
Claude 4.5モデル以降では、入力トークンとmax_tokensの合計がコンテキストウィンドウサイズを超えた場合、APIはリクエストを受け付けます。その後、生成がコンテキストウィンドウの制限に達すると、stop_reason: "model_context_window_exceeded"で停止します。それ以前のモデルでは、APIは代わりにバリデーションエラーを返します。model-context-window-exceeded-2025-08-26ベータヘッダーを使用してmodel_context_window_exceeded動作にオプトインしてください。詳細については、停止理由の処理を参照してください。
コンテキストウィンドウの制限内に収めるには、Claudeにメッセージを送信する前にトークンカウントAPIを使用してトークン使用量を見積もってください。
モデル別のコンテキストウィンドウサイズの一覧については、モデル比較表を参照してください。
長時間実行される会話でコンテキストを管理するための推奨戦略です。
ツール結果のクリアや思考ブロックのクリアなどのきめ細かい戦略です。
モデル別のコンテキストウィンドウサイズと入出力トークンの価格の一覧については、モデル比較表を参照してください。
拡張思考の仕組みと、ツール使用やプロンプトキャッシングなどの他の機能と併せて実装する方法について詳しく学びましょう。
Was this page helpful?