开发者发现关闭Claude Code遥测后,提示缓存时间从1小时降至5分钟,引发"隐私换性能"质疑。Anthropic工程师解释,这是因遥测关闭导致客户端实验开关失效的技术耦合,非故意惩罚。1小时缓存并非总是最优,其写入成本高而读取成本低,是否经济取决于使用模式。Anthropic计划提供环境变量让用户强制切换缓存时长,并否认12倍性能差距的说法,称实际Token节省有限。
开发者 Can Vardar 发现,Claude Code 里如果关闭遥测(telemetry,即向 Anthropic 回传使用数据),提示缓存时间会从 1 小时骤降到 5 分钟,他算了笔账说这相当于隐私换 12 倍性能,给 Anthropic 扣了个邪恶公司的帽子。
这条推文传开后,Anthropic 工程师 Boris Cherny 出来做了详细回应。
Claude Code 的缓存策略一直是个黑盒子,Boris 的这条推文把里面的细节讲的比较清楚了,推荐可以仔细看看。
他先澄清了一个误解:1 小时缓存并不是无条件更好。缓存写入成本更高、读取成本更低,划不划算取决于你怎么用。如果你只是跑了一次查询就走了,1 小时缓存反而浪费钱,因为你付了写入的高价却没享受到反复读取的便宜价。
实际上 Anthropic 一直在根据使用场景做精细化调整。比如子任务(subagent)很少被恢复,给它 1 小时缓存纯属白花钱,所以这类查询就保留 5 分钟。API 用户目前也没有默认开启 1 小时缓存,还在测试阶段。
关掉遥测导致缓存变短,Boris 说这其实是个连带效应:遥测关闭后,客户端的实验开关也跟着失效了,系统读到的就是默认值 5 分钟。换句话说,这不是故意惩罚,是技术实现上的耦合问题。
Boris 还透露了后续计划:很快会把部分查询的客户端默认值改成 1 小时,同时提供环境变量让用户自己强制切换 1 小时或 5 分钟。
至于12 倍性能差距,Boris 说远没有那么夸张,实际节省的 Token 量并不大。