Claude Code 用量为什么掉得这么快:原因 + 7 招省着用(2026)

付费套餐刚到中午就提示用量超限?多半是默认跑 Opus、子代理并行烧 token、MCP 吃掉三分之一上下文这几件事。本文教你用 /usage 和 /context 定位元凶,给出 7 招把套餐撑长几倍,并讲清 5 小时窗口和周限的区别。

Claude Code 用量为什么掉得这么快:原因 + 7 招省着用(2026)

你早上 9 点打开 Claude Code,丢给它一个重构任务,到中午它就告诉你用量已经超限了。而你用的是付费套餐。这是眼下 Claude Code issue 区里最常见的抱怨之一,而原因几乎从来不是计费 bug,而是配额本身的结构,再加上几个默认行为在悄悄烧。

把一个 Claude Code 套餐烧干最快的办法,就是一边在常规活上跑 Opus,一边让三个子代理在背后扇出。这每一项都是你以为的 token 开销的好几倍。

这是一篇针对订阅套餐限额的排查指南,讲的是 Pro 和 Max 上那堵「你已达到用量上限」的墙。如果你用的是 API key,撞到的是 429 Rate Limit Reached,那是另一回事、另一套解法,见《Claude Code 撞到 429 rate limit:原因和修复》

30 秒快速诊断

跑两条命令,再把你的症状对到下面的成因上。

步骤命令它告诉你什么
1/usage对照 5 小时会话限额和周限的消耗情况
2/context当前窗口里加载了什么。盯紧「MCP tools」那一行
症状最可能的原因最快的修法
中午就超限,会话条很高常规活也默认跑 Opus/model 切到 Sonnet
会话才 2% 却「用量超限」周限用光了,不是会话等 7 天重置或转 API
限额在代理跑的时候掉得飞快子代理扇出(约 7 倍 token)在 frontmatter 里把子代理钉到 Sonnet/Haiku
还没怎么打字配额就没了MCP 服务器加载了巨大的工具定义/context,再删掉没用的服务器
账单或配额半夜暴涨自动接受 / 后台循环控住推理强度,关掉空跑的后台任务

如果你的用量本来就在控制中,只是现在想要更多余量,直接跳到升级路径。这里到那里之间的所有内容,都是为了让一个套餐撑得更久。

什么时候该修、什么时候该换、什么时候该停

不是每堵限额墙都值得硬碰,所以在花一下午做优化之前先定好策略。正确的做法完全取决于你撞的是会话限额还是周限。

  • 在会话内解决:当 /usage 显示重负载时 5 小时会话限额被打满、但周条还有空间。把默认切到 Sonnet、激进地 compact、削减 MCP,之后你通常就能待在会话窗口内了。
  • 换模型:当问题全部出在某个 Opus 驱动的工作流上。把子代理和默认模型都钉到 Sonnet,往往能让套餐撑长一两倍,不用动别的。
  • 换计费方式:当 /usage 显示周的全模型上限已经用尽、而 7 天重置还有好几天。没有任何会话内优化能让周限提前恢复。到这一步,要么升一档,要么转按量计费。
  • 停止优化:当你已经削过 MCP、也路由过模型,/usage 还是掉得飞快。说明你的真实用量已经长得超出套餐了,答案是升级路径

一个快速的自检:如果你的报错和重试率都很低、只在偶尔的重负载冲刺时才撞到上限,那会话内的修法就够了。如果你每天下午都会撞墙,那你面对的是计费模式的问题,不是使用习惯的问题。

用量为什么掉得这么快:是两条限额,不是一条

大家会被吓到的核心原因,是 Claude Code 强制执行两条互相独立的限额,而周限在咬到你之前是看不见的。5 小时限额是一个滚动的会话窗口,从你发第一条消息开始,5 小时后重置。周限是另一条独立的 7 天上限,在 Max 套餐上还有两条:一条覆盖所有模型,一条只管 Sonnet,详见 Anthropic 自己的用量文档

这两条按不同的时钟重置。一个忙碌的周末可能让你周一会话超限、但周限还有富余,或者反过来周限用光、会话却有余。撞到周限会把用量锁到它自己的 7 天重置为止,哪怕你当前 5 小时会话还有额度。等 5 小时不管用。

还有一件事会绊倒大家:Anthropic 不再公布固定的每窗口提示数、每周小时数。它现在公布的是相对容量。Max 5x($100/月)给你 5 倍于 Pro 的单会话用量,Max 20x($200/月)给你 20 倍,详见 FrankX 的定价拆解。所以没有公开的 token 数字可以拿来做预算,你只能读 /usage,摸出自己的天花板。

flowchart TD
    A[第一条消息] --> B[5 小时会话窗口开始]
    B --> C{撞到会话限额?}
    C -->|是| D[锁定,5 小时后重置]
    C -->|否| E{撞到周的全模型上限?}
    E -->|是| F[锁定,等 7 天重置<br/>即使会话还有余量]
    E -->|否| G{撞到仅 Sonnet 周限?<br/>仅 Max 套餐}
    G -->|是| H[Sonnet 锁定,其他模型可能还能跑]
    G -->|否| I[继续工作]

如果 /usage 显示会话很低、你却还是撞墙,那就是周限。有一个已知的 Claude Code issue:会话条读数是 2%,限额却在 32% 的周用量上触发。那里的修法就是信周的数字,别信会话条。

你会看到的几种限额状态,各是什么意思

这些不是 HTTP 错误码,而是 Claude Code 暴露出来的限额状态。读对了,你才知道该等、该换模型、还是该换计费方式。

你看到的状态什么意思范围何时解除
”You’ve hit your usage limit”撞到 5 小时会话限额当前会话,所有模型滚动的 5 小时重置时
”Weekly limit reached”撞到 7 天全模型上限所有模型、所有会话仅 7 天重置时
”Sonnet weekly limit reached”(Max)撞到仅 Sonnet 的 7 天上限仅 Sonnet,其他模型继续仅 7 天重置时
会话百分比很低却”Limit reached”几乎都是周限在触发是周限,不是会话仅 7 天重置时
轻度使用时会话条卡在 100%已知的显示 bug只是显示问题,去 /usage 看真值重启,或者信 /usage 的数字

陷阱在第四行。大家看到一个崭新的会话条、读到「Limit reached」、然后就去提 bug。几乎每一次都是周限在生效,而周限是会话条不显示的。在断定哪里坏掉之前,先跑 /usage,读周的那一行。

症状、原因、修法

这张表把整篇文章浓缩在一处。每个原因都对应下面的一个修复小节。

症状原因修法
套餐中午就空了Opus 是默认模型/model 把默认设成 Sonnet,Opus 留给硬骨头
会话 2% 时「Limit reached」周限用光了/usage 里的周数字,等重置或转 API
代理工作时掉得最快子代理继承 Opus、各跑独立上下文(约 7 倍)在每个子代理的 frontmatter 里路由模型
还没干正事配额就烧光MCP 工具定义占 200k 窗口的约 33%删服务器,让 MCP Tool Search 延迟加载
上下文反复重新计费缓存前缀在会话中途失效会话一开始就锁死工具和模型,干净地 /compact/clear
半夜暴涨自动接受和后台循环无人值守地跑按 prompt 设推理强度,关掉空跑的后台任务

第 1 招:默认用 Sonnet,把 Opus 留给硬骨头

切换默认模型是单个杠杆里最大的一个。Opus 每一轮的开销是 Sonnet 的好几倍,Sonnet 又比 Haiku 贵。按 API 价算就是 Opus 4.8 每百万输入/输出 token $5/$25,Sonnet 4.6 是 $3/$15,Haiku 4.5 是 $1/$5,详见 FrankX 定价。算上 Opus 更重的推理后,真实场景里每轮的差距比标价比例还要大。

把 Sonnet 设为你的工作默认,只在真正硬的部分才把 Opus 拉出来:架构决策、棘手的调试、任何答错就要赔上一小时的活。用 /model 切换。对大多数编辑、重构和写测试来说,Sonnet 的产出几乎看不出差别,却能让你的周限多撑好几倍。Opus 到底什么时候才值这个钱,更深的机理在我们的《Claude Code Token 优化:把账单砍 60-90% 的 5 个策略》里。

还有一个值得改的设置:推理强度(reasoning effort)。对多数任务来说,默认推理烧的 token 大约是 medium 的 2 倍。按 prompt 单独设强度,别一直挂在全局 high 上,把 high 留给真正需要它的问题。

第 2 招:别让子代理在后台并行烧 Opus

子代理扇出是最安静的一种抽干,因为你打字的时候它根本不露面。每个子代理在一个全新的上下文窗口里跑自己的 API 请求。它不继承你的会话,所以会重新读它需要的东西、各自计费各自的调用。当队友们在 plan 模式下跑起来时,代理团队能用大约 7 倍于标准会话的 token。有个开发者烧穿了 Max 20x,结果发现 85% 的用量来自子代理密集的会话。

陷阱在于:多数配置让每个子代理都继承主会话的模型,而那通常是 Opus。于是每个 worker 都在不需要 Opus 质量的任务上付 Opus 的价。在每个 worker 的 frontmatter 里显式路由:

---
name: test-writer
model: sonnet   # not the parent's Opus
---

光是模型路由就能把子代理那一项开销砍掉约 30%。对改名、重复编辑、查文档这类机械活,把这些 worker 降到 Haiku。如何把重的规划和便宜的执行拆开,见我们的《一个 API 路由多模型,把贵活和便宜活分开》

还有第二个更隐蔽的子代理开销:重复读取。因为子代理是冷启动,它会重新读父代理已经加载过的文件。把子代理的 prompt 写窄一点,别让它把半个仓库又扫一遍。一个被告知「修好 auth_test.py 里那个失败的测试」的 worker 只读一个文件;一个被告知「提升测试覆盖率」的 worker 会读二十个。

第 3 招:在 MCP 服务器吃掉窗口之前先削它

MCP 服务器在你还没做任何事之前就开始收费。七个连着的 MCP 服务器在会话开始时能吃掉 67,300 token 的工具定义,相当于 200k 上下文窗口的 33.7%。每个工具的目录是 200 到 800 token 的描述文字加上 schema,再乘以每个服务器约 50 个工具,详见 Async Let 的分析。这份开销跟着每一轮跑,所以它对你周限的累积很快。

两个动作:

  1. 审计并禁用。/context,看「MCP tools」那一行。两周没用过的服务器就禁掉。用项目级配置,让只跟当前仓库相关的服务器加载。
  2. 让 Tool Search 延迟加载。 Claude Code 的 MCP Tool Search(v2.1.7+)会在活跃的 MCP 工具描述超过上下文预算的 10% 时自动延迟加载工具。它生效之后,/context 里的「MCP tools」一行应该会明显下降,你就在那里直接确认它在工作。

如果你常年挂着几个服务器,/context 是你最快的审计手段。常见结果是发现两三个你早忘了自己连过的服务器,每个都在每次会话里悄悄吃掉五位数的 token。

第 4 招:用 /compact/clear 的纪律把缓存焐热

上下文卫生保护的是你的 prompt 缓存,而一个热的缓存就是你大部分的省钱来源。Prompt 缓存能把缓存命中的输入成本大幅压下来。命中率在默认的 5 分钟 TTL 上约 90% 算健康,在 1 小时 TTL 上能爬到约 97-99%,详见 Product Compass 的成本指南。会杀掉它的,是会话中途增删工具——那会让缓存前缀失效、强制全量重读。会话一开始就把工具和模型锁死。

然后有意识地管理窗口:

  • 在用量约 50% 时、或每完成一个独立任务后,/compact 一下,让旧轮次被摘要、而不是每轮都把全文重发。
  • 在不相关的工作之间 /clear。开一个干净的窗口,胜过把一小时的陈旧上下文拖进新任务。
  • 盯住自动接受和后台循环。一个无人值守、不断重新发 prompt 的循环,能在你睡觉时整夜抽干一个会话。走开之前先控住推理强度、关掉空跑的后台任务。

按套餐档位分的修法

同样的几种抽干在每个套餐上都成立,但随着你往上升档,正确的杠杆会变。下面是每个档位该先盯的地方。

Free / Pro 档

Pro 的周空间最紧,所以模型纪律最重要。默认用 Sonnet,在 Pro 套餐上干脆别搞子代理扇出(那是清空一个小配额最快的办法),并且早早 /compact。Pro 也没法在常规活上靠 Opus 还不付双倍代价。如果你在这一档撞了周墙,要么该上 Max,要么在重负载的日子转按量 API 计费。

Max 5x / Max 20x 档

Max 套餐有跑子代理的余量,但 Max 用户恰恰栽在这上面。Max 特有的最大一招,就是在 frontmatter 里给每个子代理路由模型,让它们别再继承 Opus。Max 还带第二条仅 Sonnet 的周限,所以如果你为了省全模型上限把一切都切到 Sonnet,那也得盯住 /usage 里的 Sonnet 那一行——你完全可能在全模型上限还有余量时把 Sonnet 上限用尽。

Team / Enterprise 档

按席位的套餐里,用量从一个池子里扣,按滚动窗口重置,详见 Anthropic 文档。这里的修法是组织层面的:一套共享的模型路由约定让全团队默认 Sonnet,一份精简的、提交进仓库的 MCP 配置让没人会加载十个服务器,再加一个备用 API key 应对池子见底的日子。对那些经常撞到池子上限的团队,一个计量网关能给你一条溢出车道,而不用重新谈席位。

我们观察到的常见失败模式

套餐限额没有公开的故障史,因为这不是服务宕机的问题,而是一组重复出现、把配额烧得比预期快的行为。下面这些就是反复冒头的模式。

模式看起来什么样为什么掉得快
默认跑 Opus常规编辑下午早早就把套餐烧空Opus 每轮是 Sonnet 的好几倍
子代理扇出代理跑的时候配额暴跌,打字时没事每个子代理跑自己的上下文,约 7 倍 token
MCP 臃肿还没干正事配额就没了工具定义开局就能占窗口的约 33%
缓存抖动小轮次也居高不下的 token 用量会话中途改工具让缓存前缀失效
幻影限额会话条几乎是空的却「Limit reached」周限在触发,有时是显示 bug
整夜循环早上起来配额没了,键盘前没人自动接受循环无人值守地不断重发

绝大多数「我的限额坏了」的报告都能对到这六行中的一行。尤其是幻影限额这一类,占了相当大一部分的困惑,因为会话条和周限是两个不同的数字,而默认只有一个看得见。

2026 年 6 月的计费风波:到底发生了什么

什么都没变,但这场虚惊是真实的、值得搞清楚。Anthropic 宣布 Agent SDK 和 claude -p 的用量将从你的订阅里挪出去,改成一份单独的、按美元计的月度额度,按标准 API 价计费:Pro $20,Max 5x $100,Max 20x $200,不滚存。

然后,在 6 月 15 日生效日之前,Anthropic 暂停了它。这些用法仍然和以前一样从你的 Pro、Max 订阅限额里扣。没有什么额度要领,你的限额没变。Anthropic 说它在重做这个方案,未来再改会提前通知。

这对你意味着什么:别围着一个还不存在的额度池去重构你的工作流。上面那些修法瞄准的是今天真正生效的限额。

日期(2026)变更状态
5 月 6 日5 小时限额翻倍(Pro/Max/Team/Enterprise),取消高峰时段限速已生效
5 月 13 日周限上调 50%,持续到 7 月 13 日(促销)已生效,限时
6 月 15 日Agent SDK 和 claude -p 移到单独的额度池已暂停,未生效

当套餐还是不够用:按量计费这条路

如果 /usage 显示你的周限用尽、又等不及重置,唯一真正能逃离套餐天花板的办法是计量计费。在「每天主力工具」的用量下,订阅更便宜。在那个负载上,同样的 token 按原始 API 价算,大约比 $100 的 Max 5x 固定费贵 2 到 2.5 倍。但订阅会在周限处硬停你,而按量计费根本没有周限。

对于突发的、无头的、不可预测的活,计量计费完胜。像 ofox 这样的 OpenAI 兼容网关,可以让 Claude Code(或任何 OpenAI-SDK 客户端)指向一个 key,按 token 计费、没有套餐天花板,并且在 Claude、GPT、Gemini 模型之间随意切换、不用周旋于多个供应商账户:

export ANTHROPIC_BASE_URL="https://api.ofox.ai/v1"
export ANTHROPIC_API_KEY="sk-ofox-..."
# Claude Code now bills per token, no weekly cap

在代码里,model 字符串和你在别处用的形状一样:

client.chat.completions.create(
    model="anthropic/claude-sonnet-4.6",  # one key, swap to opus/gpt/gemini freely
    messages=[{"role": "user", "content": "refactor this module"}],
)

老实说的取舍:如果你是个每天重度用、但用量始终在某个套餐限额内的人,那就留着订阅。计量计费真正划算,是在你的用量足够忽高忽低、永远到不了一个订阅的月度价值时,或者是在你不停撞周墙、而重置又远得等不起时。

被限额锁住时的替代方案

当周墙在任务中途砸下来,下面是几条现实可行的出路,ofox 列在第一位,因为它是这里唯一没有周限、且一个 key 背后挂着多个模型的选项。

选项无周限一个 key、多个模型最适合
ofox API(按量计费)是(Claude/GPT/Gemini)突发、无头、多模型的活,逃离周墙
Anthropic Max 20x否(仅 Anthropic)每天重度但始终在一个套餐内
直连 Anthropic API key否(仅 Anthropic)仅 Anthropic 的自动化、CI 任务
等重置不适用不适用7 天窗口接近尾声的轻度用户

套餐限额不是一个要去提的 bug,而是一份你可以读的预算。跑 /usage、默认用 Sonnet,那堵你中午就撞上的墙,就挪到了周末。

如果你在任务中途被锁、而重置还有好几天,务实的做法是保持同一套工作流,只改 token 在哪里计费。关于「你看到的到底是个限额还是个彻底的报错」这个更大的问题,以及一套更安全的默认配置,见《Claude Code 安全模式指南》

怎么在撞墙之前盯住你的用量

这一切的意义,是让你再也不被突然袭击。三条命令就能给你需要的一切,不用任何外部工具。

  • /usage 是你的仪表盘。会话开始时看一次,任何重负载代理跑之前再看一次。会话那一行和周那一行都要读,因为偷袭人的是周那一行。
  • /context 显示此刻加载了什么。如果「MCP tools」那一行很大,那你在真正干一轮活之前就有一个削减的机会。
  • /cost 按 API 价报当前会话折算成多少钱,这是最快感受到一个 Opus 密集会话到底有多贵的办法。

养成会话一开始就快速 /usage/context 的习惯。两秒钟的阅读,能挡掉那个把你带到这里的「中午就被锁」。

FAQ

为什么我的 Claude Code 用量掉得这么快? 通常是默认跑 Opus、子代理扇出、或 MCP 臃肿。Opus 每轮的开销是 Sonnet 的好几倍。子代理各跑自己的上下文窗口,token 大约是单线程的 7 倍。七个 MCP 服务器能在你打字之前吃掉三分之一的窗口。跑 /usage/context 找出是哪一个。

5 小时限额和周限有什么区别? 5 小时限额是一个滚动的会话窗口。周限是一个 7 天上限,Max 套餐有两条(全模型和仅 Sonnet)。它们按不同时钟重置,所以你可能撞到一条、另一条却敞着。

就算 5 小时会话是新的,撞到周限也会被锁吗? 会。周限会把用量锁到它自己的 7 天重置为止,不管会话还有多少余量。等 5 小时没用。

怎么查还剩多少用量? /usage 看会话和周的消耗,/context 看加载了什么,/cost 按 API 价看会话折算成多少钱。

Anthropic 在 2026 年 6 月 15 日改 Claude Code 计费了吗? 没有。计划中的 Agent SDK 额度池改动在生效前被暂停了。订阅限额没变。

从 Opus 换成 Sonnet 能让套餐撑更久吗? 明显能。Opus 每轮贵好几倍。用 /model 把默认切到 Sonnet,把 Opus 留给硬骨头。

为什么会话才 2% 却说「用量超限」? 那是周限在触发,不是会话限额。偶尔是一个已知的显示 bug:本地用量很低时会话条跳到 100%。信 /usage 里的周数字。

我能同时用 Claude Pro 套餐和一个 API key 吗? 能。很多开发者平时跑订阅,在用尽周限的日子把 Claude Code 切到一个计量 API key,重置后再切回来。base URL 和 key 都是环境变量,所以切换就是两行。

本次更新核对过的资料