Claude Code 费用管理:Token用量追踪与成本控制实用指南
Claude Code 按 API token 消耗计费。企业部署平均费用约 $13/开发者/活跃工作日,月均 $150-250,90% 用户日均低于 $30。订阅计划价格见 claude.com/pricing。追踪用量用 /usage 命令,团队用 Claude Console 工作区设置消费限额。降低成本的核心策略:保持上下文精简、选合适模型(Sonnet 通用、Haiku 用于简单子代理)、把大量输出委托给子代理、用 Hooks 预处理数据、写具体提示词。
Claude Code 按 API token 消耗计费。订阅计划(Pro、Max、Team、Enterprise)价格参见 claude.com/pricing。
企业部署参考数据:
- 平均:约 $13/开发者/活跃工作日
- 月均:$150-250/开发者
- 90% 的用户日均低于 $30
实际成本因模型选择、代码库大小、并发实例数量和自动化程度差异较大。建议先从小团队试点开始,用下方工具建立基准数据,再做更大范围推广。
追踪费用
使用 /usage 命令
/usage会话模块显示 API token 用量,面向 API 用户。Claude Max/Pro 订阅用户费用包含在订阅内,会话费用数字不用于计费。订阅用户可在同一屏幕查看计划用量条和活动统计。
/usage 命令提供当前会话的详细 token 用量统计。美元数额是根据 token 数本地估算的,可能与实际账单有差异。权威计费请查看 Claude Console 的 Usage 页面。
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
团队费用管理
API 用户
在 Claude Console 设置工作区消费限额,管理员可查看 成本和用量报告。
首次用 Claude Console 账号认证时,会自动创建名为"Claude Code"的工作区,集中追踪组织内所有 Claude Code 用量。此工作区不能创建 API 密钥,仅用于 Claude Code 认证和用量。
对于有自定义速率限制的组织,此工作区中的 Claude Code 流量计入组织的 API 速率限制。可在 Claude Console 的 Limits 页面上为此工作区设置工作区速率限制,以限制 Claude Code 的份额并保护其他生产工作负载。
第三方云用户(Bedrock/Vertex/Foundry)
Claude Code 不从你的云发送指标。大企业常用 LiteLLM 按 key 追踪消费(开源工具,Anthropic 未做安全审计)。
速率限制建议
为团队设置 Claude Code 时,根据组织规模参考以下每分钟 Token(TPM)和每分钟请求(RPM)的每用户建议:
| 团队规模 | 每用户 TPM | 每用户 RPM |
|---|---|---|
| 1-5 人 | 200k-300k | 5-7 |
| 5-20 人 | 100k-150k | 2.5-3.5 |
| 20-50 人 | 50k-75k | 1.25-1.75 |
| 50-100 人 | 25k-35k | 0.62-0.87 |
| 100-500 人 | 15k-20k | 0.37-0.47 |
| 500+ 人 | 10k-15k | 0.25-0.35 |
例如,200 人的团队可能为每个用户申请 20k TPM,总 TPM 为 200*20,000=400 万。
TPM 随团队规模增大而降低,因为大型组织中同时使用 Claude Code 的用户比例较小。速率限制在组织级别生效,不是每人独立,因此当其他人不活跃时,单个用户可以临时消耗超过其分配份额的用量。
如果预期有高并发场景(如大规模实时培训),可能需要为每个用户分配更高的 TPM。
Agent 团队 Token 开销
Agent 团队 会生成多个 Claude Code 实例,每个都有自己的上下文窗口。Token 用量随活跃成员数量和运行时长扩大。
控制 Agent 团队成本的建议:
- 成员用 Sonnet:平衡能力与成本
- 控制团队规模:每个成员都有独立上下文,Token 用量大致与团队规模成正比
- 精简启动提示:成员自动加载 CLAUDE.md、MCP 服务器和技能,启动提示里的内容从一开始就占用上下文
- 任务完成后及时清理:活跃成员即使空闲也会持续消耗 Token
- Agent 团队默认禁用,通过设置
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1开启,详见启用 Agent 团队
减少 Token 用量
Token 费用随上下文大小扩展:上下文越多,Token 消耗越大。Claude Code 通过提示缓存(降低系统提示等重复内容的费用)和自动压缩(在接近上下文限制时汇总对话历史)自动优化成本。
以下策略帮助保持上下文紧凑,降低每条消息的成本。
主动管理上下文
使用 /usage 检查当前 Token 用量,或配置状态行持续显示。
- 任务间清理:切换不相关任务时用
/clear重置会话。过期的上下文会在后续每条消息中浪费 Token。清理前用/rename命名会话,方便之后用/resume找回。 - 添加自定义压缩指令:
/compact Focus on code samples and API usage告诉 Claude 在摘要时保留什么。
也可以在 CLAUDE.md 中全局配置压缩行为:
# Compact instructions
When you are using compact, please focus on test output and code changes
选择合适的模型
Sonnet 能处理大多数编程任务,且比 Opus 便宜。架构决策或多步推理才需要 Opus。用 /model 切换模型,或在 /config 设置默认。对于简单的子代理任务,在子代理配置中指定 model: haiku。
减少 MCP 服务器开销
MCP 工具定义默认延迟加载,因此只有工具名称进入上下文,直到 Claude 使用特定工具。运行 /context 查看占用情况。
- 优先用 CLI 工具:
gh、aws、gcloud、sentry-cli等命令行工具比 MCP 服务器更省上下文(它们不添加每个工具的列表)。 - 禁用不用的服务器:运行
/mcp查看配置的服务器,并关闭不使用的。
为类型语言安装代码智能插件
代码智能插件 让 Claude 用精确的符号导航替代文本搜索,在探索不熟悉的代码时减少不必要的文件读取。一次"跳转定义"替代了 grep 加读取多个候选文件的操作。安装的语言服务器还会在编辑后自动报告类型错误,Claude 无需运行编译器就能发现错误。
用 Hooks 和 Skills 分流处理
自定义 Hooks 可以在 Claude 看到数据前预处理。与其让 Claude 读取 10000 行日志文件找错误,不如用 Hook 先 grep ERROR 行并只返回匹配行,将上下文从数万 Token 减少到数百。
Skill 能为 Claude 提供领域知识,使其无需探索。例如,“codebase-overview” Skill 可以描述项目架构、关键目录和命名约定。Claude 调用 Skill 时立即获得这些上下文,无需花费 Token 读取多个文件理解结构。
以下 PreToolUse Hook 将测试输出过滤为仅显示失败:
将以下内容添加到 [settings.json](/ai/ai-tools/claude-code/settings#settings-files) 中,在每个 Bash 命令前运行 Hook:
```json theme={null}
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/filter-test-output.sh"
}
]
}
]
}
}
```
Hook 调用以下脚本,检查命令是否为测试运行器,并修改为只显示失败:
```bash theme={null}
#!/bin/bash
input=$(cat)
cmd=$(echo "$input" | jq -r '.tool_input.command')
# If running tests, filter to show only failures
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
```
把指令从 CLAUDE.md 移到 Skills
你的 CLAUDE.md 文件在会话启动时加载到上下文。如果其中包含特定工作流的详细指令(如 PR 审查、数据库迁移),即使你正在做不相关的工作,这些 Token 也会存在。Skills 仅在调用时按需加载,因此将专门指令移入 Skills 可以保持基准上下文更小。努力将 CLAUDE.md 保持在 200 行以内,只包含必要内容。
调整扩展推理(Extended Thinking)
扩展推理默认启用,因为它在复杂规划和推理任务上显著提升性能。思考 Token 按输出 Token 计费,默认预算根据模型不同可达每个请求数万 Token。对于不需要深度推理的简单任务,可以通过以下方式降低成本:使用 /effort 或 /model 降低努力级别,在 /config 中禁用 thinking,或通过 MAX_THINKING_TOKENS=8000 降低预算。
把大量输出委托给子代理
运行测试、获取文档、处理日志文件可能消耗大量上下文。将这些委托给子代理,让大量输出留在子代理的上下文里,只有摘要返回主对话。
管理 Agent 团队成本
当队友在计划模式下运行时,Agent 团队使用的 Token 大约是标准会话的 7 倍,因为每个队友维护自己的上下文窗口并作为独立的 Claude 实例运行。保持团队任务小而专一,以限制每个队友的 Token 使用。详见 Agent 团队。
写具体的提示词
模糊的请求(如"改进这个代码库")会触发大规模扫描。具体的请求(如"在 auth.ts 的登录函数里添加输入验证")让 Claude 高效工作,只读必要的文件。
高效处理复杂任务
对于较长或更复杂的工作,以下习惯有助于避免因方向错误浪费 Token:
- 先用计划模式:按 Shift+Tab 进入计划模式后再实施。Claude 探索代码库并提出方案,你审批后执行,避免初始方向错误导致昂贵的返工。
- 及早纠正方向:如果 Claude 开始走偏,立即按 Escape 停止。使用
/rewind或双击 Escape 将对话和代码恢复到之前的检查点。 - 提供验证目标:在提示中包含测试用例、粘贴截图或定义预期输出。当 Claude 可以验证自己的工作时,它会在你需要要求修复之前发现问题。
- 增量测试:写完一个文件就测试,然后再继续。这能在问题成本低时及早发现。
后台 Token 消耗
Claude Code 在空闲时也会消耗一些 Token 用于后台功能:
- 对话摘要:为
claude --resume功能汇总之前对话的后台任务 - 命令处理:某些命令如
/usage可能会产生请求来检查状态
这些后台进程每次会话消耗少量 Token(通常低于 $0.04),即使没有主动交互。
理解 Claude Code 行为变化
Claude Code 会定期接收更新,可能改变功能工作方式,包括费用报告。运行 claude --version 检查当前版本。有关具体的计费问题,请通过 Console 账户联系 Anthropic 支持。
常见问题
Claude Code 的费用怎么计算?用哪个命令查看?
Claude Code 按 API token 消耗计费,不固定订阅费。使用 /usage 命令查看当前会话的 Token 用量和估算费用。订阅用户(Max/Pro)费用包含在订阅内,会话费用数字不用于计费;API 用户可参考 Claude Console 的 Usage 页面获取权威账单。
如何降低 Claude Code 的使用成本?最有效的方法是什么?
最有效的方法包括:及时清理不相关的上下文(用 /clear)、为简单任务选择便宜的模型(Sonnet 通用、Haiku 用于子代理)、写具体的提示词避免大范围扫描、用 PreToolUse Hook 预处理数据减少上下文体积、将详细指令从 CLAUDE.md 移到 Skills 按需加载、调整扩展推理努力级别或设置 MAX_THINKING_TOKENS 限制、以及把测试/日志处理等大量输出委托给子代理。
团队使用 Claude Code,如何控制总费用和速率限制?
在 Claude Console 的工作区设置中可以设置消费限额和速率限制。参考组织规模对应的 TPM/RPM 建议表(如 1-5 人每用户 200k-300k TPM)配置速率。对于 Agent 团队,保持团队小、成员用 Sonnet、任务完成后及时清理。Bedrock/Vertex/Foundry 用户可借助 LiteLLM 跟踪消费。