有开发者在Amazon Bedrock上用Codex CLI跑GPT-5.6 Sol模型做agentic编程任务,四天时间,系统账单显示这一个模型花了$1386.46,其中$1182.09是缓存写入的钱——占比接近85%。换句话说,这四天里,大部分预算不是花在真正的推理上,而是花在了一遍遍重写本该被缓存住的东西。
这事最先被当成"AWS计费出bug"传开,但把issue原文和技术细节拼起来看,真相更冷:问题不在云厂商的账单系统,而在Codex自己的请求里,少了一个字段。
四天烧掉的钱,长什么样
Codex CLI版本0.147.0,原生amazon-bedrock provider,请求经Bedrock Mantle Responses API打到us-east-1的openai.gpt-5.6-sol。2026年8月5日到8日,3656次请求,累计1.7194亿个cache-write token。另一份本地会话记录更直白:76次请求,cache_write_input_tokens高达670.9万,cached_input_tokens是零——平均每次请求写入约8.8万token的缓存,一次也没读到过。
AWS给GPT-5.6在Bedrock上配的是显式缓存模式:客户端要主动告诉服务端,哪一段是稳定不变的系统指令和工具定义,哪一段是每次都在变的对话内容。这条分界线靠的就是prompt_cache_options和prompt_cache_breakpoint两个字段。
Codex已经会给每个session生成一个prompt_cache_key,但不管走HTTP还是WebSocket,请求体里都没带上面这两个字段。结果就是,原本几千token长的系统提示和工具定义,每次请求都被当成"全新内容"整体重写进缓存,而不是命中已有缓存去读一下就完事。
一个字段,命中率从0到98.6%
这不是猜测。另一个关联issue #35300做过对照实验:一段约9000 token的稳定前缀,不加显式断点,缓存命中率0%,写入量约9060 token;加上显式prompt_cache_breakpoint之后,命中率跳到约98.6%,写入量降到123到128 token。
同一段前缀,同一个模型,唯一变量是有没有这个字段。命中率从0到98.6%,这基本就是因果关系的直接证据,而不是环境波动或运气。
账单涨了十倍,锅却不在云厂商。
再看定价本身: Bedrock费率卡上,缓存写入是普通input价格的1.25倍,缓存读取是0.10倍——写比读贵12.5倍,这是公开定价,不是算错账。真正的问题是,Codex把本该走"读"的请求,全部走成了"写"。所谓"10倍多收费",精确说法应该是:该走缓存读的流量,被迫走了贵12.5倍的缓存写,而这条岔路是客户端自己拐进去的。
值得补一句:issue作者自己也很克制,承认冷启动、真正不同的prompt、fork、上下文压缩(compaction)都可能需要正常的缓存写入,不是每一次写都算浪费。问题的边界很清楚:稳定前缀反复被当成新内容重写,这才是缺陷所在。
为什么Claude不容易踩这个坑
横向看一眼会更清楚问题出在哪层。Anthropic的Claude在Bedrock上的缓存定价结构和OpenAI几乎一样——5分钟缓存写入1.25倍input价,1小时缓存写入2倍,读取都是0.1倍。价格没有本质差别。
差距不在价格,在于Anthropic更早、更直接地把cache_control断点暴露给了开发者,工具链跟上了机制。OpenAI这边,GPT-5.5及更早的Bedrock模型走的是自动缓存、不额外收写入费,GPT-5.6换成了需要客户端主动配合的显式模式——机制升级了,但Codex的多provider适配层没跟上这次升级。这是典型的工程债务:功能在文档里,接口在服务端,唯独客户端没接进去。
谁会中招,现在能做什么
最容易踩雷的是那种系统指令长、工具定义多、又跑得频繁的agentic编程场景——前缀越长越稳定,本该省下的缓存读越多,现在反而被反复计费。
- 风险.在没有per-turn缓存读写遥测的情况下,普通用户几乎看不出自己正在为空转的缓存付费,只有等账单出来才后知后觉。
issue里提的四项修复请求——序列化prompt_cache_options、给输入内容块加prompt_cache_breakpoint、做能力门控和断点自动放置、把缓存读写量暴露在每轮usage里——目前都还是Open状态,没有合并时间表。#35300和#37674两个issue,一个提供了实验证据,一个提供了生产数据,指向同一个缺口。
短期内,受影响的团队能做的是自救:退回GPT-5.5的自动缓存模式,或者压缩系统提示和工具定义的长度,减少每次全量重写的体量。这算不上解决方案,只是止血。真正该盯的,是Codex什么时候把这道缝补上——在那之前,任何拿Bedrock上的Codex和Claude Code做TCO对比的团队,都得把这笔隐藏的写入成本算进去,而不是只看表面定价。
