Token 管理
什么是 Token
在与 Claude Code 的每次交互中,你发送的文字、Claude 读取的代码、生成的回复,都会被转换为 Token。Token 是语言模型处理文本的基本单位,可以简单理解为”文本碎片”。
一个大致的换算关系:
- 英文:1 个 Token 约等于 4 个字符,或 0.75 个单词
- 中文:1 个 Token 约等于 1-2 个汉字
- 代码:因为包含空格、缩进和特殊字符,每行代码大约消耗 10-30 个 Token
理解 Token 的概念很重要,因为 Claude Code 的使用成本直接与 Token 消耗挂钩。
输入 Token vs 输出 Token
Claude Code 的 Token 计费分为两类,价格不同:
输入 Token(Input Tokens)
你发送给 Claude 的所有内容,包括:
- 你输入的 Prompt 文本
- CLAUDE.md 的内容(每次会话都会加载)
- Claude 读取的代码文件
- 命令执行结果(如
npm test的输出) - 历史对话记录
输出 Token(Output Tokens)
Claude 生成的所有内容,包括:
- Claude 的文字回复
- 生成的代码
- 工具调用指令(如文件写入、命令执行)
信息
输出 Token 的单价通常是输入 Token 的 3-5 倍。因此,减少不必要的输出(比如避免让 Claude 生成冗长的解释)也是控制成本的有效手段。
不同操作的 Token 消耗
了解各种操作的 Token 消耗模式,有助于你做出更经济的选择。
低消耗操作
| 操作 | 大致消耗 | 说明 |
|---|---|---|
| 简短问答 | 100-500 Token | 一问一答,快速获取信息 |
| 小范围代码修改 | 500-2,000 Token | 修改一个函数或几行代码 |
| 代码解释 | 300-1,000 Token | Claude 解释一小段代码的作用 |
中等消耗操作
| 操作 | 大致消耗 | 说明 |
|---|---|---|
| 读取中等文件 | 1,000-5,000 Token | 读取 100-300 行的代码文件 |
| 编写新函数 | 1,000-3,000 Token | 从头编写一个中等复杂度的函数 |
| 运行测试 | 2,000-10,000 Token | 测试输出会作为输入 Token 计入 |
高消耗操作
| 操作 | 大致消耗 | 说明 |
|---|---|---|
| 读取大文件 | 5,000-20,000 Token | 读取 500+ 行的文件 |
| 多文件重构 | 10,000-50,000 Token | 同时修改多个文件的大规模重构 |
| 长时间调试 | 20,000-100,000 Token | 反复读取文件、运行测试、修改代码 |
| 大量命令输出 | 变化很大 | 如 npm install 的完整日志 |
使用 /cost 追踪消费
Claude Code 提供了 /cost 命令来实时查看当前会话的 Token 使用情况:
> /cost输出类似于:
Session costs: Input tokens: 45,230 ($0.135) Output tokens: 12,450 ($0.187) Total cost: $0.322养成定期检查的习惯
建议在以下时机检查 /cost:
- 开始大任务前:了解起始基线
- 任务进行中:每完成一个阶段检查一次
- 会话结束前:了解总消耗,评估效率
- 尝试新工作流后:比较不同方式的成本差异
减少 Token 消耗的策略
策略一:编写简洁的 Prompt
# 冗长的 Prompt(消耗更多输入 Token)> 你好,我想请你帮我看一下我的代码。在我的项目中有一个文件叫做> userService.ts,它位于 src/services/ 目录下面。这个文件里面有> 一个叫做 createUser 的函数,我觉得这个函数可能有一些问题...
# 简洁的 Prompt(同样的信息,更少的 Token)> 查看 src/services/userService.ts 的 createUser 函数,检查潜在问题。简洁不等于模糊。好的 Prompt 是用最少的字传达最完整的信息。
策略二:利用 CLAUDE.md 避免重复
每次会话都要重复说明的信息,应该放进 CLAUDE.md:
# 如果你每次都要说这些,就应该放进 CLAUDE.md:> 这个项目用 pnpm,不要用 npm> TypeScript strict mode> 测试框架用的 Vitest> 代码风格用 2 空格缩进CLAUDE.md 虽然也消耗输入 Token,但它只在会话开始时加载一次,比每轮对话都重复说明要经济得多。
策略三:使用 /compact 减少历史上下文
随着对话轮次增加,历史对话会累积大量 Token。使用 /compact 可以将历史压缩为简洁的摘要:
# 当你发现对话已经很长时> /compact一次 /compact 通常可以将上下文减少 50-80%,显著降低后续每轮对话的输入 Token。
策略四:聚焦式提问
# 宽泛的探索(消耗大量 Token)> 帮我分析整个 src/ 目录的代码质量
# 聚焦的提问(消耗较少 Token)> 检查 src/services/authService.ts 的错误处理是否完善宽泛的请求会导致 Claude 读取大量文件,每个文件都消耗输入 Token。如果你已经知道问题所在,直接指向具体文件和函数。
策略五:控制输出长度
# 会产生大量输出 Token> 详细解释这段代码的每一行
# 控制输出长度> 用 3-5 个要点总结这段代码的核心逻辑提示
当你只需要快速了解代码的功能时,明确告诉 Claude 用简洁的方式回答,可以显著减少输出 Token 的消耗。
策略六:避免无效的重试
当 Claude 的输出不符合预期时,提供具体的修改方向,而不是说”重来”:
# 低效的做法(浪费之前的 Token,还要重新消耗)> 不对,重新写一遍
# 高效的做法(在已有基础上修正)> 逻辑正确,但第 15 行的变量名改为 userCount,第 20 行添加 null 检查设置消费限额
为了避免意外的高额消费,建议设置消费限额。
API Key 消费限额
如果你使用 API Key,可以在 Anthropic Console 中设置每月消费上限:
- 登录 console.anthropic.com
- 进入 Settings 页面
- 设置 Monthly Spending Limit
Claude Pro/Team 订阅
如果你使用 Claude Pro 或 Team 订阅:
- Claude Pro:每月固定费用($20/月),包含一定的使用量,超出后有速率限制但不额外计费
- Claude Team:按座位计费($30/用户/月),有更高的使用额度
- Claude Enterprise:自定义定价,适合大型团队
注意
API Key 模式是按量计费的,没有使用量上限(除非你手动设置)。在进行大规模代码探索或长时间调试时,务必关注消费情况。
不同计划的成本对比
| 计划 | 月费 | 计费方式 | 适用场景 |
|---|---|---|---|
| API Key(Sonnet) | 按量计费 | 输入 $3 / 输出 $15 每百万 Token | 偶尔使用,成本可控 |
| API Key(Opus) | 按量计费 | 输入 $15 / 输出 $75 每百万 Token | 需要最强模型 |
| Claude Pro | $20/月 | 固定费用,含使用额度 | 日常个人使用 |
| Claude Team | $30/用户/月 | 固定费用,更高额度 | 团队协作 |
| Claude Enterprise | 自定义 | 定制方案 | 大型企业 |
信息
以上价格可能随时间变化,请以 Anthropic 官网公布的最新价格为准。无论使用哪个计划,本文介绍的 Token 优化策略都适用。
常见工作流的 Token 模式
不同的工作流有不同的 Token 消耗特征,了解这些模式可以帮助你选择最高效的方式。
快速问答型
你: 这个函数是做什么的?(少量输入)Claude: [简短解释](少量输出)- 特征:低 Token 消耗,高效
- 总消耗:约 200-1,000 Token
代码生成型
你: 创建一个 CRUD API(中等输入)Claude: [读取相关文件 + 生成代码](大量输出)- 特征:输出 Token 为主,成本较高
- 总消耗:约 5,000-20,000 Token
调试型
你: 这个 bug 怎么修?(少量输入)Claude: [读取多个文件 + 运行测试 + 多轮修改](大量输入和输出)- 特征:多轮交互,累积消耗较高
- 总消耗:约 10,000-100,000 Token
- 优化建议:提供错误日志和重现步骤,减少 Claude 的探索时间
重构型
你: 重构这个模块(中等输入)Claude: [读取所有相关文件 + 逐个修改 + 验证](大量输入和输出)- 特征:大量文件读取,Token 消耗最高
- 总消耗:约 20,000-100,000+ Token
- 优化建议:分阶段进行,每阶段结束后使用
/compact
Token 管理清单
日常使用中,参考以下清单保持高效的 Token 管理:
- 写简洁 Prompt:用最少的字传达完整信息
- 维护 CLAUDE.md:避免每次会话重复说明项目信息
- 精准指定文件:让 Claude 只读取需要的文件
- 定期 /compact:在长对话中压缩历史上下文
- 检查 /cost:定期了解当前会话的消费
- 聚焦任务:一次只处理一个明确的任务
- 具体反馈:修正时给出精确的修改点,避免整体重做
- 设置限额:在 API Key 模式下设置月度消费上限
小结
Token 管理的本质是用最少的 Token 获得最好的结果。这不仅是为了省钱,更是为了在有限的上下文窗口中保持高质量的对话。
核心原则:
- 理解计费:输入和输出 Token 分开计费,输出更贵
- 减少浪费:简洁的 Prompt、精准的文件引用、避免无效重试
- 善用工具:CLAUDE.md 减少重复,
/compact压缩历史,/cost监控消费 - 选择合适的计划:根据使用频率选择 API Key 或订阅计划
- 养成习惯:定期检查消费,长对话时主动优化上下文