一个字符串,烧掉 200 美元
Claude Code 用户最近在社交平台上发现了一个令人匪夷所思的 Bug:只要 git commit message 中包含大小写敏感的字符串「HERMES.md」,Claude Code 的请求就会被错误路由到按量计费 API,而不是走用户的 Max 订阅额度。
一位 Max 20x 订阅用户(月费 $200)在一天内消耗了 $200.98 的 extra usage,而他的周额度还剩余 86%。也就是说,他不仅花光了整月订阅费,还额外倒贴了 $200。
这条推文获得了 4,623 个赞、341 次转发和 1490 次收藏,浏览量超过 148 万——是本周 AI 社区传播最广的帖子之一。
Bug 机理:路由逻辑中的字符串匹配陷阱
根据社区分析,问题的根源在于 Anthropic 内部的路由逻辑:
if commit_message contains "HERMES.md":
route_to = API_BILLING # 按量计费
else:
route_to = MAX_SUBSCRIPTION # 订阅额度
HERMES.md 是 AI Agent 项目中广泛使用的系统提示词规范文件名(Hermes Agent 等框架都采用此约定)。它不是什么 obscure edge case——它是真实存在于成千上万开发者 git 历史中的常规文件。
Anthropic 团队已承诺全额退款。
为什么这个 Bug 如此讽刺
这个 Bug 之所以在社区引发如此强烈的反响,不仅因为它烧了用户的钱,更因为它揭示了 AI Agent 生态发展的一个深层问题:
| 维度 | 讽刺点 |
|---|---|
| 命名冲突 | Agent 生态的标准文件命名,被订阅系统的字符串匹配逻辑误伤 |
| 静默扣费 | 用户在使用「自己付费订阅的产品」时被静默切换到了更贵的计费路径 |
| 规模效应 | 随着 Agent 框架(Hermes Agent、OpenClaw 等)的普及,受影响的用户数量在指数级增长 |
| 信任成本 | 开发者开始怀疑:我的 AI 工具究竟在替我工作,还是在替我花钱? |
社区自救指南
在官方修复之前,社区总结了几条缓解措施:
- 重命名文件:将
HERMES.md改为system_prompt.md、hermes.md(小写)或agent.md,避免完全匹配大写字符串 - 修改 git commit:使用
git commit --amend或git rebase -i重写包含该字符串的 commit message - 监控 extra usage:在 Anthropic 控制台设置用量告警,异常时及时暂停
- 临时降级:在确认修复前,考虑使用 API key 直接调用而非 Claude Code 订阅模式
更大图景:Agent 生态的 Growing Pain
这个 Bug 是 AI Agent 时代的第一个「荒谬级 Bug」——不是因为技术复杂度,而是因为它发生在一个看似不可能的地方:一个 Agent 框架的标准文件名,碰巧匹配了另一个产品的计费路由逻辑。
随着 AI Agent 生态的爆炸式增长(Hermes Agent v0.12、OpenClaw、MuleRun 等都在快速迭代),这类「跨系统边界」的意外冲突只会越来越多。工具链之间的边界变得越来越模糊,但计费、鉴权、路由这些基础设施层还没有跟上 Agent 时代的复杂性。
Anthropic 需要修复这个 Bug,但整个行业需要修复的是更深层的问题:当 AI Agent 开始自主编写代码、提交 commit、甚至管理自己的系统提示词时,谁来保证这些行为不会触发意外的副作用?