Skip to content

费用管理:控制 Claude Code 的 Token 用量

Claude Code 的每次交互都会消耗 token,费用随代码库大小、查询复杂度和对话长度变化。

参考数据:

  • 平均费用:约 $6/开发者/天
  • 90% 的用户日均费用低于 $12
  • 团队月均:$100-200/开发者(使用 Sonnet 4.6)

实际费用差异很大,取决于并发实例数量和自动化程度。


追踪费用

/cost 命令

text
/cost

输出当前会话的 token 用量统计:

Total cost:            $0.55
Total duration (API):  6m 19.7s
Total duration (wall): 6h 33m 10.2s
Total code changes:    0 lines added, 0 lines removed

/cost 面向 API 用户。Claude Max/Pro 订阅用户费用包含在订阅内,可用 /stats 查看用量趋势。

Status Line 实时监控

配置 Status Line 在底部状态栏显示上下文使用百分比,随时了解当前状态。


团队费用管理

API 用户

Claude Console 设置工作区消费限额,管理员可查看成本和用量报告。

首次用 Claude Console 账号认证时,会自动创建名为"Claude Code"的工作区,集中追踪组织内所有 Claude Code 用量。

第三方云用户(Bedrock/Vertex/Foundry)

Claude Code 不向你的云端发送指标。大企业常用 LiteLLM 按 key 追踪消费(开源工具,Anthropic 未认证)。

团队速率限制建议

团队规模建议 TPM/人建议 RPM/人
1-5 人200k-300k5-7
5-20 人100k-150k2.5-3.5
20-50 人50k-75k1.25-1.75
50-100 人25k-35k0.62-0.87
100-500 人15k-20k0.37-0.47
500+ 人10k-15k0.25-0.35

速率限制在组织级别生效,不是每人独立的。人少时个人可以用更多,人多时并发比例较低所以每人分配少一些。

如果有大规模并发的场景(如团队培训),可能需要更高配额。


减少 Token 用量的实用策略

Token 费用随上下文大小扩展,上下文越大,每次消息用的 token 越多。

1. 主动管理上下文

及时清理:做完一个不相关的任务后用 /clear 重置会话。保留无用上下文会在后续每条消息中浪费 token。

提示:用 /rename 给当前会话命名,清理后可以用 /resume 找回。

自定义压缩指令

text
/compact Focus on code samples and API usage

在 CLAUDE.md 里全局配置压缩行为:

markdown
# Compact instructions

When you are using compact, please focus on test output and code changes

2. 选择合适的模型

Sonnet 能处理大多数编程任务,且比 Opus 便宜很多。架构设计或复杂推理才需要 Opus。

  • /model 切换模型
  • /config 设置默认模型
  • 子代理简单任务可指定 model: haiku

3. 减少 MCP 服务器开销

每个 MCP 服务器会向上下文添加工具定义,即使闲置也消耗 token。

/context 查看占用情况:

  • 优先用 CLI 工具ghawsgcloudsentry-cli 这类命令行工具比 MCP 服务器更省上下文
  • 禁用不用的服务器:用 /mcp 查看并关闭
  • 工具搜索自动触发:当 MCP 工具描述超过上下文的 10% 时,Claude Code 自动延迟加载。降低触发阈值:ENABLE_TOOL_SEARCH=auto:5(5% 时触发)

4. 安装代码智能插件

代码智能插件 让 Claude 用符号导航(跳转定义、查找引用)替代文本搜索,减少不必要的文件读取。还能在编辑后自动报告类型错误,省去手动编译。

5. 用 Hooks 预处理数据

Hooks 可以在 Claude 看到数据前预处理,大幅缩减上下文。

例如:与其让 Claude 读取 10000 行日志找错误,不如用 PreToolUse hook 先 grep ERROR 行再返回:

settings.json:

json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/hooks/filter-test-output.sh"
          }
        ]
      }
    ]
  }
}

filter-test-output.sh:

bash
#!/bin/bash
input=$(cat)
cmd=$(echo "$input" | jq -r '.tool_input.command')

if [[ "$cmd" =~ ^(npm test|pytest|go test) ]]; then
  filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"
  echo "{\"hookSpecificOutput\":{\"hookEventName\":\"PreToolUse\",\"permissionDecision\":\"allow\",\"updatedInput\":{\"command\":\"$filtered_cmd\"}}}"
else
  echo "{}"
fi

6. 把详细指令从 CLAUDE.md 移到 Skills

CLAUDE.md 在每次会话开始时完整加载。如果里面有 PR review、数据库迁移等详细流程,即使不用这些功能也会消耗 token。

把专项流程移到 Skills——Skills 只在调用时加载。

建议:CLAUDE.md 保持 500 行以内,只写核心规范。

7. 调整推理力度

扩展推理(extended thinking)默认开启,对复杂任务效果好但消耗多。对简单任务可以:

  • 降低力度:/effort low 或在 /model 中调整
  • 设置最大 thinking token:MAX_THINKING_TOKENS=8000
  • /config 关闭 thinking

8. 把大量输出委托给子代理

运行测试、抓取文档、处理日志等会产生大量输出的操作,委托给子代理处理。大量输出留在子代理上下文里,主对话只接收摘要。

9. 写具体的提示词

含糊的请求("改进这个代码库")会触发大范围扫描。具体的请求("在 auth.ts 的登录函数里添加输入验证")让 Claude 可以高效工作,只读必要的文件。

10. 用计划模式减少返工

对复杂任务,按 Shift+Tab 进入计划模式。Claude 先探索代码库、提出方案,你审批后再执行——避免方向错了浪费大量 token。

任务进行中方向偏了,按 Escape 立即停止,用 /rewind 回滚。


后台 Token 消耗

即使不主动使用,Claude Code 也会消耗少量 token 用于:

  • 对话摘要:为 claude --resume 功能生成历史摘要
  • 命令处理/cost 等命令可能产生少量 API 请求

每次会话的后台消耗通常低于 $0.04。


相关文档