Claude Code Token 节省完全指南:从入门到进阶

专为 Claude Code 用户写的 token 节省指南:/compact、/clear 的使用时机,CLAUDE.md 的正确写法,@文件引用,任务分解,以及最容易踩的 5 个 token 浪费误区。

发布于 2026-03-29

Claude Code 是一款按量计费的 AI 编程工具——你每次让它读文件、写代码、搜索内容,都在消耗 token,都在花钱。好消息是,同样的任务,有经验的用户和新手之间的 token 消耗差距可以达到 3–5 倍

这篇指南专门针对 Claude Code,把所有能用上的节省方法整理在一起。


先看懂:Claude Code 一次请求消耗什么

当你在 Claude Code 里发出一条消息,实际发送给模型的内容远不止你那句话:

实际请求 = CLAUDE.md 内容
           + 对话历史(从头到现在)
           + 你主动 @ 的文件内容
           + Claude Code 自动读取的文件
           + 工具调用结果(搜索结果、命令输出等)
           + 你的这条消息

其中对话历史文件内容是两个最大的变量,也是最有节省空间的地方。


核心工具一:/compact/clear

这是 Claude Code 独有的两个对话管理命令,用好了能节省大量 token。

/compact — 压缩对话历史

执行 /compact 后,Claude Code 会把当前对话历史总结成一段摘要,替换掉原来的完整历史。之后的请求携带的是摘要,而不是几十轮对话的完整记录。

什么时候用

  • 一个任务已经完成了大半,但还需要继续在同一个对话里工作
  • 对话历史超过 30–40 轮,感觉越来越慢
  • 切换到新的子任务,但想保留一点上下文

效果:一次典型的 /compact 可以把对话历史从 20,000+ token 压缩到 2,000–3,000 token。

# 在 Claude Code 对话框中直接输入:
/compact

/clear — 清空重来

执行 /clear 后,对话历史彻底清空,下一次请求只有 CLAUDE.md 的内容作为背景。

什么时候用

  • 当前任务完全结束,准备开始完全不相关的新任务
  • 对话出现了混乱(AI 开始输出莫名其妙的内容)
  • 你只是想要一个干净的起点

/compact vs /clear 的选择

情况建议
同一功能还没完成,但对话太长/compact
当前 bug 修好了,接下来改别的/clear
AI 似乎”搞混”了,输出不对/clear
想保留”我们正在做 X 项目”的大背景/compact

核心工具二:CLAUDE.md 的正确写法

CLAUDE.md 是 Claude Code 每次对话都会自动读取的项目说明文件。写好它,能避免你在每次对话里重复解释项目背景。

应该写什么

# 项目说明
这是一个用 Astro 5 + TypeScript 构建的静态网站,部署在 Vercel。
包管理器:pnpm。Node 版本:20+。

# 目录结构关键点
- data/tools/*.yaml    工具数据文件
- src/lib/data.ts      数据加载和类型定义
- src/page-views/      页面模板组件

# 编码规范
- TypeScript:不用 any,优先用 interface 而不是 type
- 样式:TailwindCSS,不写内联 style
- 命名:文件 kebab-case,函数 camelCase

# 常用命令
- npm run dev          本地开发
- npm run build        构建(每次改动后验证)

不应该写什么

CLAUDE.md 的内容每次对话都会被发送,写太多会反过来浪费 token。

  • ❌ 不要粘贴大段代码示例(放到专门的文件里,需要时再引用)
  • ❌ 不要写变动频繁的内容(比如”当前正在做 X 功能”)
  • ❌ 不要超过 500 行——超过这个长度,本身就是 token 负担
  • ✅ 写稳定的、每次都需要的背景信息

精确引用文件,不要”读一遍再说”

Claude Code 会在你要求时自动读取文件。但读取是有代价的:一个 300 行的 TypeScript 文件大约消耗 1,500–2,000 token。

错误习惯 → 正确习惯

❌ 让 AI 先扫描整个项目

“先看看 src/ 目录里有什么,然后帮我……”

这会导致 Claude Code 读取几十个文件,消耗大量 token,而其中大部分文件跟你的任务毫无关系。

✅ 直接告诉它需要看哪个文件

“看一下 src/lib/data.ts 的第 45–80 行,这里的类型定义有问题”

✅ 如果不确定文件位置,先用 Grep 找

“在 src/ 目录里搜索 getAllTools,找到定义之后再帮我修改”

这样 Claude Code 只会搜索,然后精确读取那一个函数,而不是读整个目录。

分段读取大文件

如果必须处理一个很大的文件,告诉 Claude Code 只读相关部分:

“读一下 src/page-views/ToolDetailPage.astro 里关于评分展示的部分(大概在 100–180 行)“


任务分解:一个任务一个对话

这是最容易被忽视的习惯,也是节省效果最显著的一个。

反面例子

对话 1(用了 2 小时):
  - 修复了 3 个 bug
  - 添加了 1 个新功能
  - 重构了 2 个组件
  - 现在要继续调整样式……

到最后,这个对话的历史本身就有 10,000+ token,每次新的请求都要携带它。

正确做法:每个独立任务开一个新对话。

对话 1:修复登录 bug(完成后 /clear)
对话 2:添加搜索功能(完成后 /clear)
对话 3:重构 ToolCard 组件(完成后 /clear)
对话 4:调整首页样式

每个对话都很”干净”,只有当前任务需要的上下文。


善用 --limit 设置 token 预算

Claude Code 支持通过 --limit 参数给单次会话设置 token 上限,超过后会停止并提示你:

claude --limit 10000

这对新手非常有用:它强制你思考”这个任务真的需要这么多 token 吗”,也防止一不小心跑出一个消耗几万 token 的超长任务。


5 个最常见的 Token 浪费误区

误区 1:让 AI 反复确认

“你确定这样改是对的吗?” “再检查一遍有没有问题?” “确认一下你理解了我的意思”

每次这样的确认都是一次来回,消耗 token 但没有产出代码。解决方案:在第一次描述任务时就说清楚,信任 AI 的输出,只在真正有疑问时才追问。

误区 2:把错误信息全文粘贴

遇到报错,很多人习惯把整个 stack trace(几百行)粘贴进去。解决方案:只粘贴关键的错误行和最近的 10–15 行调用栈:

# ❌ 粘贴 200 行 stack trace

# ✅ 只粘贴关键部分:
Error: Cannot read properties of undefined (reading 'slug')
  at ToolDetailPage.astro:47
  at renderPage (astro/src/runtime/server/render/page.ts:89)

误区 3:让 AI 生成然后修改再生成

“帮我写一个组件” → (AI 输出)→ “不对,改成 X” → (AI 输出)→ “再加个 Y” → …

每次输出都消耗 token。解决方案:在第一次就把需求描述完整——包括样式、交互、边界情况。一次到位比三次来回便宜。

误区 4:在同一对话里做不相关的事

上午在这个对话里修了一个 bug,下午想在同一个对话里问一个完全不相关的问题。解决方案/clear 后开新对话,或者干脆新开一个 Claude Code 会话。

误区 5:忽略 Agent 模式的隐藏成本

Claude Code 的 Agent 模式(让它自主完成多步任务)非常强大,但每一步工具调用都会把结果塞回 context。一个”帮我重构整个模块”的 Agent 任务,可能在后台执行了 30+ 次文件读取和命令,token 消耗可以是普通对话的 5–10 倍。

解决方案:Agent 模式用于明确边界的任务(“把这个文件里的所有 var 改成 const”),不要用于模糊的大范围任务(“把这个项目优化一下”)。


配合外部工具:RTK 和 ccusage

RTK — 压缩 Claude Code 的命令输出

Claude Code 执行 Bash 命令时(Agent 模式下尤为频繁),原始输出会完整进入 context。一次 npm test 的输出可以有几千 token,但 AI 真正需要的只是失败的测试名和错误信息。

RTK(Rust Token Killer) 是一个 CLI 代理,安装后自动在命令输出进入 context 前做压缩:

# 安装(macOS/Linux)
curl -fsSL https://install.rtk-ai.app | sh

# 在 Claude Code 中启用
claude --rtk

RTK 的压缩策略

  • 聚合重复日志(Error: timeout 出现 100 次 → 显示 1 次加计数)
  • 过滤模板噪音(构建日志的 banner、进度条等)
  • 保留结构,丢弃实现细节

实测:cargo test(262 个测试)从 4,823 token → 11 token;git diff 大文件从 21,500 → 1,259 token。平均节省 60–90%,对 Agent 模式的密集命令执行场景效果最显著。


ccusage — 看清楚你在哪里花钱

Claude Code 把每次会话记录在本地 JSONL 文件里。ccusage 读取这些日志,告诉你实际花了多少:

# 今日/本月总览
npx ccusage

# 按天分布
npx ccusage daily

# 查看最贵的几次会话
npx ccusage session --top 10

如果你刚开始用 Claude Code,建议先跑一周 ccusage,看看哪类任务最烧 token,再有针对性地调整工作方式。

项目地址:github.com/ryoppippi/ccusage


实用参考:按任务类型估算 token 消耗

任务类型典型 token 消耗建议
问一个简单问题500–1,000正常
修复一个小 bug(1 个文件)1,000–3,000正常
添加一个功能(2–3 个文件)3,000–8,000注意任务拆分
重构一个模块(5+ 文件)10,000–30,000拆成多个对话
Agent 自主完成复杂任务20,000–100,000+谨慎使用,设 --limit

总结:Claude Code Token 节省的优先级

按节省效果排序,最值得养成的习惯:

  1. /clear 在任务完成后立即执行(对话历史是最大的隐性消耗)
  2. 写好 CLAUDE.md,不要每次重复背景信息
  3. 精确引用文件,不要让 AI 自己探索整个项目
  4. 一个任务一个对话,不要把不相关的事混在一起
  5. /compact 处理长对话,而不是让它无限增长
  6. Agent 模式设置 --limit,防止失控

把这 6 个习惯落地,Claude Code 的使用成本通常可以降低 40%–60%。

📚 继续阅读

📚 相关指南

📖 相关对比文章

🔧 文中提到的工具

💰 相关省钱方案

基于本文涉及的工具与 API,这些组合能帮你以更低成本上手。

🎁 领取优惠 & 免费试用

汇总各工具与 Coding Plan 的免费额度、首月折扣与注册入口,随时更新。

查看优惠福利 →