Claude Code 跑大项目时 token 烧得快,大家有什么省 token 的技巧吗?

最近用 Claude Code 改一个 Vue3 + TypeScript 的项目,发现一旦让它读多个组件文件,token 涨得特别快,一次会话动不动就跑掉好几万。

我现在用的方法:

  1. 让它先读 tsconfig.json 和文件夹结构,再决定改哪个文件
  2. 单次只让它改 1-2 个文件,避免 context 膨胀
  3. 大段改动前先让它输出 plan,确认后再实施

请教大家还有什么实际有用的省 token 技巧?比如 prompt 写法、.claude/ 配置等。

楼主用的不是 sonnet 4.5 吧?sonnet 4.5 长 context 时会自动做摘要,不太用手动控制。换 sonnet 4.5 试试。

几个我用了半年总结下来的经验:

  1. 善用 /clear 清掉历史 context,但保留 CLAUDE.md
  2. 写好 CLAUDE.md,把项目架构、命名约定、不能改的文件、跑测试的命令全写清楚,Claude 不会再瞎摸索
  3. 巨大的文件先用 grep / rg 截关键片段再喂,别整文件 cat 进去
  4. 长任务用 Task 调用 subagent 隔离,主 context 不会被污染
  5. 装 ccusage 这个 CLI 实时监控会话消耗,很容易发现哪一步最烧

之前一天稳定 200k+ tokens,用上这套后降到 60k 左右,输出质量没下降。

上面说的 CLAUDE.md 确实是关键。我把项目 src 结构、命名约定、跑 lint/test 的命令全写进去,Claude 基本不会再去瞎读文件确认了。一次省好几 k tokens。

省什么 token,你充会员不就是为了让它干活吗。该烧就烧,别因为省 token 让效率打折。

我做的是 monorepo 项目,分享下我的实操:

用 sub-agent 隔离调研类任务。你让主 agent 去“调查 X 怎么实现”,它会读一堆文件然后污染整个对话。换成 Task 工具调用 sub-agent 去查,sub-agent 自己烧自己的 context,最后只返回结论给主 agent,主对话窗口干净很多。

plan-first 模式。重要改动前先让它写 plan,确认思路 OK 再让它写代码。否则它写完发现思路有问题,又重写一遍,等于双倍消耗。

模型分级。简单 lint 修复用 haiku,逻辑重构用 sonnet,复杂架构决策才用 opus。Claude Code 的 model 切换很方便。

至于 .claude/settings.json,关掉那些当前不用的 MCP server,它们的 tool schema 平时也是要占 context 的。

看完楼上一堆技巧,总结一句话:花时间研究怎么省 token,不如直接升 max20x。

sub-agent隔离调研这招真香,主上下文干净多了