CoreCode文档

用好 CoreCode

Claude Code 省钱指南

最后更新:2026 年 10 月 30 日

Claude Code 一天花掉几十美元并不少见。大部分钱不是花在“写代码”上,而是花在每一轮都要重发的上下文上。这一页先讲钱花在哪,再给出不影响效果的省钱做法。缓存的细节见 缓存与计费。

要点
  • 账单的大头是每一轮重发的上下文,也就是输入侧,而不是输出。
  • 按 Anthropic 定价,Opus 5.5 和 Sonnet 5.5 的缓存读取是输入价的 0.05 倍(Haiku 5.5 为 0.1 倍),5 分钟缓存写入 1.25 倍,1 小时缓存写入 2 倍。
  • 日常任务用 Sonnet,难题再用 Opus,并在任务开头定好模型。
  • 换任务就 /clear,长会话适时 /compact,精简 CLAUDE.md 和 MCP。
  • auto 模式每次调用工具前的分类器请求几乎不命中缓存,可能占掉很大一部分花费。

钱花在哪里

Claude Code 每一轮都把系统提示、工具定义、读过的文件和整段对话重新发给模型。一个进行了一会儿的会话,每轮发出去的是几万到几十万 token,模型回复的只有几百到几千。所以:

省钱就是三件事:用合适的模型,让缓存一直命中,别让上下文无谓地变长。

一、选对模型

  1. 日常任务用 Sonnet。改 bug、写测试、补文档、按清楚的需求实现功能,Sonnet 足够,单价远低于 Opus。用 /model 切换,或启动时 claude --model claude-sonnet-5-5。
  2. 难题再用 Opus。架构设计、跨很多文件的重构、Sonnet 反复做不对的问题,值得用 Opus。
  3. 在新会话开始时定模型。缓存按模型区分,会话中途切模型,下一轮要把整段上下文按写入价重来一遍。要换就在任务开头换,或者换完先 /compact。

各模型单价见 价格表,各模型适合什么任务见 模型怎么选。

二、让缓存一直命中

  1. 一个任务在一个会话里做完。中途不切模型、不切思考强度、不连接或断开 MCP 服务,这些都会让缓存失效。
  2. 经常停顿就开 1 小时缓存。默认缓存只保留 5 分钟,开会回来第一轮就要整段重写。在 settings.json 的 env 里加 "CLAUDE_CODE_PROMPT_CACHE_TTL": "1h",见 1 小时缓存。
  3. 选会话粘性好的中转。同一个会话的请求如果在多个上游账号之间跳,缓存几乎每轮都失效,花费能翻好几倍。CoreCode 按会话 ID 固定账号;别家可以用 检测脚本 的缓存一项看出来。

三、控制上下文

  1. 换任务就 /clear。上一个任务的文件和对话对新任务没用,每轮却照样要发。
  2. 长会话适时 /compact。压缩后第一轮要重写缓存,之后每轮都更便宜。不要为了“清爽”新开会话把上下文重新铺一遍,那比压缩更贵。
  3. 考虑关掉 1M 上下文。在 env 里加 "CLAUDE_CODE_DISABLE_1M_CONTEXT": "1",上下文上限变成 200K,会更早触发自动压缩,每轮发送的上下文更短。
  4. 精简 CLAUDE.md 和 MCP。CLAUDE.md 每轮都会发;写清规则即可,不要贴整份文档。用不到的 MCP 服务断开,并保持默认的 MCP 工具搜索开启(不要设置 ENABLE_TOOL_SEARCH=false)。

auto 模式要算一笔账

auto 权限模式要判断每个操作能不能放行。CoreCode 透传 Claude Code 的服务端审查,正常情况下不会多出请求。但如果设置了 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS,Claude Code 会改为每次调用工具前另发一个分类器请求:这些请求几乎不命中缓存,在真实案例里只占三分之一的请求数,却花掉了六成的额度,而且在 CoreCode 上按你会话的模型计费。CoreCode 不需要这个变量,删掉即可。Claude Code v2.1.283 起新会话默认就从 auto 开始,不需要无人值守时,按 Shift+Tab 切到 Manual 或“自动接受编辑”模式。详细分析见 auto 模式的开销。

自查:钱到底花在哪了

Anthropic 官方的 Claude Code 成本说明 也列了一些控制花费的做法。对着日志还是看不出原因,把那几条请求的时间发给我们,我们可以查上游的账号和路由。

常见问题

Claude Code 为什么这么费 token?

因为它每一轮都把系统提示、工具定义、读过的文件和整段对话重新发一遍。会话越长,每轮发出去的越多;命中缓存时这部分在 Opus 5.5 和 Sonnet 5.5 上只按输入价的 5% 计。

怎么知道一个会话花了多少?

在 Claude Code 里输入 /usage(或 /cost),/context 看上下文被什么占满;控制台的使用日志里每条请求都有用量和费用。

开 1 小时缓存一定更省吗?

不一定。1 小时缓存的写入价是 5 分钟的 1.6 倍(2 倍对 1.25 倍)。经常停顿五分钟以上才划算,停顿少反而更贵。

只用 Opus,账单里为什么有 Haiku 或 Sonnet?

后台摘要、子代理和 auto 模式的分类器会用其他模型,见 账单里的其他模型。