Claude Code 2.1.273:五个新网关提示头和 Bedrock、Vertex、Foundry 上的分类器切换

Claude Code 2.1.273 推出可选开启的网关提示头,向任何 LLM 代理暴露请求类型、agent 类型和上下文压缩状态,同时在 Bedrock、Vertex AI 和 Foundry 上静默切换 auto 模式分类器为本地模式。两个变更一起落地,但只有其中一个有回退路径。

TheRouter Newsroom来源 Anthropic
Claude Code 2.1.273 网关提示头和 auto 模式分类器变更,展示为代理可观测性仪表盘中的请求分类信号

Claude Code 2.1.273 于 9 月 15 日发布,带来两个运营 LLM gateway 的团队应该立刻跟进的变更。新增的网关提示头现在就可以开启;auto 模式分类器的切换则已经默认生效,适用 AWS Bedrock、Google Vertex AI 和 Azure Foundry 上的所有 Claude Code 会话。

这两个变更在架构上没有关联,但实际运营中会互相咬合。分类器切换之后,如果你想知道 auto 模式会话在做什么,新的提示头正好提供了观测入口。

五个告诉 gateway 请求状态的新头

设置 CLAUDE_CODE_GATEWAY_HINT_HEADERS=1,Claude Code 就会在每个请求上附带五个额外的 HTTP 头。

头字段内容
x-claude-code-request-classautodefaultfastplan
x-claude-code-agent-typeuserbackgroundsubagent
x-claude-code-prev-tool-durations上一轮工具调用耗时的 JSON 数组(毫秒)
x-claude-code-compaction若当前请求是上下文压缩摘要轮,值为 true
x-claude-code-context-compacted若本轮之前上下文已被压缩,值为 true

这些是提示头,Claude Code 发出,gateway 怎么用由你决定。

按请求类型路由 gateway 可以对 auto 模式会话和 default 模式会话分别设置限速、费用预算或 provider 选择策略。Auto 模式的多步工具循环和开发者的交互式对话,在延迟容忍和成本特征上差异很大,而之前 gateway 没有任何方法区分它们。现在可以了。

按 agent 类型打标 backgroundsubagent 类型的请求来自 Claude Code 的 agent 编排层,不是人类在键盘上发起的。把这类请求在可观测性系统里单独打标,可以在不改任何业务代码的情况下,把 agent 消耗和交互式消耗拆开统计。

感知压缩轮次 x-claude-code-compaction: true 说明当前请求是一次上下文重写,把长对话压成摘要。这类请求结构上不同于普通生成请求,输入往往较短,输出一定是大段散文,发生频率低,但触发时成本峰值高。知道哪些轮次是压缩轮,可以将其路由到更便宜的模型,或在计费系统里单独标记费用事件。

工具耗时遥测 x-claude-code-prev-tool-durations 会在工具循环结束后的下一轮出现。想在 gateway 侧把工具调用延迟和后续 LLM 请求的延迟关联起来,现在头字段里直接有原始数据,不需要额外的 side channel。

这些头默认关闭,需要主动开启。它们给每个请求带来的数据量很小,默认关闭主要是为了不影响没有升级准备的现有 gateway 部署。

Bedrock、Vertex 和 Foundry 上的分类器翻转

Auto 模式下 Claude Code 用一个分类器判断当前操作是否需要用户确认。2.1.273 之前,该分类器在所有平台上默认走服务端。从 2.1.273 起,Bedrock、Vertex AI 和 Foundry 上的默认值静默切换为本地分类器。

Anthropic 的 changelog 说法简短,大意是暂时将这三个平台的 auto 模式切换为本地分类器。这个"暂时"说明这是一次稳定性修复,服务端分类器在经过第三方平台 endpoint 的请求上似乎出现了非预期行为。不管原因如何,行为后果是真实的。

本地分类器在客户端运行,使用的模型权重和服务端分类器相同,但没有 Anthropic 独立于 Claude Code 版本单独更新的最新调参。如果你的团队依赖 Anthropic 服务端分类器来做 auto 模式的授权绕过决策,在上述三个平台上,现在运行的是稍旧的决策边界。

回退方法是设置 CLAUDE_CODE_AUTO_MODE_SERVER=1,强制走服务端分类,这是 Anthropic 在 changelog 里记录的唯一回退路径。

受影响的范围是所有在 AWS Bedrock、Google Vertex AI 或 Azure Foundry 上运行 Claude Code auto 模式、且没有显式设置 CLAUDE_CODE_AUTO_MODE_SERVER=1 的团队。通过 ANTHROPIC_API_KEY 直连以及走 Claude apps gateway 的会话不受影响,它们仍然默认走服务端。

2.1.271:按命令的域名白名单和 org policy 刷新修复

这批发布里 2.1.271 的两个变更也值得关注。

沙箱模式下按命令声明 allowed_domains Bash、PowerShell 和 Monitor 工具调用现在可以声明各自需要的主机名。Gateway 随命令一起审查,仅为该命令打开这些主机,屏蔽其他。对于想要出站域名管控但不想写全局拒绝规则的团队来说,这是更精确的沙箱姿态。没有开启沙箱的会话不受此变更影响。

Org policy 缓存 bug 修复 之前版本里,切换账号、切换组织或轮换 API key 之后,缓存的 org policy 可能继续沿用旧值,直到一小时后的后台检查才刷新。这个 bug 会让切换凭证后的会话在错误的 policy 边界下运行最长一小时,允许的工具列表和可用模型集都可能是旧的。2.1.271 修复了这个问题,凭证变更时 policy 立即失效。

对于把 API key 轮换作为凭证管理流程的 gateway 部署,这个 bug 意味着旧 policy 可能在整个轮换窗口期内持续生效。修复上线后,这个窗口关闭。

内部成本分摊的计费倍率

2.1.271 还把 modelPricing managed setting(以及 Claude apps gateway 配置里的 pricing: 块)的 multiplier 字段上限从 1 提高到 10。用于内部成本分摊的标记倍率。如果你的组织按 API 成本的 3 倍向各团队内部结算来覆盖运营开销,设置 multiplier: 3 后,/cost 报告和 OTEL 遥测会自动输出含标记的完整成本。此前需要在导出后的计费流水里手动加倍率。

这个倍率对 Anthropic 的实际账单没有影响,只影响你的内部 /cost 界面和遥测数据所呈现的数字。

应该检查的 gateway 配置项

  • 开启 CLAUDE_CODE_GATEWAY_HINT_HEADERS=1,在所有走 gateway 代理的 Claude Code 部署上设置这个环境变量。这些头向后兼容,gateway 不认识的头会被转发或丢弃,不会报错。
  • 审查 Bedrock、Vertex 和 Foundry 上的 auto 模式部署,如果服务端分类器的一致性对你的授权治理有要求,在那些会话上显式加上 CLAUDE_CODE_AUTO_MODE_SERVER=1
  • 检查依赖一小时 policy 刷新的凭证轮换流程,policy 刷新修复已经上线,凭证变更时会话立即获取新 policy。这是正确的行为,但可能让之前被旧 policy 掩盖的 policy 差异浮现出来。
  • 在沙箱模式下测试 allowed_domains,如果你在 auto 模式下启用了网络沙箱,按命令声明 allowed_domains 现在是表达出站网络需求的正确方式。

提示头只需要设置一个环境变量,不需要 gateway 侧改任何代码,立刻就能开始收集数据。怎么用这些信号做路由决策,由你自己决定。

帮助与联系