コンテキスト編集は現在ベータ版で、ツール結果のクリアをサポートしています。これを有効にするには、APIリクエストでベータヘッダーcontext-management-2025-06-27を使用してください。追加のコンテキスト編集戦略は将来のリリースで追加される予定です。この機能に関するフィードバックをフィードバックフォームを通じてお聞かせください。

仕組み

clear_tool_uses_20250919戦略は、会話のコンテキストが設定されたしきい値を超えた場合にツール結果をクリアします。アクティブになると、APIは時系列順で最も古いツール結果を自動的にクリアし、ツール結果が削除されたことをClaudeに知らせるプレースホルダーテキストに置き換えます。デフォルトでは、ツール結果のみがクリアされます。clear_tool_inputsをtrueに設定することで、ツール結果とツール呼び出し(ツール使用パラメータ)の両方をオプションでクリアできます。 コンテキスト編集は、コンテンツをクリアするとプロンプト構造が変更され、キャッシュヒットのマッチ要件が破られるため、キャッシュされたプロンプトプレフィックスを無効化します。これを考慮して、キャッシュの無効化を価値あるものにするために十分なトークンをクリアすることをお勧めします。clear_at_leastパラメータを使用して、毎回最小限のトークン数がクリアされることを確保してください。コンテキスト編集でプロンプトキャッシュを使用する場合、コンテンツがクリアされるたびにキャッシュ書き込みコストが発生しますが、後続のリクエストは新しくキャッシュされたプレフィックスを再利用できます。

サポートされているモデル

コンテキスト編集は以下で利用可能です:
  • Claude Opus 4.1 (claude-opus-4-1-20250805)
  • Claude Opus 4 (claude-opus-4-20250514)
  • Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
  • Claude Sonnet 4 (claude-sonnet-4-20250514)

基本的な使用法

コンテキスト編集を有効にする最も簡単な方法は、戦略タイプのみを指定することです。他のすべての設定オプションはデフォルト値を使用します:
curl https://api.anthropic.com/v1/messages \
    --header "x-api-key: $ANTHROPIC_API_KEY" \
    --header "anthropic-version: 2023-06-01" \
    --header "content-type: application/json" \
    --header "anthropic-beta: context-management-2025-06-27" \
    --data '{
        "model": "claude-sonnet-4-5",
        "max_tokens": 4096,
        "messages": [
            {
                "role": "user",
                "content": "Search for recent developments in AI"
            }
        ],
        "tools": [
            {
                "type": "web_search_20250305",
                "name": "web_search"
            }
        ],
        "context_management": {
            "edits": [
                {"type": "clear_tool_uses_20250919"}
            ]
        }
    }'

高度な設定

追加のパラメータでコンテキスト編集の動作をカスタマイズできます:
curl https://api.anthropic.com/v1/messages \
    --header "x-api-key: $ANTHROPIC_API_KEY" \
    --header "anthropic-version: 2023-06-01" \
    --header "content-type: application/json" \
    --header "anthropic-beta: context-management-2025-06-27" \
    --data '{
        "model": "claude-sonnet-4-5",
        "max_tokens": 4096,
        "messages": [
            {
                "role": "user",
                "content": "Create a simple command line calculator app using Python"
            }
        ],
        "tools": [
            {
                "type": "text_editor_20250728",
                "name": "str_replace_based_edit_tool",
                "max_characters": 10000
            },
            {
                "type": "web_search_20250305",
                "name": "web_search",
                "max_uses": 3
            }
        ],
        "context_management": {
            "edits": [
                {
                    "type": "clear_tool_uses_20250919",
                    "trigger": {
                        "type": "input_tokens",
                        "value": 30000
                    },
                    "keep": {
                        "type": "tool_uses",
                        "value": 3
                    },
                    "clear_at_least": {
                        "type": "input_tokens",
                        "value": 5000
                    },
                    "exclude_tools": ["web_search"]
                }
            ]
        }
    }'

設定オプション

設定オプションデフォルト説明
trigger100,000入力トークンコンテキスト編集戦略がアクティブになるタイミングを定義します。プロンプトがこのしきい値を超えると、クリアが開始されます。この値はinput_tokensまたはtool_usesのいずれかで指定できます。
keep3ツール使用クリアが発生した後に保持する最近のツール使用/結果ペアの数を定義します。APIは最も古いツールインタラクションを最初に削除し、最新のものを保持します。
clear_at_leastなし戦略がアクティブになるたびに最小限のトークン数がクリアされることを保証します。APIが指定された量以上をクリアできない場合、戦略は適用されません。これにより、コンテキストクリアがプロンプトキャッシュを破る価値があるかどうかを判断するのに役立ちます。
exclude_toolsなしツール使用と結果がクリアされることのないツール名のリスト。重要なコンテキストを保持するのに便利です。
clear_tool_inputsfalseツール結果と一緒にツール呼び出しパラメータもクリアするかどうかを制御します。デフォルトでは、Claudeの元のツール呼び出しを表示したまま、ツール結果のみがクリアされます。

レスポンス形式

context_managementレスポンスフィールドを使用して、リクエストに適用されたコンテキスト編集と、クリアされたコンテンツと入力トークンに関する有用な統計を確認できます。
Response
{
    "id": "msg_013Zva2CMHLNnXjNJJKqJ2EF",
    "type": "message",
    "role": "assistant",
    "content": [...],
    "usage": {...},
    "context_management": {
        "applied_edits": [
            {
                "type": "clear_tool_uses_20250919",
                "cleared_tool_uses": 8,
                "cleared_input_tokens": 50000
            }
        ]
    }
}
ストリーミングレスポンスの場合、コンテキスト編集は最終的なmessage_deltaイベントに含まれます:
Streaming Response
{
    "type": "message_delta",
    "delta": {
        "stop_reason": "end_turn",
        "stop_sequence": null
    },
    "usage": {
        "output_tokens": 1024
    },
    "context_management": {
        "applied_edits": [...]
    }
}

トークンカウント

/v1/messages/count_tokensエンドポイントはコンテキスト管理をサポートしており、コンテキスト編集が適用された後にプロンプトが使用するトークン数をプレビューできます。
curl https://api.anthropic.com/v1/messages/count_tokens \
    --header "x-api-key: $ANTHROPIC_API_KEY" \
    --header "anthropic-version: 2023-06-01" \
    --header "content-type: application/json" \
    --header "anthropic-beta: context-management-2025-06-27" \
    --data '{
        "model": "claude-sonnet-4-5",
        "messages": [
            {
                "role": "user",
                "content": "Continue our conversation..."
            }
        ],
        "tools": [...],
        "context_management": {
            "edits": [
                {
                    "type": "clear_tool_uses_20250919",
                    "trigger": {
                        "type": "input_tokens",
                        "value": 30000
                    },
                    "keep": {
                        "type": "tool_uses",
                        "value": 5
                    }
                }
            ]
        }
    }'
Response
{
    "input_tokens": 25000,
    "context_management": {
        "original_input_tokens": 70000
    }
}
レスポンスは、コンテキスト管理が適用された後の最終トークン数(input_tokens)と、クリアが発生する前の元のトークン数(original_input_tokens)の両方を表示します。