上下文編輯目前處於測試版,支援工具結果清除。要啟用它,請在您的 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": "搜尋 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": "使用 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_tokenstool_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": "繼續我們的對話..."
            }
        ],
        "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)。