「コンテキストウィンドウ」とは、言語モデルが新しいテキストを生成する際に参照できるテキストの総量と、生成する新しいテキストの全体を指します。これは言語モデルが訓練された大規模なデータコーパスとは異なり、モデルの「作業メモリ」を表します。より大きなコンテキストウィンドウにより、モデルはより複雑で長いプロンプトを理解し応答できるようになり、一方で小さなコンテキストウィンドウは、より長いプロンプトを処理したり、長時間の会話で一貫性を保つモデルの能力を制限する可能性があります。
以下の図は、APIリクエストの標準的なコンテキストウィンドウの動作を示しています1:
1claude.aiなどのチャットインターフェースでは、コンテキストウィンドウは「先入れ先出し」システムでローリング設定することもできます。
拡張思考を使用する場合、思考に使用されるトークンを含むすべての入力および出力トークンがコンテキストウィンドウの制限にカウントされ、マルチターン状況ではいくつかのニュアンスがあります。
思考予算トークンはmax_tokensパラメータのサブセットであり、出力トークンとして課金され、レート制限にカウントされます。
ただし、以前の思考ブロックはClaude APIによってコンテキストウィンドウ計算から自動的に除外され、モデルが後続のターンで「見る」会話履歴の一部ではなく、実際の会話内容のためのトークン容量を保持します。
以下の図は、拡張思考が有効になっている場合の特殊なトークン管理を示しています:
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は100万トークンのコンテキストウィンドウをサポートしています。この拡張されたコンテキストウィンドウにより、はるかに大きなドキュメントを処理し、より長い会話を維持し、より広範囲なコードベースで作業できます。
1Mトークンコンテキストウィンドウは現在、使用階層4の組織およびカスタムレート制限を持つ組織向けのベータ版です。1MトークンコンテキストウィンドウはClaude Sonnet 4とSonnet 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に送信する前にどれだけのトークンを使用するかを推定できます。
モデル別のコンテキストウィンドウサイズのリストについては、モデル比較表をご覧ください。