Claude Code 2.1.218 修复了一个无声的 Bedrock 计费 Bug:所有使用 ARN 映射模型的运营者都必须审计历史成本日志
Claude Code 至少从 2026 年 2 月起,就将所有 Bedrock application-inference-profile ARN 流量归因为同一个模型 ID,导致 Haiku 和 Opus 的成本都显示为约 $0.23/次。2.1.218 版本修复了 ARN 解析逻辑——但你此前的网关成本日志是错的。
归档条目:由 AI 根据所引信源辅助生成,发布时未经逐篇审阅。责任编辑:Joe Werner。

上周之前,如果你通过 AWS Bedrock 的 application-inference-profile ARN 路由 Claude Code 请求,网关的计费计量器对所有模型的"认知"是一致的——Haiku 4.5、Sonnet 4.6 和 Opus 4.6 每次调用都记录约 $0.23 的成本。计费信号完全扁平。但你 AWS 账单上的实际支出并非如此。
本周发布的 Claude Code 2.1.218 修复了这个问题。CHANGELOG 中的描述仅有一行:"Fixed gateway spend metering to price Bedrock application-inference-profile ARNs and other config-mapped upstream model IDs at the configured model's rates."(修复了网关计费计量,使 Bedrock application-inference-profile ARN 及其他配置映射的上游模型 ID 按照配置模型的费率计价。)
追踪这个问题的 GitHub Issue(anthropics/claude-code#27890)自 2026 年 2 月 23 日起一直处于开放状态——将近五个月。
问题根源
Bedrock 有两种引用模型的方式:直接模型 ID(如 anthropic.claude-haiku-4-5-20261231-v1:0)和 application-inference-profile ARN(如 arn:aws:bedrock:<region>:<account>:application-inference-profile/<id>)。ARN 路径是企业级标准方案:它支持跨区域推理、按团队的费用标签、AWS Cost Explorer 归因以及 Bedrock Guardrails 执行。大多数规模化管理 Bedrock 的团队使用的是 ARN,而不是直接模型 ID。
Claude Code 的网关计费计量器能正确解析直接模型 ID,但对 application-inference-profile ARN 采用的是不透明字符串处理方式——从未解析其背后的实际模型。计量器将接收到的 ARN 字符串作为 modelUsage 的 key,并套用一个固定的每次调用成本,无论该 ARN 指向的是 Haiku 还是 Opus。
实际影响是形成了一个"计费下限":所有 Bedrock ARN 流量都注册为大致相同的成本,恰好接近 Opus 的定价水平。使用 ARN 运行 Haiku 4.5 的团队看不到预期中数量级的成本差异;绘制各模型成本趋势图时,所有 Bedrock 流量呈现一条平坦的直线。
与计费一同崩溃的还有三个功能:自适应思考(Adaptive Thinking,仅对特定 Sonnet/Opus 家族激活)、模型专属 beta header(部分 header 对 Haiku 应当省略)以及 /model 选择器(无法将 ARN 反向映射到可选的模型名称)。这四个问题共享同一个根本原因——ARN 到模型 ID 的解析步骤缺失。
运营者的账务盲区
Claude Code 在 Bedrock 原生计费之上运行了自己的支出账本。这种双层账务设计意味着两套系统可能产生分歧:你的 AWS Cost Explorer 中可能显示正确的 Bedrock 费用(因为 AWS 追踪的是实际模型调用),而 Claude Code 的 /cost 显示、状态栏支出指示器以及 OpenTelemetry modelUsage 指标则显示不正确的模型归因。
对于将 Claude Code 内置成本信号用于以下场景的运营者,这个差距至关重要:
- 在网关层面执行团队支出限额
- 基于累计成本阈值在模型层级之间切换路由
- 向 Datadog、Grafana 或内部看板导出 OpenTelemetry 成本指标
- 基于模型层级对项目团队进行成本回溯
如果以上任何场景适用于你,且你在 2.1.218 之前使用的是 Bedrock application-inference-profile ARN,那么你网关侧的成本记录已经将所有模型层级归因到了同一个 ARN 字符串。AWS 侧的记录是正确的;Claude Code 侧的记录并不准确。
修复路径与需要做的事
升级路径:将 Claude Code 固定到 >= 2.1.218。对于使用系统托管配置(claude.ai/settings)或 Bedrock 企业部署的团队,在信任成本指标之前,请确认更新已传播到所有活跃会话。
审计范围:在你的团队使用 application-inference-profile ARN 的时间段内,历史 /cost 快照、OTel modelUsage 导出以及依赖 Claude Code 各模型成本拆分的网关支出看板均受到影响。如果你已将这些指标导出到下游系统,请重新计算该时间窗口内的所有成本归因或成本回溯数据。
路由策略影响:如果你的路由逻辑将 Claude Code 进程内的成本信号作为模型层级选择器——例如在累计成本超过阈值时从 Sonnet 切换到 Haiku——则该逻辑在 ARN 配置的 Bedrock 会话中一直在基于错误数据运行。请在升级后验证修正后的解析逻辑是否改变了你设定的任何阈值。
直接模型 ID 回退方案:如果你的 Bedrock 配置允许,切换为直接模型 ID(而非 application-inference-profile ARN)可以立即获得可验证的成本归因,而无需依赖 ARN 解析。对于必须使用 ARN 的团队(跨区域推理、Guardrails、费用标签),2.1.218 的修复是正确的解决路径——但在完全信任新的成本输出之前,请针对你的具体 profile ID 验证解析是否正常工作。
TheRouter 用户需要关注的事
本文描述的双层账务问题——网关的内部成本计量器与上游 provider 计费产生偏差——并不只存在于 Bedrock ARN 的场景中。任何将上游模型标识符映射到内部记录的 router 或网关,都可能在 provider 更改模型 ID 方案时出现解析缺口。正确的架构模式是:在记录任何成本或路由指标之前,将上游标识符解析为规范的模型 ID,而不是以原始上游标识符作为账务 key。
对于通过 TheRouter 使用 Bedrock 或其他支持别名式模型引用的 provider 的运营者,请确认你的网关在记录日志之前将别名解析为底层模型 ID。如果你的内部看板显示各模型层级之间成本曲线异常平坦,这类解析缺口是第一个需要排查的方向。参考 TheRouter 的路由文档 了解模型 ID 规范化如何融入请求处理路径。
相关阅读
AI 路由新闻与供应商动态 →
Claude Code 2.1.273:五个新网关提示头和 Bedrock、Vertex、Foundry 上的分类器切换
Claude Code 2.1.273 推出可选开启的网关提示头,向任何 LLM 代理暴露请求类型、agent 类型和上下文压缩状态,同时在 Bedrock、Vertex AI 和 Foundry 上静默切换 auto 模式分类器为本地模式。两个变更一起落地,但只有其中一个有回退路径。

Claude Code 2.1.268:一个沉默三个版本的网关故障,以及四项新的运营控制
从 2.1.265 起,所有通过第三方 Anthropic 兼容端点的请求都在以 HTTP 400 失败。2.1.268 修复了这个问题,并新增了 gatewayInternalNetworks CIDR 策略、gateway.yaml 定价同步,以及 Bedrock/Vertex/Foundry 提示词缓存字节稳定性改进。

Claude Code 数据驻留工作区现在多收 1.1 倍费用,路由选择直接影响账单
Claude Code 2.1.239 开始在 /cost 和状态栏里把数据驻留工作区的 1.1 倍美国专属推理溢价算进去。通过 Bedrock 或 Vertex 路由的团队天然绕开这笔加价,对 provider 选择意味着实际的路由决策。