Claude Code 教程

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 TokenClaude 解释一小段代码的作用

中等消耗操作

操作大致消耗说明
读取中等文件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 中设置每月消费上限:

  1. 登录 console.anthropic.com
  2. 进入 Settings 页面
  3. 设置 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 或订阅计划
  • 养成习惯:定期检查消费,长对话时主动优化上下文

评论与讨论