SupaStore

返回博客列表

Claude Code Token 消耗太快?10 个 Claude Code 省 Token 技巧(2026)

Claude Code Token 消耗太快怎么办?本文讲清 Claude Code 每一轮请求的 Token 构成和缓存计费,用 /usage、/context 定位消耗来源,给出 10 个经官方文档验证的 Claude Code 省 Token 技巧,并整理订阅用量限制与 429 报错的处理方法。

SupaStore 成本优化实验室 ·

Claude Code Token 消耗太快?10 个 Claude Code 省 Token 技巧(2026)

Claude Code Token 消耗太快,几乎是每个重度用户都会遇到的问题:明明只问了一句话,订阅用量条却掉了一大截;用 API Key 的开发者,一天的账单就能到几十美元。原因通常不是 Claude 写了多少代码,而是 Claude Code 每一轮都要把整个对话重新发给模型。

本文先讲清 Claude Code Token 消耗是怎么算出来的,再给出 10 个经过官方文档验证的 Claude Code 省 Token 技巧,最后整理订阅用量限制和 429 报错的处理办法。如果你对 Token 本身还不熟,建议先读《AI Token 是什么?大模型 Token 怎么计算与计费》。


Claude Code Token 消耗为什么这么快

每一轮都重发全部上下文

Claude Code 发出的每一次请求,都会带上这些内容:

  • 系统提示词和工具定义;
  • 项目里的 CLAUDE.md、已启用的技能和 MCP 服务器说明;
  • 到目前为止的全部对话历史;
  • 工具结果:读过的文件内容、命令输出、测试日志。

更关键的是,Claude 每调用一次工具,就会再发一次带着这批工具结果的请求。一个任务里读 10 个文件、跑 3 次测试,背后可能就是十几次完整请求。会话越长,每次请求越重。

思考 Token 按输出价计费

Opus 5.5、Sonnet 5.5、Haiku 5.5 和 Fable 系列的思考(extended thinking)无法关闭。思考内容即使不显示,也按输出 Token 计费,而输出单价是输入的 5 倍。

缓存过期后整段重新计费

Prompt 缓存让重复的上下文按缓存价计费,但缓存有有效期(API 默认 5 分钟,每次命中会续期)。离开电脑超过有效期再回来,第一条消息会按全价重新处理整个上下文。

用一组数字看 Claude Code Token 成本

以 Sonnet 5.5 的官方价为例,假设会话上下文已经累积到 15 万 Token:

缓存命中:  150,000 × $0.1 / 1M = $0.015 / 次请求
缓存未命中:150,000 × $2   / 1M = $0.30  / 次请求

同一句"帮我改个变量名",放在一个开了一整天的会话里,成本远高于新会话;如果恰好缓存失效,单次请求还会再贵 20 倍。各模型的完整单价见《Claude API 价格是多少?2026 Claude API 收费标准与省钱指南》。

作为参考,Anthropic 官方给出的数据是:企业部署中,Claude Code 平均每位开发者每个活跃日约 $13,每月 $150~250,90% 的用户每天低于 $30。如果你的花费明显高于这个水平,下面的方法大概率能帮你省下一大块。


先查 Claude Code Token 花在哪:/usage 与 /context

省 Token 之前,先找到大头:

  • /usage:显示当前会话的 Token 用量和按官方价估算的费用,其中 Prompt cache (main) 一行会告诉你有多少输入来自缓存、未命中了几次、缓存现在是否有效。订阅用户还能看到技能、子代理、MCP 各占多少用量,以及系统给出的优化建议。
  • /context:按来源列出上下文占用,一眼看出是对话历史、CLAUDE.md 还是工具结果占了大头。
  • 状态栏:可以配置成常驻显示上下文用量,不用反复敲命令。

通过 API中转站使用 Claude Code 时,/usage 里的金额是按官方价估算的,实际扣费以中转站控制台的使用日志为准。


10 个 Claude Code 省 Token 技巧

1. 换任务就 /clear

切换到不相关的任务时,用 /clear 开一个新会话。旧上下文会让之后的每一条消息都多付钱,而 /clear 本身不消耗 Token。舍不得丢的会话,先用 /rename 起个名字,之后可以用 /resume 找回来。

2. 用 /compact 时告诉它保留什么

需要延续当前任务、但上下文已经很长时,用带说明的压缩:

/compact 只保留代码改动、接口约定和最近一次测试结果

注意 /compact 要先读完整个对话再总结,本身就是一次大请求。如果不需要延续,直接 /clear 更省。你也可以在 CLAUDE.md 里加一段 # Compact instructions,固定压缩时的保留规则。

3. 按任务选模型:Sonnet 为主,Opus 为辅

用 /model 随时切换模型。Sonnet 5.5($2 / $10)的价格是 Opus 5.5($4 / $20)的一半,能处理大部分编码任务;只把架构设计、多步推理这类难题交给 Opus。简单的子代理任务,可以在子代理配置里写 model: haiku,用 Haiku 5.5 跑。各模型的详细区别见《Claude Opus 和 Sonnet 有什么区别?》。

4. 用 /effort 降低思考强度

新一代模型无法关闭思考,但可以降低 effort。改格式、写注释、重命名这类简单任务,用 /effort low 或 /effort medium 能明显减少思考 Token;遇到疑难 Bug 再调回 high。

5. 把 CLAUDE.md 控制在 200 行以内

CLAUDE.md 在会话开始时加载,之后每一轮都随请求发送。官方建议把它控制在 200 行以内,只写必须遵守的规则。PR 审查、数据库迁移这类特定流程的说明,移到 Skills 里,用到时才加载。具体写法和模板见《CLAUDE.md 怎么写?Claude Code 项目记忆配置指南》。

6. 禁止 Claude 读取无关目录

依赖目录、构建产物和日志文件一旦被读进上下文,就会在之后的每一轮反复计费。在项目的 .claude/settings.json 里用权限规则把它们挡在外面:

{
  "permissions": {
    "deny": [
      "Read(./node_modules/**)",
      "Read(./dist/**)",
      "Read(./coverage/**)"
    ]
  }
}

7. 精简 MCP 服务器,能用 CLI 就用 CLI

运行 /mcp 查看已配置的服务器,停用当前用不到的。gh、aws、gcloud 这类命令行工具不会往上下文里加工具清单,通常比对应的 MCP 服务器更省 Token。MCP 服务器的添加、作用范围和输出上限设置,见《Claude Code MCP 怎么配置?》。

8. 用 Hook 过滤冗长输出

与其让 Claude 读一份一万行的日志,不如用 PreToolUse Hook 先过滤:例如跑测试时只保留 FAIL、ERROR 附近的几行。上下文能从几万 Token 降到几百 Token。官方文档给出了完整的测试输出过滤脚本,可以直接参考。

9. 把跑测试、读日志交给子代理

跑完整测试、抓取文档、分析日志这类会产生大量输出的操作,交给子代理完成。冗长的输出留在子代理自己的上下文里,主对话只拿回一段总结。子代理的请求同样计费,所以给它配一个更便宜的模型效果更好。

10. 写具体的提示词,复杂任务先进计划模式

"优化一下这个项目"会让 Claude 大范围扫描代码;"给 auth.ts 的 login 函数加输入校验"只需要读一两个文件。复杂任务先按 Shift+Tab 切到计划模式,确认方案后再动手;发现方向不对,按 Esc 立即停止,用 /rewind 回到之前的检查点,避免在错误路线上烧 Token。


Claude Code 用量限制与 429 报错怎么处理

订阅用户:session limit 与 weekly limit

Pro、Max 等订阅有会话窗口和每周窗口两种用量限制。提示 "You've hit your session limit" 或 "weekly limit" 时,限制对所有模型共享,切换模型也无法恢复,只能等窗口重置(提示里会写重置时间),或用 /usage-credits 开启额外用量。如果提示的是 "You've hit your Opus limit",用 /model 切换到 Sonnet 就能继续工作。经常撞到限制时,是升级订阅还是改用 API,见《Claude Pro 和 Max 有什么区别?2026 Claude 订阅价格对比》。

API 用户:429 rate_limit_error

用 API Key 或中转站时,429 表示请求数或 Token 数超过了 Key、组织或分组的速率限制。常见原因和处理方法:

现象 常见原因 处理方法
并行任务时频繁 429 同时运行多个子代理或多个 Claude Code 实例 减少并行子代理,错开批量任务
偶发 429,稍后恢复 短时间请求过密 按响应头 retry-after 给出的秒数等待后重试
脚本和交互共用一个 Key 批量任务挤占交互式开发的额度 不同用途分别创建 Key
返回 529 而不是 429 上游服务过载,与你的额度无关 等待片刻重试即可

在自己的代码里怎样处理 429 和 retry-after,见《Claude API 调用教程:Python 接入 Claude API 完整示例》。


用 API 跑 Claude Code,怎样进一步降低成本

省 Token 解决的是"用量",单价则取决于你从哪里买 Token。国内开发者常用 Claude API 中转站,按"官方价 × 折扣"计费,但要确认两点:缓存 Token 是否按缓存价计费,充值汇率是多少。这两点直接决定 Claude Code 的实际成本,换算方法见《API中转站倍率是什么意思?》。

Claude Code 接入中转站的完整步骤见《Claude API 中转怎么用?国内 Claude Code 中转站配置教程》;挑选中转站时的检测项目见《API中转站是什么?AI中转站选型避坑指南》。


常见问题 (FAQ)

Q: Claude Code Token 消耗怎么查看?

答: 在 Claude Code 中运行 /usage 可以看到当前会话的输入、输出、缓存读写 Token 数和估算费用,运行 /context 可以看到上下文被哪些内容占用;通过中转站使用时,以中转站控制台的使用日志为准。

Q: /clear 和 /compact 哪个更省 Token?

答: /clear 更省,它直接开启新会话且本身不消耗 Token;/compact 需要读取整个对话再生成总结,本身是一次大请求,适合必须延续当前任务的场景。

Q: Claude Code 能关闭思考来省 Token 吗?

答: Opus 5.5、Sonnet 5.5、Haiku 5.5 和 Fable 系列无法关闭思考,但可以用 /effort 调低思考强度,简单任务用 low 或 medium 就能明显减少思考 Token。

Q: 为什么离开一会儿回来,第一条消息特别耗 Token?

答: Prompt 缓存有有效期,离开时间超过有效期后缓存失效,第一条消息要按全价重新处理整段上下文;长时间离开前可以先 /clear 或 /compact,回来后从更短的上下文开始。

Q: 这些 Claude Code 省 Token 技巧会影响代码质量吗?

答: 清理无关上下文、选对模型、写具体的提示词通常会让结果更准确;需要注意的只有 effort 和模型,复杂任务不要为了省钱强行用 low 或 Haiku。