跳转到主内容

Claude Code Token 消耗的核心策略:从上下文管理到模型分层

2026-06-11claude-code · 效率 · Token · 上下文

Claude Code 的 Token 消耗中,输入 Token 通常占总量的 70%–85%,而输入的大头是上下文文件读取——不是你的 prompt。 省 Token 的主战场是上下文管理,而非逐条润色 prompt。本文列出四种策略方向,每种有独立的适用场景,可叠加使用。

适用场景
适用场景:Claude Code API Key 用户关注成本控制,Pro/Max 订阅用户关注会话免于提前截断。 本文讨论的是行为习惯和配置层面的优化,不涉及修改 Claude Code 源码或第三方 patch。
所有技巧基于 Claude Code v2.x 版本(2026-06)验证。

一、上下文管理:减少重复输入

每一条新消息,Claude Code 都会将完整的对话历史重新提交给模型。控制上下文的体积和重复次数,是降低消耗的最直接手段。

1.1 合并消息

将多个独立需求合并为一条指令,避免分开发送造成对话历史反复重传。

text
# 分开(3 次完整重传):
> 帮我把这篇内容总结一下
> 列出要点
> 起一个标题
# 合并(1 次重传):
> 帮我把这篇内容总结一下,列出要点,并起一个标题

1.2 定期压缩上下文

/compact 将对话历史压缩为摘要,保留关键决策和代码片段,丢弃中间讨论过程。在上下文到达 50% 左右时手动触发效果最好——越早做越便宜,留下的有效信息也越多。

bash
# 查看当前上下文用量
/context
# 手动压缩
/compact
# 在 settings.json 中调整自动压缩阈值(默认 ~90%,建议调低)
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "50"

1.3 用 Rewind 回退替代纠错消息

Claude 执行结果不对时,发一条"不对,应该这样..."会让旧对话历史再次提交。用 Rewind(双击 Esc)回退到出错前的节点,重新发指令——错误分支不占用后续 Token。

Rewind 与 /clear 的区别

Rewind:回到对话历史的某个具体节点,之前的信息保留,之后的丢弃。适合"这次执行错了,回到上一步重来"。
/clear:清空整个对话,从头开始。适合"这个任务做完了,开始新任务"。
两者不互斥——Rewind 用于同一任务内的纠错,/clear 用于任务切换。

Rewind 不会影响手动编辑的文件,也不会影响通过 bash 命令修改的文件内容。

1.4 按任务拆分会话

一个长会话做多个不相关任务 = 持续为已完成的对话付费。每个独立任务开新会话,任务完成后 /clear 释放上下文。如果确实需要延续,用 /compact 保留摘要、新建会话继续。

二、配置减重:降低每次启动的固定开销

Claude Code 每次会话启动时会读取项目级配置文件。这些文件的体积直接影响每轮对话的基础 Token 成本。

2.1 精简 CLAUDE.md

CLAUDE.md 全部内容在每次会话启动时加载。超过 3000 Token 的 CLAUDE.md 会持续占用上下文空间。只保留 Claude 做决策时需要的信息:项目简介、技术栈、编码规范、关键注意事项。不要放详细教程、API 参考手册、或每个文件的描述。

哪些内容不该放 CLAUDE.md
  • 冗长的安装教程 → 放 README.md
  • API 参考手册 → 放独立文档,让 Claude 需要时去读
  • 每个文件的用途清单 → Claude 启动时自动扫描项目结构
  • 通用编程规范(如"用 TypeScript 严格模式")→ 用 .claude/rules/ 按文件类型拆分

2.2 用 Skills 替代大块指令

Skills 采用渐进式加载——启动时只读名称和描述(约 100 Token),Claude 判断当前任务需要时才加载完整内容。相比全量加载的 CLAUDE.md,Skills 不消耗固定开销。

markdown
# .claude/skills/code-review.md
---
description: 审查代码变更,检查安全、性能和规范
---
# Code Review Skill
## 检查项
- 安全:SQL 注入、XSS、敏感信息泄露
- 性能:N+1 查询、不必要重渲染
- 规范:命名一致性、TypeScript 严格模式

2.3 配置 .claudeignore

阻止 Claude 读取无关文件——每次文件读取都消耗 Token。排除 node_modulesdist.git、大型二进制文件。

text
# .claudeignore — Claude Code 启动时自动加载
node_modules/
dist/
build/
.git/
*.min.js
*.lock
package-lock.json
pnpm-lock.yaml
coverage/
.next/
*.log

2.4 拆分项目规则

.claude/rules/ 目录按文件路径拆分规则——Claude 在修改特定文件时才加载对应规则,而不是一次性读完所有规则。这比 CLI 用户的 CLAUDE.md 更省上下文。

2.5 限制 Bash 输出

settings.json 中设置 BASH_MAX_OUTPUT_LENGTH 限制命令输出长度,避免测试日志、构建输出等大量文本占用 Token。

json
// ~/.claude/settings.json
{
"env": {
"BASH_MAX_OUTPUT_LENGTH": "2000"
}
}

三、模型与推理分层:按任务复杂度选模型

不是所有任务都需要 Opus 级别的推理。根据任务复杂度选择模型,在不影响产出的前提下降低单次调用的 Token 成本。

任务类型推荐模型原因
架构设计、重构、复杂调试Opus需要最强行推理
日常编码、代码审查Sonnet能力足够、成本更低
简单修改、格式调整、注释补全Haiku任务简单、高性价比
子代理(并行轻量任务)Haiku / Flash高度并行、需要控制总成本
模型切换方式

/model 切换当前模型,或通过 CC Switch 的配置路由自动分发不同任务到不同模型。

3.1 限制推理 Token

CLAUDE_CODE_MAX_THINKING_TOKENS 限制 Claude 在回复前的内部推理时间。复杂任务(架构设计)需要更多推理,日常任务(改函数名)不需要。

json
// ~/.claude/settings.json
"CLAUDE_CODE_MAX_THINKING_TOKENS": "4000"

四、会话习惯:每次交互的边际优化

4.1 用 /cost 和 /context 了解消耗

优化前先了解当前的消耗结构。/cost 显示本次会话的费用估算,/context 显示上下文用量分布。如果发现上下文长时间在 80% 以上,说明压缩策略需要调整。

4.2 避免让 Claude 读无关文件

明确指令范围——"分析这个项目的架构"比"看看这个项目"更能避免 Claude 逐文件扫描。发现 Claude 开始读无关文件时按 Ctrl+C 中断,修正指令后继续。

4.3 交互式确认前让 Claude 先讲计划

复杂任务(如跨文件重构)执行前先让 Claude 解释计划,确认方向正确后再让执行。避免"执行了一大圈全错了,重来",旧对话全部浪费。

text
# 先确认方案
> 我想重构 src/utils 的工具函数,你先说明一下你的方案和涉及的文件,不要直接动手。
# 确认后执行
> 方案可以,开始。

4.4 Skill 使用前确认标准

使用 Skill 做多轮迭代时,先和 Claude 确认评分标准、迭代轮数和边界条件,减少"不对,重来"的反复消耗。

4.5 禁用不必要的权限

settings.json 中用 permissions.deny 阻止 Claude 读取不会被需要的目录,从源头减少文件读取。

json
// ~/.claude/settings.json
{
"permissions": {
"deny": [
"Read(./node_modules/**)",
"Read(./.git/**)",
"Read(./dist/**)"
]
}
}

策略对比

策略生效时机适用人群改造成本
上下文管理每次会话所有用户行为习惯,一次配置
配置减重每次启动有项目配置的用户一次性配置
模型分层每次调用API Key 用户(直接感知价格差异)每次切换
会话习惯每次交互所有用户行为习惯
备注与相关阅读

以上技巧基于 Claude Code v2.x 版本(2026-06)验证。命令和配置项可能随版本更新变化,请以官方文档和 claude --help 为准。价格数据以 Anthropic 官方定价页和 DeepSeek 开放平台公告为准。

相关阅读《AI 编程的上下文管理》讨论了不同上下文引用方式的 Token 消耗对比;《让 AI 停止生成过期代码》介绍了 CLAUDE.md 和 .cursor/rules 的配置方法。

本文中的大部分命令和配置都可以交给 AI 编程工具执行——粘贴到对话框让它代劳。 涉及密钥、浏览器操作或系统级修改的步骤除外。详见《从「动手做」到「指挥做」》

有疑问?来这里找答案

如果对本站内容有疑问,推荐到视频或其他知识性平台寻求解决方法,也可直接向 AI 提问获得参考性回答(注意分辨 AI 回答的正确性)

视频教程
B站搜索教程
视频演示 + 疑难解答