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 专题研究系列文章。

目录
相关文章
|
6天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
4393 17
|
17天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
23292 139
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
5天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
11622 8
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
7天前
|
人工智能 自然语言处理 数据挖掘
零基础30分钟搞定 Claude Code,这一步90%的人直接跳过了
本文直击Claude Code使用痛点,提供零基础30分钟上手指南:强调必须配置“工作上下文”(about-me.md+anti-ai-style.md)、采用Cowork/Code模式、建立标准文件结构、用提问式提示词驱动AI理解→规划→执行。附可复制模板与真实项目启动法,助你将Claude从聊天工具升级为高效执行系统。
|
6天前
|
人工智能 定位技术
Claude Code源码泄露:8大隐藏功能曝光
2026年3月,Anthropic因配置失误致Claude Code超51万行源码泄露,意外促成“被动开源”。代码中藏有8大未发布功能,揭示其向“超级智能体”演进的完整蓝图,引发AI编程领域震动。(239字)
2469 9