Loading...
    • 开发者指南
    • API 参考
    • MCP
    • 资源
    • 发布说明
    Search...
    ⌘K

    第一步

    Claude 简介快速开始

    模型与定价

    模型概览选择模型Claude 4.5 的新功能迁移到 Claude 4.5模型弃用定价

    使用 Claude 构建

    功能概览使用 Messages API上下文窗口提示词最佳实践

    功能

    提示词缓存上下文编辑扩展思考流式消息批处理引用多语言支持Token 计数嵌入向量视觉PDF 支持Files API搜索结果Google Sheets 插件

    工具

    概述如何实现工具使用令牌高效的工具使用细粒度工具流式传输Bash 工具代码执行工具计算机使用工具文本编辑器工具Web fetch 工具网络搜索工具记忆工具

    代理技能

    概述在 API 中开始使用 Agent Skills技能创作最佳实践通过 API 使用 Agent Skills

    Agent SDK

    概览TypeScript SDKPython SDK

    指南

    流式输入处理权限会话管理托管 Agent SDK修改系统提示词SDK 中的 MCP自定义工具SDK 中的子代理SDK 中的斜杠命令SDK 中的代理技能跟踪成本和使用情况待办事项列表SDK 中的插件

    API 中的 MCP

    MCP 连接器远程 MCP 服务器

    Claude 在第三方平台上

    Amazon BedrockVertex AI

    提示词工程

    概述提示词生成器使用提示模板提示词改进器保持清晰和直接使用示例(多示例提示)让 Claude 思考(思维链)使用XML标签给Claude分配角色(系统提示)预填充 Claude 的响应链式复杂提示长文本技巧扩展思考技巧

    测试与评估

    定义成功标准开发测试用例使用评估工具减少延迟

    加强防护措施

    减少幻觉提高输出一致性缓解越狱handle-streaming-refusals减少提示词泄露保持Claude的角色特征

    管理和监控

    Admin API 概述使用量和成本 APIClaude Code 分析 API
    Console
    功能

    上下文编辑

    在对话上下文增长时自动管理它,使用上下文编辑功能。

    上下文编辑目前处于测试版,支持工具结果清除和思考块清除。要启用它,请在您的 API 请求中使用测试版标头 context-management-2025-06-27。

    请通过我们的反馈表单分享您对此功能的反馈。

    概述

    上下文编辑允许您在对话上下文增长时自动管理它,帮助您优化成本并保持在上下文窗口限制内。API 提供了不同的上下文管理策略:

    • 工具结果清除 (clear_tool_uses_20250919):当对话上下文超过您配置的阈值时,自动清除工具使用/结果对
    • 思考块清除 (clear_thinking_20251015):通过从之前的轮次清除较旧的思考块来管理思考块

    每个策略可以独立配置并一起应用,以优化您的特定用例。

    上下文编辑策略

    工具结果清除

    clear_tool_uses_20250919 策略在对话上下文超过您配置的阈值时清除工具结果。激活后,API 会按时间顺序自动清除最旧的工具结果,用占位符文本替换它们,让 Claude 知道工具结果已被移除。默认情况下,仅清除工具结果。您可以通过将 clear_tool_inputs 设置为 true,选择同时清除工具结果和工具调用(工具使用参数)。

    思考块清除

    clear_thinking_20251015 策略在启用扩展思考时管理对话中的 thinking 块。此策略自动清除来自之前轮次的较旧思考块。

    默认行为:启用扩展思考而不配置 clear_thinking_20251015 策略时,API 自动仅保留最后一个助手轮次的思考块(等同于 keep: {type: "thinking_turns", value: 1})。

    要最大化缓存命中,通过设置 keep: "all" 保留所有思考块。

    助手对话轮次可能包括多个内容块(例如使用工具时)和多个思考块(例如使用交错思考时)。

    上下文编辑在服务器端进行

    上下文编辑在提示到达 Claude 之前在服务器端应用。您的客户端应用程序维护完整的、未修改的对话历史记录——您不需要将客户端状态与编辑后的版本同步。继续像往常一样在本地管理您的完整对话历史记录。

    上下文编辑和提示缓存

    上下文编辑与提示缓存的交互因策略而异:

    • 工具结果清除:清除内容时使缓存的提示前缀失效。为了解决这个问题,我们建议清除足够的令牌以使缓存失效值得。使用 clear_at_least 参数确保每次清除时至少清除最少数量的令牌。每次清除内容时您都会产生缓存写入成本,但后续请求可以重用新缓存的前缀。

    • 思考块清除:当思考块保留在上下文中(未清除)时,提示缓存被保留,启用缓存命中并减少输入令牌成本。当思考块被清除时,缓存在清除发生的位置失效。根据您是否想优先考虑缓存性能或上下文窗口可用性来配置 keep 参数。

    支持的模型

    上下文编辑可用于:

    • 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)
    • Claude Haiku 4.5 (claude-haiku-4-5-20251001)

    工具结果清除用法

    启用工具结果清除的最简单方法是仅指定策略类型,因为所有其他配置选项将使用其默认值:

    cURL
    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"}
                ]
            }
        }'
    Python
    response = client.beta.messages.create(
        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"
            }
        ],
        betas=["context-management-2025-06-27"],
        context_management={
            "edits": [
                {"type": "clear_tool_uses_20250919"}
            ]
        }
    )
    TypeScript
    import Anthropic from '@anthropic-ai/sdk';
    
    const anthropic = new Anthropic({
      apiKey: process.env.ANTHROPIC_API_KEY,
    });
    
    const response = await anthropic.beta.messages.create({
      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" }
        ]
      },
      betas: ["context-management-2025-06-27"]
    });

    高级配置

    您可以使用其他参数自定义工具结果清除行为:

    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"]
                    }
                ]
            }
        }'

    思考块清除用法

    启用思考块清除以在启用扩展思考时有效地管理上下文和提示缓存:

    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-20250929",
            "max_tokens": 1024,
            "messages": [...],
            "thinking": {
                "type": "enabled",
                "budget_tokens": 10000
            },
            "context_management": {
                "edits": [
                    {
                        "type": "clear_thinking_20251015",
                        "keep": {
                            "type": "thinking_turns",
                            "value": 2
                        }
                    }
                ]
            }
        }'

    思考块清除的配置选项

    clear_thinking_20251015 策略支持以下配置:

    配置选项默认值描述
    keep{type: "thinking_turns", value: 1}定义要保留多少个最近的带有思考块的助手轮次。使用 {type: "thinking_turns", value: N},其中 N 必须 > 0 以保留最后 N 个轮次,或使用 "all" 保留所有思考块。

    配置示例:

    // 保留最后 3 个助手轮次的思考块
    {
      "type": "clear_thinking_20251015",
      "keep": {
        "type": "thinking_turns",
        "value": 3
      }
    }
    
    // 保留所有思考块(最大化缓存命中)
    {
      "type": "clear_thinking_20251015",
      "keep": "all"
    }

    组合策略

    您可以同时使用思考块清除和工具结果清除:

    使用多个策略时,clear_thinking_20251015 策略必须在 edits 数组中首先列出。

    response = client.beta.messages.create(
        model="claude-sonnet-4-5-20250929",
        max_tokens=1024,
        messages=[...],
        thinking={
            "type": "enabled",
            "budget_tokens": 10000
        },
        tools=[...],
        betas=["context-management-2025-06-27"],
        context_management={
            "edits": [
                {
                    "type": "clear_thinking_20251015",
                    "keep": {
                        "type": "thinking_turns",
                        "value": 2
                    }
                },
                {
                    "type": "clear_tool_uses_20250919",
                    "trigger": {
                        "type": "input_tokens",
                        "value": 50000
                    },
                    "keep": {
                        "type": "tool_uses",
                        "value": 5
                    }
                }
            ]
        }
    )

    工具结果清除的配置选项

    配置选项默认值描述
    trigger100,000 个输入令牌定义上下文编辑策略何时激活。一旦提示超过此阈值,清除将开始。您可以在 input_tokens 或 tool_uses 中指定此值。
    keep3 个工具使用定义清除发生后要保留多少个最近的工具使用/结果对。API 首先移除最旧的工具交互,保留最新的工具交互。
    clear_at_least无确保每次策略激活时至少清除最少数量的令牌。如果 API 无法清除至少指定的数量,则不会应用该策略。这有助于确定上下文清除是否值得破坏您的提示缓存。
    exclude_tools无工具名称列表,其工具使用和结果永远不应被清除。用于保留重要上下文。
    clear_tool_inputsfalse控制是否与工具结果一起清除工具调用参数。默认情况下,仅清除工具结果,同时保持 Claude 的原始工具调用可见。

    上下文编辑响应

    您可以使用 context_management 响应字段查看哪些上下文编辑已应用于您的请求,以及有关已清除内容和输入令牌的有用统计信息。

    响应
    {
        "id": "msg_013Zva2CMHLNnXjNJJKqJ2EF",
        "type": "message",
        "role": "assistant",
        "content": [...],
        "usage": {...},
        "context_management": {
            "applied_edits": [
                // 使用 `clear_thinking_20251015` 时
                {
                    "type": "clear_thinking_20251015",
                    "cleared_thinking_turns": 3,
                    "cleared_input_tokens": 15000
                },
                // 使用 `clear_tool_uses_20250919` 时
                {
                    "type": "clear_tool_uses_20250919",
                    "cleared_tool_uses": 8,
                    "cleared_input_tokens": 50000
                }
            ]
        }
    }

    对于流式响应,上下文编辑将包含在最终的 message_delta 事件中:

    流式响应
    {
        "type": "message_delta",
        "delta": {
            "stop_reason": "end_turn",
            "stop_sequence": null
        },
        "usage": {
            "output_tokens": 1024
        },
        "context_management": {
            "applied_edits": [...]
        }
    }

    令牌计数

    令牌计数端点支持上下文管理,允许您预览在应用上下文编辑后您的提示将使用多少令牌。

    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
                        }
                    }
                ]
            }
        }'
    响应
    {
        "input_tokens": 25000,
        "context_management": {
            "original_input_tokens": 70000
        }
    }

    响应显示应用上下文管理后的最终令牌计数(input_tokens)和任何清除发生前的原始令牌计数(original_input_tokens)。

    与内存工具一起使用

    上下文编辑可以与内存工具结合使用。当您的对话上下文接近配置的清除阈值时,Claude 会收到自动警告以保留重要信息。这使 Claude 能够在工具结果从对话历史记录中清除之前将工具结果或上下文保存到其内存文件中。

    这种组合允许您:

    • 保留重要上下文:Claude 可以在清除工具结果之前将工具结果中的基本信息写入内存文件
    • 维护长期运行的工作流:通过将信息卸载到持久存储,启用可能会超过上下文限制的代理工作流
    • 按需访问信息:Claude 可以从内存文件中查找之前清除的信息,而不是将所有内容保留在活跃上下文窗口中

    例如,在 Claude 执行许多操作的文件编辑工作流中,Claude 可以在上下文增长时将已完成的更改总结到内存文件中。当工具结果被清除时,Claude 通过其内存系统保留对该信息的访问权限,并可以继续有效地工作。

    要同时使用这两个功能,请在您的 API 请求中启用它们:

    response = client.beta.messages.create(
        model="claude-sonnet-4-5",
        max_tokens=4096,
        messages=[...],
        tools=[
            {
                "type": "memory_20250818",
                "name": "memory"
            },
            # Your other tools
        ],
        betas=["context-management-2025-06-27"],
        context_management={
            "edits": [
                {"type": "clear_tool_uses_20250919"}
            ]
        }
    )
      © 2025 ANTHROPIC PBC

      Products

      • Claude
      • Claude Code
      • Max plan
      • Team plan
      • Enterprise plan
      • Download app
      • Pricing
      • Log in

      Features

      • Claude and Slack
      • Claude in Excel

      Models

      • Opus
      • Sonnet
      • Haiku

      Solutions

      • AI agents
      • Code modernization
      • Coding
      • Customer support
      • Education
      • Financial services
      • Government
      • Life sciences

      Claude Developer Platform

      • Overview
      • Developer docs
      • Pricing
      • Amazon Bedrock
      • Google Cloud’s Vertex AI
      • Console login

      Learn

      • Blog
      • Catalog
      • Courses
      • Use cases
      • Connectors
      • Customer stories
      • Engineering at Anthropic
      • Events
      • Powered by Claude
      • Service partners
      • Startups program

      Company

      • Anthropic
      • Careers
      • Economic Futures
      • Research
      • News
      • Responsible Scaling Policy
      • Security and compliance
      • Transparency

      Help and security

      • Availability
      • Status
      • Support center

      Terms and policies

      • Privacy policy
      • Responsible disclosure policy
      • Terms of service: Commercial
      • Terms of service: Consumer
      • Usage policy

      Products

      • Claude
      • Claude Code
      • Max plan
      • Team plan
      • Enterprise plan
      • Download app
      • Pricing
      • Log in

      Features

      • Claude and Slack
      • Claude in Excel

      Models

      • Opus
      • Sonnet
      • Haiku

      Solutions

      • AI agents
      • Code modernization
      • Coding
      • Customer support
      • Education
      • Financial services
      • Government
      • Life sciences

      Claude Developer Platform

      • Overview
      • Developer docs
      • Pricing
      • Amazon Bedrock
      • Google Cloud’s Vertex AI
      • Console login

      Learn

      • Blog
      • Catalog
      • Courses
      • Use cases
      • Connectors
      • Customer stories
      • Engineering at Anthropic
      • Events
      • Powered by Claude
      • Service partners
      • Startups program

      Company

      • Anthropic
      • Careers
      • Economic Futures
      • Research
      • News
      • Responsible Scaling Policy
      • Security and compliance
      • Transparency

      Help and security

      • Availability
      • Status
      • Support center

      Terms and policies

      • Privacy policy
      • Responsible disclosure policy
      • Terms of service: Commercial
      • Terms of service: Consumer
      • Usage policy
      © 2025 ANTHROPIC PBC