跳转到主要内容

简短答案

Claude Code 的 token 消耗不只来自你看到的回复。它还包括读取的文件、项目说明、对话历史、工具结果、MCP 工具描述、思考过程、输出内容和压缩摘要。 消耗高通常不是单一原因,而是上下文太大、任务描述太宽、规则文件太长、MCP server 太多、反复返工或模型选择过重共同造成的。 降低成本的核心方法是让 Claude Code 每次只处理当前任务所需的上下文,并让项目规则更短、更具体、更稳定。

什么时候需要优化

  • Claude Code 每次回复前都会读取大量文件
  • 一个简单修改变成长时间探索
  • CLAUDE.md 或规则文件越来越长
  • MCP server 很多,但实际只用其中一两个
  • 频繁让 Claude Code 重做同一个方向
  • 团队想控制 API token 预算

核心概念

概念说明
Input tokens用户消息、上下文、文件内容、工具结果等输入
Output tokens模型生成的回复、代码和思考输出
Context window当前会话能容纳的信息总量
Prompt caching对重复上下文进行缓存,降低部分重复成本
Compaction会话接近上下文上限时对历史进行摘要
MCP overheadMCP 工具定义和工具结果也可能进入上下文

推荐做法

从任务范围开始控制:
  1. 一次只给 Claude Code 一个明确目标。
  2. 先让它阅读相关目录,而不是“优化整个项目”。
  3. 切换到无关任务时使用 /clear 开新上下文。
  4. CLAUDE.md 保持为短规则,不要写成长篇手册。
  5. 关闭暂时不用的 MCP server。
  6. 对简单任务使用较轻模型,对复杂架构或长推理任务再使用更强模型。
  7. 让 Claude Code 每次修改后运行最小相关检查,减少返工。
如果你使用 API gateway,定期查看 dashboard 的用量记录,区分 input、output、cache 或上下文相关消耗。这样能判断成本来自任务本身,还是来自重复上下文。

常见误区

  • 只看最终回复长度,忽略文件读取和工具结果也会消耗 token。
  • 把所有项目知识都塞进 CLAUDE.md,导致每次会话都加载大量上下文。
  • 开启很多 MCP server,却不确认它们是否真的用于当前任务。
  • 用“重构整个仓库”这类宽泛提示启动任务。
  • 以为换 API gateway 就会自动降低工具自身的上下文消耗。

关于 LLMEasy

LLMEasy 可以帮助你集中查看 API Key、余额和用量记录。它能让你更容易观察模型请求层面的消耗。 但 Claude Code 的上下文选择、文件读取、MCP 配置、CLAUDE.md 大小和权限策略仍由 Claude Code 与你的项目配置决定。降低成本仍然要从工作流和上下文管理入手。

References