This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.
会話が進むにつれて、やがてコンテキストウィンドウの制限に近づきます。このガイドでは、コンテキストウィンドウの仕組みと、効果的に管理するための戦略を紹介します。
長時間実行される会話とエージェントワークフローの場合、サーバーサイドコンパクションがコンテキスト管理の主要な戦略です。より特殊なニーズの場合、コンテキスト編集はツール結果のクリアと思考ブロックのクリアなどの追加戦略を提供します。
「コンテキストウィンドウ」とは、言語モデルが応答を生成する際に参照できるすべてのテキストを指し、応答自体も含まれます。これは言語モデルが訓練された大規模なデータコーパスとは異なり、代わりにモデルの「作業メモリ」を表します。より大きなコンテキストウィンドウにより、モデルはより複雑で長いプロンプトを処理できますが、より多くのコンテキストが自動的に良いわけではありません。トークン数が増えるにつれて、精度と再現率が低下します。これはコンテキストロットとして知られている現象です。これにより、コンテキストに何が含まれているかをキュレーションすることは、利用可能なスペースの量と同じくらい重要になります。
ClaudeはMRCRやGraphWalksなどの長いコンテキスト検索ベンチマークで最先端の結果を達成していますが、これらの成果は、単にどれだけ適合するかではなく、コンテキストに何が含まれているかに依存しています。
長いコンテキストが劣化する理由と、それを回避するエンジニアリング方法の詳細については、効果的なコンテキストエンジニアリングを参照してください。
以下の図は、APIリクエストの標準的なコンテキストウィンドウの動作を示しています1:
1claude.aiなどのチャットインターフェースの場合、コンテキストウィンドウは「先入先出」のローリングシステムで設定することもできます。
拡張思考を使用する場合、思考に使用されるトークンを含むすべての入出力トークンがコンテキストウィンドウ制限にカウントされます。ただし、マルチターン状況ではいくつかのニュアンスがあります。
思考予算トークンはmax_tokensパラメータのサブセットであり、出力トークンとして請求され、レート制限にカウントされます。適応的思考では、Claudeが動的に思考割り当てを決定するため、実際の思考トークン使用量はリクエストごとに異なる場合があります。
ただし、前の思考ブロックはClaudeAPI によってコンテキストウィンドウ計算から自動的に削除され、後続のターンでモデルが「見る」会話履歴の一部ではなく、実際の会話コンテンツのためのトークン容量を保持します。
以下の図は、拡張思考が有効な場合の特殊なトークン管理を示しています:
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 Mythos Preview、Claude Opus 4.7、Claude Opus 4.6、およびClaude Sonnet 4.6は100万トークンのコンテキストウィンドウを持っています。Claude Sonnet 4.5およびSonnet 4(廃止予定)を含む他のClaudeモデルは、20万トークンのコンテキストウィンドウを持っています。
単一のリクエストには、最大600の画像またはPDFページ(20万トークンのコンテキストウィンドウを持つモデルの場合は100)を含めることができます。多くの画像または大きなドキュメントを送信する場合、トークン制限の前にリクエストサイズ制限に近づく可能性があります。
Claude Sonnet 4.6、Claude Sonnet 4.5、およびClaude Haiku 4.5はコンテキスト認識機能を備えています。この機能により、これらのモデルは会話全体を通じて残りのコンテキストウィンドウ(つまり「トークン予算」)を追跡できます。これにより、Claudeは利用可能なスペースの量を理解することで、コンテキストをより効果的に管理し、タスクを実行できます。Claudeは、残りのトークン数を推測するのではなく、このコンテキストを正確に使用し、最後まで作業を続けるように訓練されています。モデルにとって、コンテキスト認識がないことは、時計なしで料理番組に参加するようなものです。Claude 4.5+モデルは、モデルに残りのコンテキストを明示的に通知することで、これを変更し、利用可能なトークンを最大限に活用できます。
仕組み:
会話の開始時に、Claudeは総コンテキストウィンドウに関する情報を受け取ります:
<budget:token_budget>1000000</budget:token_budget>予算は100万トークン(コンテキストウィンドウが小さいモデルの場合は20万)に設定されています。
各ツール呼び出しの後、Claudeは残りの容量に関する更新を受け取ります:
<system_warning>Token usage: 35000/1000000; 965000 remaining</system_warning>この認識により、Claudeは作業に残っている容量を決定し、長時間実行されるタスクでより効果的に実行できます。画像トークンはこれらの予算に含まれています。
利点:
コンテキスト認識は特に以下の場合に価値があります:
複数のセッションにまたがるエージェントの場合、新しいセッションが開始されるときにコンテキスト回復が高速になるように状態アーティファクトを設計してください。メモリツールのマルチセッションパターンは具体的なアプローチを説明しています。長時間実行されるエージェントの効果的なハーネスも参照してください。
コンテキスト認識を活用するためのプロンプトガイダンスについては、プロンプトベストプラクティスガイドを参照してください。
会話が定期的にコンテキストウィンドウ制限に近づく場合、サーバーサイドコンパクションが推奨されるアプローチです。コンパクションはサーバーサイドの要約を提供し、会話の前の部分を自動的に凝縮し、最小限の統合作業で長時間実行される会話をコンテキスト制限を超えて可能にします。現在、Claude Opus 4.7、Claude Opus 4.6、およびClaude Sonnet 4.6のベータ版で利用可能です。
より特殊なニーズの場合、コンテキスト編集は追加戦略を提供します:
新しいClaudeモデル(Claude Sonnet 3.7以降)は、プロンプトと出力トークンがコンテキストウィンドウを超える場合、サイレントに切り詰めるのではなく、検証エラーを返します。この変更はより予測可能な動作を提供しますが、より慎重なトークン管理が必要です。
Claudeにメッセージを送信する前に、トークンカウントAPIを使用してトークン使用量を推定してください。これにより、コンテキストウィンドウ制限内で計画を立てることができます。
モデルごとのコンテキストウィンドウサイズのリストについては、モデル比較テーブルを参照してください。
長時間実行される会話でコンテキストを管理するための推奨戦略。
ツール結果のクリアと思考ブロックのクリアなどの細粒度戦略。
モデルごとのコンテキストウィンドウサイズと入出力トークン価格のリストについては、モデル比較テーブルを参照してください。
拡張思考の仕組みと、ツール使用やプロンプトキャッシングなどの他の機能と一緒に実装する方法の詳細を学びます。
Was this page helpful?