Claude Code 成本优化:六个技巧显著降低 Token 消耗
2026/8/27 1:22:06 网站建设 项目流程

Claude Code 是 Anthropic 推出的命令行 AI 编程助手,直接在终端里使用,可以生成代码、修改文件、执行命令、读取测试结果。作为日常开发辅助,它确实方便,但很多人的第一感受是:token 烧得比想象中快。一个典型场景是,上午开了一个会话,下午还在同一个上下文里改另一个模块,对话历史里塞满了旧代码。

下面这六条实用技巧,是我反复测试后筛选出来的,适合已经装上 Claude Code、想在正常开发里控制成本的人。先说明一句:能不能真降一半,取决于任务类型和使用习惯。如果主要浪费来自长会话、大文件、反复试错,降幅可以非常大;如果任务本身很小,效果可能没那么明显。

1. 先搞清楚 token 到底花在哪,再谈省

1.1 token 消耗的四个主要去向

在优化成本之前,先得明白 Claude Code 的 token 花在哪些地方。很多人以为它只消耗“聊天记录”,实际并不是。Claude Code 是操作型工具,它不只是“回答”,还要读文件、改文件、跑命令、根据结果继续执行。所以 token 消耗点比普通聊天工具更多。

可以粗略分成四类:

  • 系统提示词和项目规则。每次请求都会携带运行环境的基础说明,还会读取项目根目录下的 CLAUDE.md。这部分虽然单次不高,但每次请求都扣一次。
  • 对话历史和工具调用结果。用户输入、AI 的思考输出、工具执行返回的内容,都会作为后续请求的上下文。这里是最容易被低估的一块。
  • 文件内容。AI 需要修改代码时,通常会读入文件内容。文件越大,读入的输入 token 越高。
  • AI 输出。生成的代码、解释、计划、修改 diff,以及它调用工具时生成的参数,都属于输出 token。

注意一个关键点:在 Claude Code 里,工具调用并不是免费的。AI 要先发出“我要读取某个文件”的调用,系统把文件内容返回,AI 再基于返回内容继续生成下一步动作。这个过程每循环一次,就会产生一轮新的输入和输出。换句话说,一个表面上只需改一个函数的小任务,背后可能发生十几轮文件读取和结果返回。

所以,判断 token 消耗不能只看你输入了多少字,还要看 AI 为了完成任务实际“读”了多少内容。

1.2 什么情况下 token 消耗最容易失控

结合我自己的测试,下面几种场景最容易让 token 快速上涨:

  • 长会话不清理。一个会话从上午开到下午,中间聊了需求、改过配置、跑过测试。每一次新提问都会携带全部历史,输入 token 会不断膨胀。
  • 大文件被整文件读入。让 AI 修改一个几百行的函数,结果它把整个上千行的文件读进来。如果文件超过数万行,一次读入就很可观。
  • 大范围任务。比如让 AI“重构整个登录模块”,它需要反复读取多个模块文件、判断依赖、猜测改动范围,输入和输出都会翻倍。
  • 失败重试。代码运行报错后,把报错日志贴回去,AI 又读一遍相关文件,再生成一版新代码。来来回回,token 就像滚雪球。
  • 多终端并发。在多个终端窗口同时跑 Claude Code,每个任务的上下文独立计算,总消耗叠加,账单自然上涨。

之所以先讲这些,是因为后面的六个技巧基本都围绕同一件事:减少 AI 在无关内容上的投入,减少无效重试。

2. 技巧一和技巧二:先把上下文管住

六大技巧里,最先要做的不是调参数,而是管住上下文长度。上下文是 Claude Code 成本的大头,长上下文会让每次请求的输入 token 持续膨胀。

2.1 技巧一:及时用 /compact 压缩上下文

在交互式会话里输入:

/compact

Claude Code 会把当前会话的历史对话压缩成一份摘要,后续请求不再携带完整对话原文,而是携带摘要。这样能显著降低长时间对话后的输入 token。

什么时候适合用?我的判断标准有三个:

  • 同一个会话已经连续完成多个任务,上下文里堆了很多旧内容。
  • 后续回复开始明显变慢,或者你感觉模型“记不住重点”。
  • 日志里显示输入 token 越来越大,但当前任务还没结束。

需要留意的是,/compact 不是无损操作。压缩后会丢失一部分细节,比如之前的临时结论、具体路径、你随口提过但没写进代码的参数。所以在压缩前,先把重要结果保存到文件里,或者确保它们已经写进 CLAUDE.md。

如果当前任务已经彻底结束,更干脆的做法是直接输入:

/clear

清空整个会话,从零开始。清空后,对话历史不再作为上下文,自然不再产生历史累积。

我一般会给自己定一个节奏:每完成一个相对独立的功能,就 /clear 一次;同一个功能里需要反复调整时,等基本稳定后先 /compact,再继续下一阶段。这样不会因为频繁清空丢掉任务背景,也不会让历史无限膨胀。

这里需要注意,/compact 和 /clear 都是交互式命令,不影响代码文件本身。它们只是控制“模型看得到多少上下文”。

2.2 技巧二:用 CLAUDE.md 沉淀项目规则

CLAUDE.md 是 Claude Code 在项目根目录读取的项目规则文件。启动后它会自动把它当作上下文背景。这意味着,你不必在每个新会话里重新解释项目技术栈、目录结构、测试命令和编码约定。

这部分省 token,不是靠“减少单次开销”,而是靠“减少反复交代的次数”。假设你每次开新会话都要花 200 token 解释项目规则,一天 10 个会话就是 2000 token。这些规则写进 CLAUDE.md 后,每次会话开头自动带上,虽然也会消耗 token,但不会因为你忘了说而变化,也不会因为你重复描述而翻倍。

一个示例 CLAUDE.md 内容:

# 项目规则 - 技术栈:Python 3.11 + FastAPI + SQLAlchemy - 测试命令:pytest tests/ - 代码规范:使用 ruff 检查;不要修改 migrations/ 下已有文件 - 启动命令:uvicorn app.main:app --reload

创建方式有两种:手动创建,或者在 Claude Code 中输入 /init 让它先生成一版,再人工精简。

这里有一个反向风险:CLAUDE.md 并不是越详细越好。因为它会作为每一次请求的固定上下文发送,写太多反而增加每次调用的输入 token。控制在一个合理范围很重要,我个人建议尽量精简到 30 到 80 行,只写“经常用、不经常变、写错代价大”的信息。

比如,不要放整段代码示例,不要放大段架构历史,也不要放几百个依赖清单。真正值得放的,是测试命令、构建命令、目录约定、禁止改动的地方。这样每次请求只是多带几十行文本,却能避免很多无效轮次。

写作时要注意:CLAUDE.md 本质上是给模型看的“项目记忆”,它不是执行脚本,也不用写成正式文档。写得越直接,越省 token。

3. 技巧三和技巧四:别让 AI 做“大而全”的输出

上下文管住后,第二类开销是输出 token。很多人在 prompt 里没有限制输出范围,AI 会给出一大段解释、计划、示例,甚至反复生成完整文件。这部分的浪费同样

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询