博客 · Claude Code

如何减少 Claude Code 的 token 用量(不再频频撞上限额)

Claude Code 每次请求都会带上整段对话,所以 token 用量随上下文增长:在长会话后段问一个一句话的问题,比在新会话里问同样的问题贵得多。本文先教你看清 token 花在了哪里,再给出 Anthropic 官方文档中 12 个能减少用量的做法,从 /clear 和 /compact,到选择模型和 effort、精简 CLAUDE.md 和 MCP 服务器,再到把吵闹的工作交给 hook、skill 和 subagent。

先看清 token 花在了哪里

工具显示什么
/usage会话 token 数和预估费用;在 Pro、Max、Ultra、Team 和 Enterprise 套餐上,还有套餐用量条、按 skill、subagent、插件和 MCP 服务器划分的明细、优化建议,以及最耗用量的 /loop 任务
/context当前是什么占满了上下文窗口
状态栏配置后可持续显示上下文用量
加载指示器计数当前这一轮的输出 token,例如 ↓ 5.5k tokens;不包含上下文
/insights一份 HTML 报告,分析你最近多个会话的工作方式,列出卡点和建议

为什么长会话里用量会越涨越快

  • 上下文太长:每次请求都带着完整对话,而每一轮工具调用又会再发一次请求。缓存让重复读取更便宜,但不是免费。
  • 缓存未命中:离开的时间超过缓存有效期后,你发的第一条消息会把整个上下文重新处理一遍。
  • 你空闲时仍在运行的东西:会话级定时任务和 /loop、来自你其他会话的消息、目标进度检查、会话回顾和空闲时的自动压缩。
  • 并行工作者:每个 subagent、workflow agent 和 agent team 队友都会发出自己的请求。当队友在 plan mode 下运行时,agent teams 消耗的 token 约为普通会话的 7x。
  • 压缩本身:/compact 必须读一遍它要总结的对话。/clear 不花任何 token。

减少 Claude Code token 用量的 12 个方法

  1. 在不相关的任务之间清空对话

    /clear 会开启一段新对话,过时的上下文就不会再一路跟着。如果之后还想用 /resume 回到它,先运行 /rename。

  2. 带着指令压缩

    /compact Focus on code samples and API usage 告诉 Claude 该保留什么。你也可以把常用的压缩指令写进 CLAUDE.md。

    # Compact instructions
    
    使用 compact 时,重点保留测试输出和代码改动。
  3. 选对模型

    Sonnet 能胜任大多数编码工作,而且比 Opus 便宜;把 Opus 留给架构设计和高难度推理。用 /model 切换,并给简单的 subagent 设置 model: haiku。

  4. 简单任务调低 effort

    思考 token 按输出计费,每次请求可能多达数万个。处理日常任务时,用 /effort 调低级别。

  5. 保持 CLAUDE.md 简短

    它每个会话都会被完整加载。控制在 200 行左右以内,把特定工作流的指令移到 skill 里,skill 只在用到时才加载。参见 CLAUDE.md 指南和 Claude Code skills。

  6. 精简 MCP 服务器

    工具定义默认延迟加载,但每个服务器仍会加入名称和说明。在 /mcp 中停用不用的服务器,并优先使用 gh、aws、gcloud 这类 CLI,它们不会增加逐个工具的列表。

  7. 用 hook 过滤嘈杂的输出

    PreToolUse hook 可以改写测试命令,只保留失败的结果,把数万 token 的日志压缩到几百个。Anthropic 的文档里附有现成的过滤脚本。

    {
      "hooks": {
        "PreToolUse": [
          {
            "matcher": "Bash",
            "hooks": [
              { "type": "command", "command": "~/.claude/hooks/filter-test-output.sh" }
            ]
          }
        ]
      }
    }
  8. 把冗长的工作交给 subagent

    在 subagent 里跑测试、读文档或处理日志,输出会留在它自己的上下文中,只有摘要会返回。给这些 subagent 配一个更小的模型。

  9. 安装代码智能插件

    对于有类型的语言,语言服务器插件一次调用就能完成“跳转到定义”,不必先 grep 再读好几个文件。

  10. 写具体的提示词

    “给 auth.ts 里的 login 函数加上输入校验”只需读几个文件;“改进这个代码库”则会把所有东西扫一遍。

  11. 先计划,及早叫停

    大改动用 plan mode,在写代码之前就发现方向错误;一旦 Claude 跑偏,立刻按 Escape,再用 /rewind 回到检查点。

  12. 留意你不在时运行的东西

    每个定时任务、每次 /loop 运行或空闲消息都会发送你的完整上下文。停掉不需要的循环,把 crossSessionInbound 设为 hold,让来自其他会话的消息先排队,并查看 /usage 中的 Loops 行。

来源:Claude Code 文档,Manage costs effectively

用量限额与团队成本

在 Pro、Max 和 Ultra 套餐上,用量计入套餐限额,而不是产生账单;5 小时和每周限额如何运作,参见 Claude Code 与 Codex 对比。在 API 上,Anthropic 公布的企业平均费用约为每位开发者每个活跃日 $13、每月 $150 到 $250,90% 的用户每天低于 $30。

管理员可以为团队设置支出上限;在托管设置中配置 modelPricing 表后,/usage 会显示合同价格,而不是标价。

用 Crewmark

按时上班的 agent,不会整夜烧 token

任何唤醒会话的操作都会发送完整上下文,所以一直在线的 agent 需要有边界。Crewmark 把 Claude Code、Codex、DeepSeek Harness 或 OpenCode 会话变成 AI 员工,只在你设定的工作时间内按心跳醒来。

  1. 设定工作时间和节奏

    选择每 15、30 或 60 分钟一次,以及它上班的时段;其余时间它都在休眠。参见如何让 Claude Code 主动工作。

  2. 一次只做一个 issue

    每次心跳都从看板上接手下一个 issue,会话专注于明确的任务,而不是漫无目的地探索。

  3. 用你已经在付费的套餐

    员工运行在你现有的订阅上,用量计入套餐限额。阅读什么是 AI 员工。

Claude Code token 用量常见问题

Claude Code 为什么这么耗 token?

它每次请求都会发送完整对话,而每一轮工具调用又是一次新请求。长会话、离开后的缓存未命中、subagent,以及你空闲时运行的任何东西,都会累积起来。

怎么查看 Claude Code 的 token 用量?

运行 /usage 查看会话 token、套餐用量以及带建议的明细,运行 /context 查看是什么占满了上下文窗口。状态栏可以一直显示上下文用量。

最快的省 token 方法是什么?

在不相关的任务之间运行 /clear,除非确实需要 Opus 否则用 Sonnet,并保持 CLAUDE.md 简短。这三条就能解决大部分浪费。

/compact 能省 token 吗?

它会缩小后续消息的上下文,但压缩本身要读完整段对话,所以是一次很大的请求。如果不需要延续之前的对话,/clear 不花任何 token。

MCP 服务器会消耗 token 吗?

工具定义会延迟到使用时才加载,但每个服务器仍会加入工具名称和说明。停用不用的服务器,有 CLI 工具时优先用 CLI。

为什么我这么快就用完了限额?

通常是因为长会话、几次缓存未命中,或者 /loop、定时任务、subagent、agent teams 这类后台工作。在付费套餐上,/usage 会显示近期用量主要来自哪一项。

subagent 能省 token 吗?

它们让冗长的输出不进入你的主对话,从而让后续请求保持精简,但它们自己的请求照样计入用量。给它们配一个更小的模型就能少花一些。

已于 2026 年 11 月 6 日对照 Claude Code 文档(Manage costs effectively)查证。

让 Claude Code 按你定的时间表工作。

Crewmark 把 Claude Code、Codex 和 DeepSeek Harness 会话变成有岗位、目标、工作时间和心跳的 AI 员工。