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

目录
相关文章
|
1天前
|
JSON 前端开发 JavaScript
基于LangChain的简易智能旅游助手Agent
本文分享基于LangChain开发的智能旅游助手Agent,支持“查天气+荐景点”双功能,对比ReAct与FunctionCall两种实现模式,并详解工具封装、记忆管理、执行框架等LangChain核心优势。代码开源,含FastAPI后端与原生HTML/JS前端。
27 3
|
1天前
|
Web App开发 Rust 前端开发
基于Rust开发的m3u8下载器:支持断点续传、边下边播
M3U8 Quicker是一款轻量(仅2MB)跨平台M3U8下载播放器,基于Tauri+Rust+React开发。支持断点续传、AES解密、边下边播、自动转MP4及Chrome一键抓取地址,让课程保存与媒体管理更高效稳定。
54 4
|
1天前
|
弹性计算 人工智能 机器人
阿里云ECS/轻量服务器+本地全平台部署OpenClaw|集成QQ机器人+千问Qwen3.6-Plus+Coding Plan大模型配置保姆级教程
2026年,开源AI自动化框架OpenClaw(曾用名Clawdbot)已成为个人与团队效率提升的核心工具,凭借“行动式AI”能力,可将自然语言指令转化为文件管理、系统控制、数据处理、社交交互等实际任务执行。本文完整覆盖2026年阿里云轻量服务器部署及本地MacOS/Linux/Windows11部署OpenClaw(Clawdbot)步骤流程及阿里云千问Qwen3.6-Plus配置或市场上免费大模型Coding Plan API配置及常见问题解答,同步新增阿里云ECS云服务器专业部署、QQ机器人全流程集成方案,所有操作附可直接复制的代码命令、可视化指引与高频问题排查方案。
64 14
|
1天前
|
安全 开发工具 git
Git 奇招:无缝接轨远程分支,解锁未合并PR的新特性!
本文手把手教你如何优雅体验开源项目中尚未合并的PR功能:从克隆原仓库、添加fork远程源、获取分支,到创建安全分支、合并并解决冲突。8步清晰流程+避坑提示,助你零基础快速上手,安全尝鲜最新特性!
35 5
|
中间件 Java
IBM was调试端口开通演示,was服务重启、端口号查看方法
IBM was调试端口开通演示,was服务重启、端口号查看方法
849 0
|
24天前
|
人工智能 JSON 自然语言处理
JeecgBoot低代码 AI Skills 实战:一句话自动生成表单系统
JeecgBoot低代码平台推出 jeecg-desform AI Skill,实现自然语言驱动表单设计,一句话自动生成完整表单系统。
137 0
|
存储 NoSQL
MongoDB无法启动,如何恢复数据?
近日有 MongoDB 用户遇到一个问题,使用 Wiredtiger 存储引擎的 MongoDB 无法启动,咨询我数据能否恢复回来,能恢复多少是多少 ... 问题出现的场景据用户描述是「mongod磁盘写满了,导致进程 crash」,尝试重新启动,结果 wiredtiger 报错,错误信息类似如下,类似的问题 mongodb jira 上也有人提过,可以参考 SERVER-26924,说明此时 MongoDB 数据文件已经损坏。
|
26天前
|
SQL 人工智能 自然语言处理
JeecgBoot低代码 AI Skills 代码生成实战:用自然语言驱动全栈 CRUD 开发
JeecgBoot低代码平台推出AI代码生成Skills,基于Claude Code实现自然语言驱动的全栈CRUD开发。支持智能字段推导、字典自动匹配、增量修改等能力,一句话即可完成从需求描述到可运行代码的全链路生成。
244 0
|
26天前
|
人工智能 前端开发 JavaScript
JeecgBoot低代码平台微信支付宝支付模块集成开发指南
在 JeecgBoot低代码平台中,支付功能采用前后端分离的标准架构:前端负责发起支付请求、展示支付界面(二维码或跳转),后端负责与微信/支付宝的服务器通信、处理回调通知、维护订单状态。 本文聚焦于前端侧的对接实现,涵盖微信扫码支付和支付宝网页支付两种主流方式。 微信支付采用"生成付款码 → 用户扫码 → 轮询结果"的标准流程。 调用 JeecgBoot低代码后端接口获取微信支付二维码: 接口返回支付二维码图片和关联的订单信息。前端将二维码渲染到页面上,引导用户使用微信扫码完成支付。
124 3