Claude Code 默认模型切到 Opus 导致账单爆炸:5 条防护建议

Claude Code 默认模型切到 Opus 导致账单爆炸:5 条防护建议

Hacker News 上有个帖子标题很直白:

Claude code now uses Opus by default – beware if you use API

有人更新了 Claude Code,没注意默认模型从 Sonnet 换成了 Opus,照常用了一天。Opus 的输出价格是 Sonnet 的 1.67 倍($25 vs $15 每百万 token),但真正拉开差距的是 Opus 的思考 token——默认 high effort 下,Opus 每次请求都会深度推理,一天下来 token 消耗可能是 Sonnet 的 3-5 倍。

帖子下面有人说"Yes! This is a big problem!"

后来 Anthropic 回退了这个默认值,但问题已经暴露出来了:如果你是 API 付费用户,Claude Code 的任何一次默认模型变更都可能直接影响你的账单。

为什么会发生

Claude Code 的模型选择逻辑有几个层次:

  1. 你显式指定的 --model 参数
  2. 环境变量 ANTHROPIC_DEFAULT_OPUS_MODEL
  3. Claude Code 内置的默认值

问题出在第三层。当 Claude Code 更新时,内置默认值可能跟着变。你没改任何配置,但用的模型变了。

更隐蔽的是 Claude Code 的 /model 菜单里有一个"Default (recommended)"选项。如果你选了这个,实际用的是什么模型取决于 Claude Code 的版本。

5 条防护建议

1. 显式指定模型,不用 Default

在启动 Claude Code 时永远带 --model

claude --model claude-sonnet-4-5

或者在项目的 .claude/settings.json 里固定:

{
  "model": "claude-sonnet-4-5"
}

不要选"Default (recommended)"——那个选项的含义会随版本变。

2. 设 API 预算上限

在 Anthropic Console 里给你的 Workspace 设月度 / 每日花费上限。一旦到限,API 返回 429,不会继续扣费。

这是最后一道防线。即使模型被意外切换了、即使 effort 设太高了,到了上限就停。

具体操作:登录 platform.claude.com → Settings → 你的 Workspace → 设 Spending Limit。

3. 监控每日花费,设告警

不要月底才看账单。Anthropic 提供了 Usage & Cost API,可以程序化地拉取每日消耗。

# 伪代码,具体接口参考官方文档
daily_cost = get_daily_usage(date="2026-02-06")
if daily_cost > DAILY_BUDGET_THRESHOLD:
    send_alert(f"今日花费 ${daily_cost} 超过阈值")

也可以在 Console 的 Usage 页面手动看。建议至少每天扫一眼。

如果你用的是 Bedrock 或 Vertex AI,花费统计在各自的云平台账单里,不在 Anthropic Console。

4. 更新 Claude Code 前先看 Changelog

Claude Code 更新很频繁。每次 npm update -g @anthropic-ai/claude-code 之前,花两分钟看一眼 Changelog。

重点关注:

  • 模型默认值变更
  • 新功能的 token 消耗影响(比如 Agent Teams 标注了 "token-intensive")
  • Beta 功能的默认开启状态

Changelog 在 GitHub:https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md

5. 用独立的 API Key

给 Claude Code 一个专用的 API Key,跟你的生产业务 Key 分开。这样即使 Claude Code 的消耗超预期,也不会影响生产服务的配额。

在 Anthropic Console 里创建一个新 Key,只给 Claude Code 用。可以给这个 Key 设独立的 rate limit。

真实损失有多大

算一笔账。一个工程师每天用 Claude Code 写代码,大概 50-100 次交互。

Sonnet 4.5($3/$15):假设每次平均输入 5K token + 输出 2K token(含少量思考),每天约 500K 输入 + 200K 输出 = $1.50 + $3.00 = $4.50/天

Opus 4.6 high effort($5/$25):每次输入 5K + 输出 8K(含大量思考 token),每天约 500K 输入 + 800K 输出 = $2.50 + $20.00 = $22.50/天

差了 5 倍。一个月 22 个工作日,$99 vs $495。

如果团队有 10 个工程师,一个月多花 $3,960。如果没人发现这个变更,跑一个季度就是 $11,880。

这不是假设——HN 帖子的讨论里就有人说"我看到账单才发现模型被换了"。

更深层的问题

这件事暴露的不只是 Claude Code 的默认值管理问题。它说明了一个更普遍的风险:当 AI 工具成为日常基础设施,它的配置变更对成本的影响跟服务器扩容一样大

你不会让运维工具自动把 EC2 实例从 t3.small 升到 r5.4xlarge 而不通知你。同样的逻辑应该适用于 AI 模型的选择。

把模型选择当成基础设施配置来管理——固定版本、设预算、开告警、审查变更。这些在传统运维里是常识,在 AI 工具链里同样适用。


参考链接

  • HN 讨论帖:https://news.ycombinator.com/item?id=45101223
  • Claude Code Changelog:https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
  • Anthropic Usage & Cost API:https://platform.claude.com/docs/en/build-with-claude/usage-cost-api
← 返回博客列表