一个开发者的真实经历上周,我收到一位朋友的微信:“我用 Claude Code 接 DeepSeek API,明明代码没怎么变,token 消耗却突然涨了好几倍,一天就把额度用完了。”这个情况不是个例。在 GitHub 上,至少有 80 多个相关 issue,核心问题都指向同一个点——Claude CLI 默认添加的 CCH(Claude Code Attribution Header)导致第三方服务的缓存失效。问题到底出在哪?让我们先搞清楚什么是 CCH。Claude Code 每次向模型发送请求时,会在系统提示词(system prompt)的最开头插入一段特殊字符串,格式类似这样:anthropic-attribution: cch=abc123-def456-ghi789-jkl012这段字符串相当于一个"请求指纹",每次请求都不一样。缓存机制是怎么工作的?很多第三方 API 服务(包括各种中转站、代理网关)都有提示词缓存机制:当你发送一个请求时,服务会把请求内容的开头部分作为缓存 key如果下次请求的开头和之前一样,就直接用缓存,不用重新计算这样既省时间,又省 tokenCCH 为什么会让缓存失效?问题就在这里——缓存比对通常是按"开头内容"来算的。Claude Code 每次在开头塞的 CCH 都在变,第三方服务就会以为这是个全新的请求,缓存完全失效,只能从头开始计算。结果就是:响应变慢,token 消耗暴涨。为什么官方 API 没事?Anthropic 自家的服务器认识这个 CCH,算缓存时会自动把它忽略掉,所以官方渠道不受影响。