Claude Code 账单突然变高?会话开多久合适,什么时候该 /new(2026年7月更新)
一句话结论:Claude Code 账单突然变高,大概率不是模型变贵了,是会话开太久、又恰好在某一轮做了打断 Prompt Cache 前缀的操作(改 CLAUDE.md、换模型、恢复中断的会话),两件事撞在一起导致的。判断该不该开新会话,看任务是否需要延续之前的上下文,不看感觉。
最近看到不少人在抱怨同一件事。Claude Code 前几天用着挺顺,突然某天账单跳了一大截,任务也没变复杂,钱却多花了不少。Reddit、Discord 上这段时间在问同一个问题的人不少。
排查原因的帖子列了一堆:文件读太多,CLAUDE.md 写太长,测试日志刷屏,MCP 工具返回的数据量太大。这些都对,但很少人讲清楚一件事:这些问题基本都指向同一根线,就是会话开得太久,前缀越拖越重。
一次对话不是"一次对话"
Claude Code 每一轮请求,都会把这次会话到目前为止的所有历史内容重新发一遍。你说过的话,它读过的文件,跑过的命令输出,全都在里面。会话越长,这份"包袱"越重,而它是每一轮都要花钱重新处理的。
Anthropic 的 Prompt Cache 能省掉这部分钱,前提是前缀不能变。中间只要有一处不一样,改了 CLAUDE.md、换了模型、或者用不太规矩的方式恢复会话,前缀从那个点往后全部要重新算。会话进行到第几轮,代价就是这几轮的量级。
不是哪天模型突然变贵了。是那天的会话已经积累了不少历史,又恰好在这个点上做了一次会打断缓存的操作,两件事撞在一起,账单就显得离谱。
那到底该开多久
没有固定数字,但可以按任务类型来判断。
修完一个 bug,接下来要做的是完全不相关的另一件事,就别接着往下聊了。历史包袱在这种情况下没有价值,只有成本。开新会话这个动作本身是免费的,真正花钱的是把不该粘在一起的东西粘在了一起。
反过来,如果在处理一个需要多轮上下文的重构,中途反复开新会话反而不划算,每次重新建立上下文都要花一遍成本,让会话完整跑下去比频繁打断更省钱。
任务做完了但对话还没结束,可以考虑 /compact。这个命令会把已有历史压缩成摘要,触发时那一次要按全价重新计算,所以最好在上下文还不算太长的时候就做。攒到很晚才压缩,代价只会更大。
恢复中断的会话,能不用就尽量不用。中断后再接上的方式,序列化和反序列化过程中很容易和原来的前缀产生细微差异,前缀一旦不一致,之前积累的缓存基本就废了。真要接续,宁可开个新会话,用一两句话把上下文说清楚,成本比接续失败要低。
怎么知道自己现在处在哪种情况
看请求返回里的 usage 字段,具体是 cache_read_input_tokens 和 input_tokens 这两个数。一个进行中的会话,正常情况下 cache_read_input_tokens 应该远大于 input_tokens,大部分内容在吃缓存,只有新增的一小块按全价算。
如果哪一轮突然反过来,input_tokens 变得很大而 cache_read_input_tokens 掉到接近零,说明前缀在这一轮被打断了。回想一下上一步做了什么,通常就能找到原因。
我现在的习惯是,做完一个明确的子任务就看一眼这两个数字。如果发现历史已经堆得不轻,就会决定这轮之后要不要开新会话,而不是等账单出来才想起来钱花在哪了。
顺带说一句,如果是通过第三方接入 Claude API,这两个字段同样能验证对方是不是把 cache_control 老老实实转发给了官方。像灵眸AI(api.lmuai.com)这类平台,usage 里能看到完整的 cache_read_input_tokens;如果一个平台的返回里始终没有这个字段,那么前面讲的所有省钱思路,在它身上基本都用不上。
会话该开多久,其实不是靠感觉,是有具体机制可以验证的。判断的关键在于想清楚接下来的任务是不是需要之前的上下文,需要就让它继续,不需要就开新的。
常见问题
Claude Code 一天没做什么大改动,账单为什么突然翻倍?
大概率是会话积累了不少历史(Prompt Cache 前缀已经很长),又恰好在这个点上做了一次会打断缓存的操作(改了 CLAUDE.md、换了模型、或者恢复了中断的会话)。前缀一旦被打断,之前攒的历史全部要按全价重新算一遍,会话进行到第几轮,代价就是这几轮的量级。
什么时候该用 /compact,什么时候该用 /new?/compact 适合"这个任务还没做完,但对话已经很长了"的情况,把历史压缩成摘要继续往下做;/new 适合"接下来要做的事和前面完全不相关"的情况,历史包袱在这种场景下没有价值,只有成本。
恢复中断的会话安全吗?
不建议依赖这种方式继续正在进行的任务。中断后重新接续,序列化和反序列化过程容易和原来的前缀产生细微差异,前缀一旦不一致,之前积累的缓存基本就废了。真要接续,开个新会话用一两句话说清楚上下文,成本比接续失败要低。