「コンテキストウィンドウ」とは、言語モデルが新しいテキストを生成する際に参照できるテキストの全体量と、生成する新しいテキストを合わせたものを指します。これは言語モデルが学習した大規模なデータコーパスとは異なり、モデルの「ワーキングメモリ」を表しています。より大きなコンテキストウィンドウにより、モデルはより複雑で長いプロンプトを理解して応答できますが、より小さなコンテキストウィンドウはモデルが長いプロンプトを処理したり、長い会話を通じて一貫性を保つ能力を制限する可能性があります。
以下の図は、APIリクエストの標準的なコンテキストウィンドウの動作を示しています1:
1claude.aiなどのチャットインターフェースの場合、コンテキストウィンドウは「先入れ先出し」のローリングシステムで設定することもできます。
拡張思考を使用する場合、思考に使用されるトークンを含むすべての入力トークンと出力トークンがコンテキストウィンドウ制限にカウントされます。ただし、マルチターン状況ではいくつかのニュアンスがあります。
思考予算トークンはmax_tokensパラメータのサブセットであり、出力トークンとして請求され、レート制限にカウントされます。
ただし、前の思考ブロックはClaudeAPIによってコンテキストウィンドウ計算から自動的に削除され、モデルが後続のターンで「見る」会話履歴の一部ではなく、実際の会話コンテンツのためにトークン容量を保持します。
以下の図は、拡張思考が有効な場合の特殊なトークン管理を示しています:
context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens。thinkingブロックとredacted_thinkingブロックの両方が含まれます。このアーキテクチャはトークン効率的であり、思考ブロックは実質的な長さを持つことができるため、トークン浪費なしで広範な推論を可能にします。
コンテキストウィンドウと拡張思考の詳細については、拡張思考ガイドをご覧ください。
以下の図は、拡張思考とツール使用を組み合わせた場合のコンテキストウィンドウトークン管理を示しています:
最初のターンアーキテクチャ
ツール結果の処理(ターン2)
tool_result。拡張思考ブロックは対応するツール結果と一緒に返される必要があります。これは思考ブロックを返す必要がある唯一のケースです。userメッセージまで追加の拡張思考はありません)。3番目のステップ
Userターンを追加する場所でもあります。Userターンがあるため、Claudeは新しい拡張思考ブロックを生成して続行します。Assistantターンの思考ブロックはコンテキストウィンドウの一部としてカウントされます。context_window = input_tokens + current_turn_tokens。Claude Sonnet 4および4.5は、1百万トークンのコンテキストウィンドウをサポートしています。この拡張コンテキストウィンドウにより、より大きなドキュメントを処理し、より長い会話を維持し、より広範なコードベースで作業できます。
1Mトークンコンテキストウィンドウは現在、使用層4の組織とカスタムレート制限を持つ組織のベータ版です。1MトークンコンテキストウィンドウはClaudeソネット4およびソネット4.5でのみ利用可能です。
1Mトークンコンテキストウィンドウを使用するには、APIリクエストにcontext-1m-2025-08-07ベータヘッダーを含めます:
from anthropic import Anthropic
client = Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Process this large document..."}
],
betas=["context-1m-2025-08-07"]
)重要な考慮事項:
Claude Sonnet 4.5およびClaude Haiku 4.5はコンテキスト認識機能を備えており、これらのモデルが会話全体を通じて残りのコンテキストウィンドウ(つまり「トークン予算」)を追跡できます。これにより、Claudeは利用可能なスペースの量を理解することで、タスクを実行し、コンテキストをより効果的に管理できます。Claudeは、残りのトークン数を推測する必要があるのではなく、このコンテキストを正確に使用してタスクを最後まで継続するようにネイティブに訓練されています。モデルにとって、コンテキスト認識がないことは、時計なしで料理番組に参加するようなものです。Claude 4.5モデルは、モデルに残りのコンテキストについて明示的に通知することでこれを変更し、利用可能なトークンを最大限に活用できるようにします。
動作方法:
会話の開始時に、Claudeは総コンテキストウィンドウに関する情報を受け取ります:
<budget:token_budget>200000</budget:token_budget>予算は200Kトークン(標準)、500Kトークン(Claude.ai Enterprise)、または1Mトークン(ベータ、適格な組織向け)に設定されます。
各ツール呼び出しの後、Claudeは残りの容量に関する更新を受け取ります:
<system_warning>Token usage: 35000/200000; 165000 remaining</system_warning>この認識により、Claudeは作業に残っている容量を決定し、長時間実行されるタスクでより効果的な実行を可能にします。画像トークンはこれらの予算に含まれます。
利点:
コンテキスト認識は特に以下の場合に価値があります:
コンテキスト認識を活用するためのプロンプトガイダンスについては、Claude 4ベストプラクティスガイドをご覧ください。
新しいClaudeモデル(Claude Sonnet 3.7以降)では、プロンプトトークンと出力トークンの合計がモデルのコンテキストウィンドウを超える場合、システムはコンテキストを静かに切り詰めるのではなく、検証エラーを返します。この変更はより予測可能な動作を提供しますが、より慎重なトークン管理が必要です。
トークン使用量を計画し、コンテキストウィンドウ制限内に留まるようにするには、トークンカウントAPIを使用して、Claudeに送信する前にメッセージが使用するトークン数を推定できます。
モデル別のコンテキストウィンドウサイズのリストについては、モデル比較テーブルをご覧ください。