Claude Code 偷偷烧钱?逆向工程揭露 7 个叠加 Bug,Max 20x 一天耗尽 43% 周配额

简介: 一位 Claude Max 20x 订阅用户仅一天就烧掉了一周 43% 的 token 配额。他逆向分析 Claude Code 源码,找到了 7 个可以叠加触发的缓存 Bug,最致命的是 Extra Usage 模式会静默将缓存时长从 1 小时降级为 5 分钟,形成"死亡螺旋"。

JeecgBoot AI专题研究 | Claude Code 缓存机制深度剖析:7 个隐藏 Bug 叠加触发的「死亡螺旋」


你的配额去哪了?

如果你最近发现自己的 Claude Code 额度消耗得莫名其妙地快——相信我,你不是一个人。

就在这几天,一位 Claude Max 20x 订阅用户发了一篇让整个社区炸锅的帖子:仅仅 4 月 1 日这一天,他就烧掉了整整一周 43% 的 token 配额。 他没有做什么异常操作,只是正常写代码。

这不是玄学,也不是 Anthropic 在悄悄限流。他花了几天时间逆向分析 Claude Code 的压缩后源码(cli.js),找到了 7 个可以叠加触发的缓存 Bug。这些 Bug 单独来看都能让你多花点冤枉钱,但叠在一起,就会形成一个把你的订阅费整包吞掉的「死亡螺旋」。

最核心的一个 Bug:Extra Usage 会悄悄关掉你的缓存

7 个 Bug 里最致命的,是关于缓存时长的一处静默降级。

在 Claude Code 的 cli.js 里,有一个函数负责向服务器申请缓存时长——要么 1 小时,要么 5 分钟。正常情况下,你会拿到 1 小时缓存,这很合理。

但这个函数里藏了一段逻辑:一旦检测到你进入了 Extra Usage(超额付费)模式,它就会静默地把缓存申请从 1 小时降级为 5 分钟,全程零提示。

这意味着什么?只要你停下来超过 5 分钟——去趟卫生间、接个电话、开个会——回来之后就是一次完整的上下文重建,费用直接从你的 Extra Usage 余额里扣。

数字很具体:以 220K 的上下文为例:

  • 1 小时缓存:每轮约 0.22 美元
  • 5 分钟缓存:每轮约 0.61 美元(贵了整整 1.8 倍

换算下来,30 美元的 Extra Usage 额度:

  • 1 小时缓存模式下:大约能撑 135 轮对话
  • 5 分钟缓存模式下:只能撑约 48 轮

更糟的是,这会触发「死亡螺旋」:其他缓存 Bug 先把计划内配额加速耗尽 → 一旦触发 Extra Usage → 客户端检测到后把缓存降为 5 分钟 → 每次短暂停顿都变成全额重建 → Extra Usage 迅速蒸发 → 被锁定等待 5 小时重置 → 循环重来。

作者验证过,服务器完全愿意提供 1 小时缓存,是客户端主动放弃申请的。修复方法很简单:给那个函数打一行补丁,让它始终返回 true。但每次版本更新后会被覆盖,需要重新打。

另外 6 个 Bug,每一个都在悄悄扣钱

Bug 1(原生安装包问题):官方提供的二进制安装文件内置了一个自定义 Bun 运行时,这个运行时会在每次请求时损坏缓存前缀。解决方式:改用 npm install 安装,并通过以下命令验证:

file $(which claude)

结果应该是符号链接,而不是 ELF 二进制文件。这个问题影响范围极广,且是静默发生的。

Bug 2(v2.1.69 ~ v2.1.90,已修复):长达 28 天、横跨 20 个版本的会话恢复 Bug。恢复会话时会丢失关键的附件类型,导致每次恢复都是完整的缓存未命中。v2.1.91 已修复,务必升级。

Bug 3(已修复):自动压缩功能没有熔断机制,压缩失败后会无限重试。作者从内部源码注释里发现,有 1279 个会话出现了 50 次以上的连续失败记录。v2.1.89 已修复。

Bug 4(工具结果截断):Bash 工具的输出上限是 30K 字符,Grep 工具是 20K 字符,超出部分被截断。截断后的残缺内容会破坏缓存前缀,让后续每一轮都无法命中缓存。

Bug 5(仍未修复):客户端会在大型对话记录中伪造假的限速错误,显示 model: synthetic、token 数为零——实际上根本没有发起任何 API 调用,纯属幻觉报错。

Bug 6(仍未修复,服务端):服务器的压缩机制会在会话进行中悄悄删除工具结果,不给任何通知,同样破坏缓存,且无法从客户端打补丁修复。

作者特别强调:这些 Bug 之间的关系是相乘而非相加。如果你同时触发了 Bug 1(原生安装包)、Bug 3(压缩无限重试)、Bug 5(Extra Usage 降级缓存),可能在不到两小时内就耗尽整整一周的配额。

哪些人受影响,哪些人没事?

评论区的自发对比揭示了一个很清晰的规律:

  • 受影响:Claude Code CLI 原生安装包(ELF 二进制)用户
  • 不受影响:VS Code 插件、桌面应用、网页版用户

一位在 WSL 环境下高强度使用 Claude Code 的用户证实,改用 npm 安装后,额度消耗速率立刻恢复正常。一直用 npm 安装的用户则表示完全没遇到这些问题。

结论很明确:这个吞额度 Bug 几乎是 CLI 原生安装包的专属灾难。

立即可以做的几件事

  1. 检查安装方式:运行 file $(which claude),确认输出是符号链接而非 ELF 二进制。如果是后者,卸载原生包,改用 npm install -g @anthropic-ai/claude-code

  2. 升级版本:确保在 v2.1.91 或更高版本,修复会话恢复附件丢失和压缩无限重试两个问题。

  3. 手动打补丁(高级):如果你有能力编辑压缩后的 cli.js,可以给缓存 TTL 函数打一行补丁,让它始终申请 1 小时缓存。记住每次更新后需要重新打。

Anthropic 的回应:透明度在提升,但仍不够

背景不只是这 7 个 Bug。过去几个月里,Claude Code 已经经历了一场信任危机:有开发者发现模型的思考深度从 1 月底的约 2200 字符,到 2 月下旬骤降至 720 字符,降幅高达 67%,3 月初更进一步跌至 560 字符。

Claude Code 负责人 Boris Cherny 不得不出面解释:redact-thinking 只是 UI 层面的隐藏,不影响实际推理;真正的行为变更是 2 月引入的「自适应思考」模式和 3 月将默认 effort 级别调为 Medium。

好消息是,最新的 v2.1.92 版本在透明度上有实质性改进:

  • /cost 命令现在会展示基于每个模型及缓存命中情况的详细费用分解
  • Pro 用户返回会话时,底部状态栏会主动提示缓存已失效,并预估下一轮将发送多少未缓存 token

总结

每当一个工具开始在用户看不见的地方,通过缩短缓存时长、隐藏思考逻辑来平衡自己的账本时,它牺牲的不只是几美金的 Token 费,更是过去积累下来的开发者信任。

当前最重要的一步:检查你的 claude 是符号链接还是 ELF 二进制。如果是后者,换 npm 安装,这一步零风险,且可能让你的 Max 订阅续命一倍以上。


本文为 JeecgBoot AI 专题研究系列文章。

目录
相关文章
|
2月前
|
缓存 人工智能 测试技术
Claude Code 一周烧掉一半配额?我从逆向工程中看到了 Agent 测试的致命盲区
Claude Code近期频现隐蔽Bug:缓存TTL从1小时骤降至5分钟、客户端截断、伪造限速等,致Token消耗暴增、用户配额“蒸发”。问题根源在于Agent系统缺乏可观测性与透明经济模型,信任危机已蔓延至整个AI工具生态。
|
机器学习/深度学习 算法 决策智能
智能解决装箱问题:使用优化算法实现高效包装
装箱问题(Bin Packing Problem)是组合优化领域中的一个经典问题,主要涉及如何将一系列对象高效地装入有限数量的容器(或“箱”)中,同时满足特定的约束条件。这个问题的目标是最小化所需使用的箱子数量或者最大化箱子的装载效率,以减少空间或资源的浪费。
|
2月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
44037 72
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
4月前
|
人工智能 监控 API
Claude Code终于有仪表盘了:3条命令装个HUD,上下文用了多少一眼就知道
老金我最近用Claude Code,遇到一个特别烦的事。 写着写着,突然蹦出来一句"context window is getting full"。 然后AI就开始犯傻了——回答变短、逻辑变乱、之前说好的方案全忘了。 每次遇到这种情况,老金我都想骂人。 问题出在哪? Claude Code的终端界面,压根看不到上下文用了多少。 你只能输入 /context手动查,但谁写代码的时候
12448 9
|
5月前
|
人工智能 运维 前端开发
Claude Code 30k+ star官方插件,小白也能写专业级代码
Superpowers是Claude Code官方插件,由核心开发者Jesse打造,上线3个月获3万star。它集成brainstorming、TDD、系统化调试等专业开发流程,让AI写代码更规范高效。开源免费,安装简单,实测显著提升开发质量与效率,值得开发者尝试。
12865 5