Claude Code 额度省着用:模型选择、上下文、缓存与 /compact

整理 Claude Code 和 Claude Pro/Max 额度容易耗尽的原因:模型选择、5 小时用量窗口、长对话、文件和图片、缓存失效、CLAUDE.md、MCP 与 skills,并给出 /compact、/clear、/context、/status 等实用习惯。

最近很多人在用 Claude Code 或 Claude Max 时会遇到一个问题:明明买了 Pro、Max 5x,甚至 Max 20x,结果没跑多久就提示额度快满,或者直接需要等重置。尤其是在大项目里让 Claude Code 读很多文件、修复杂 bug、跑长任务时,这种感觉会更明显。

这里先说结论:额度不是按“时间”线性扣的,而是和模型、上下文长度、附件、代码库规模、对话历史、工具调用和当前容量都有关系。同样 5 小时窗口,有的人能用很久,有的人十几分钟就耗尽,通常不是账号坏了,而是每次请求都太重。

这篇整理一套比较实用的省额度习惯。

01 先理解 Claude 的用量窗口

Claude Pro 和 Max 都有使用限制,Claude Code 的使用量会和 Claude 网页、桌面、移动端共享同一套订阅额度。官方说明里提到,消息数量会受到消息长度、附件大小、当前对话长度、所用模型或功能影响;Claude Code 还会受到项目复杂度、代码库大小、自动接受设置等影响。

大致可以这样理解:

  • Pro:适合轻量使用和小项目。
  • Max 5x:适合更频繁使用和较大的代码库。
  • Max 20x:适合更重度、日常高频协作。
  • 用量窗口按 5 小时会话重置。
  • 长消息、长对话、大文件、复杂任务会更快消耗额度。
  • Opus 这类更强模型会比 Sonnet 更快触发限制。

所以“我只用了 20 分钟”这个说法不一定能说明问题。真正重要的是这 20 分钟里 Claude 读了多少上下文、用了什么模型、是否反复处理大文件、是否在同一个长对话里继续加任务。

02 第一件事:不要默认一直用最贵模型

Claude 系列里常见的定位是:

  • Opus:能力最强,适合复杂推理、架构决策、疑难 bug。
  • Sonnet:能力和成本比较均衡,适合大部分日常编码任务。
  • Haiku:更轻量,适合简单分类、摘要、格式转换等任务。

日常写脚本、改小 bug、整理文档、解释代码,大多数时候 Sonnet 已经够用。Opus 更适合留给这些场景:

  • 复杂架构设计。
  • 多文件深度重构。
  • 难复现的 bug。
  • 需要长链路推理的排障。
  • 普通模型明显卡住的任务。

Claude Code 里可以用 /model 切换模型,也可以在 /config 里设置默认模型。比较稳的习惯是:默认 Sonnet,关键节点再切 Opus,而不是整场任务都用 Opus 扛。

03 第二件事:控制上下文,不要让旧任务拖着走

上下文越长,Claude 每次处理要看的内容越多,额度消耗也越高。Claude Code 官方文档明确建议主动管理上下文:

  • 换到不相关任务时,用 /clear 清空历史。
  • 当前任务做完一个阶段但还要保留重点时,用 /compact 压缩。
  • 想知道上下文里什么占空间,用 /context
  • 想持续看到状态,可以配置 status line。

一个好用的节奏是:

1
2
3
4
小阶段完成:/compact
大任务结束:/clear
切换无关项目:/clear
上下文接近很高占用:提前 /compact

/compact 会把前面的对话压成摘要,保留关键任务状态、结论、文件路径、待办事项,但减少后续每次请求要携带的历史。你也可以给它补一句重点:

1
/compact 保留已修改文件、测试结果、剩余待办和关键设计决策

不要等自动压缩才处理。官方文档提到,Claude Code 会在上下文接近容量上限时自动压缩,但手动在阶段边界压缩,通常更可控。

04 第三件事:长对话和大文件会让每次请求变贵

很多人以为“我只是继续问一句”,应该很便宜。但在长对话里,这一句背后可能带着大量历史、文件摘要、工具定义和系统规则。

特别容易涨上下文的东西包括:

  • 一直不清理的长对话。
  • 让 Claude 读完整大文件。
  • 贴很长日志、构建输出、测试输出。
  • 一次性塞很多截图或图片。
  • 让它反复扫描整个仓库。
  • 过长的 CLAUDE.md
  • 开了很多 MCP server。

比较省的做法是:日志只贴关键报错,测试输出只给失败部分,大文件让它先用 rgheadtail、符号搜索定位,再读必要片段。能用命令行过滤的内容,不要整包塞进上下文。

05 第四件事:理解缓存,但不要迷信缓存

Anthropic 的 Prompt Caching 会缓存重复的 prompt 前缀。默认缓存生命周期是 5 分钟,也支持 1 小时缓存。缓存命中时,重复的大段上下文不需要完整重新处理,有助于降低成本和改善额度利用。

但缓存有几个限制:

  • 需要内容完全匹配,文字和图片都要一致。
  • 默认缓存是短生命周期。
  • 改模型、改工具、改系统提示、改上下文结构,都可能降低命中。
  • 输出 token 不会因为缓存而消失,该生成的回答仍然要生成。
  • Claude Code 具体如何利用缓存,是产品层实现细节,不要把它当成永远稳定的“免费记忆”。

实际使用里,最重要的不是研究缓存细节,而是保持会话稳定:

  • 同一阶段尽量别频繁切模型。
  • 不要中途反复改大量规则。
  • 不要在同一任务里不停贴新图片。
  • 长任务中间不要闲置太久后又继续塞大请求。
  • 阶段结束主动 /compact

这样更容易让重复上下文保持可复用,也能降低后续请求负担。

06 关于高峰时段:能避开就避开,但不要当固定公式

网上常有人说某些时段额度会更紧。官方帮助中心的表述更谨慎:可发送数量会受到 Claude 当前容量、对话长度、附件、模型和功能影响。也就是说,高峰容量确实可能影响体验,但不要把某个地区的某个时间段当成永久固定规则。

实用建议是:

  • 大重构、大批量分析尽量放到自己网络和服务都稳定的时段。
  • 不要在快到休息时开启一个超长任务。
  • 预计会离开很久时,先 /compact/clear
  • 如果只是小改动,不要开 Opus 加长上下文硬跑。

这比记一个固定“几点到几点不能用”的规则更可靠。

07 精简 CLAUDE.md、rules、MCP 和 skills

Claude Code 会在会话中加载项目规则、工具信息和一部分环境上下文。官方文档也建议把通用规则和专用规则分开,避免每次启动都带着一大包不相关内容。

比较推荐的拆法:

  • CLAUDE.md:只放全局都适用的核心规则。
  • rules:放特定路径、特定文件类型才需要的规则。
  • skills:放特定工作流,例如发文章、部署、生成图片、提交代码。
  • MCP:只启用当前任务真的会用到的 server。

如果 CLAUDE.md 写了几百上千行,每次会话都要带进去。更好的方式是把“偶尔才用”的流程移到 skill 里,需要时再调用。

MCP 也是一样。工具多不等于效率高。Claude Code 文档提到可以用 /mcp 查看并禁用不需要的 server,也可以用 /context 看是什么占用了上下文空间。

08 实用指令清单

日常最常用的是这几个:

1
/model

切换模型。默认建议用 Sonnet,复杂推理再用 Opus。

1
/clear

清空当前上下文。换无关任务时用,最省。

1
/compact

压缩历史上下文。一个阶段完成但还要继续同一任务时用。

1
/context

查看上下文占用,排查是什么吃掉空间。

1
/status

查看当前订阅或额度相关状态。官方帮助中心也建议用它监控剩余额度。

1
/mcp

查看和管理 MCP server,关闭当前不用的工具。

如果你用 API 计费模式,还可以关注 /cost;但如果是 Pro/Max 订阅,官方文档说明 /cost 的美元估算不适合作为订阅账单依据,订阅用户更应该看 /stats/status 这类使用信息。

09 一套省额度工作流

比较顺手的流程可以是这样:

  1. 新任务开始前先 /clear
  2. 默认用 Sonnet。
  3. 先让 Claude 读项目结构和关键文件,不要一口气读全仓库。
  4. 每做完一个小阶段就 /compact
  5. 复杂卡点再切 Opus。
  6. 日志、报错、测试输出先过滤再给。
  7. 任务完成后 /clear,不要拖着旧上下文开新活。
  8. 定期检查 CLAUDE.md、MCP 和 skills,把常驻上下文压小。

这个流程的核心是:让 Claude 每次只看当前真正需要看的东西。

10 小结

Claude Code 额度快速耗尽,通常不是单一原因,而是几个因素叠加:用了高成本模型、长对话一直不清、文件和日志塞太多、MCP 和规则常驻过重、缓存命中变差,再加上高峰容量波动。

省额度的核心也很简单:

  • 日常任务优先 Sonnet。
  • Opus 留给真正复杂的问题。
  • 阶段完成用 /compact
  • 换任务用 /clear
  • /context 找上下文占用来源。
  • 精简 CLAUDE.md、rules、MCP 和 skills。
  • 不要把整仓库、整日志、整图片包都丢进去。

同样的 Pro 或 Max 方案,能做多少事,很大程度取决于你怎么管理上下文。把上下文变小、任务边界变清楚,Claude Code 的可用时间和稳定性都会明显好很多。

参考链接

记录并分享
使用 Hugo 构建
主题 StackJimmy 设计