缓存能活多久,现在是个要算的参数

一个做工单分类的团队,Agent 是事件驱动的:工单进来就醒,处理完就睡,下一次可能是五分钟后,也可能是三小时后。系统提示加十四个工具定义,八千多 token,每醒一次全量重发一遍。

看到 API 里缓存保留时间可以选 12 小时了,他们直接把全局配置从默认的 30 分钟改了过去。月底对账,账单涨了十几个点。

问题不在算术,在这个参数的名字太容易让人误会。

只动了"写入价"那一栏

10 月 20 日那次更新很小:Responses API 多了个 `prompt_cache_options.ttl`,能填 "12h",默认还是 "30m",只对 GPT-5.6 及之后的模型生效。

三个价格栏位里,只有一栏变了。缓存写入,30 分钟档是输入价的 1.25 倍,12 小时档是 2.5 倍;缓存读取没动,多数模型 0.1 倍,GPT-6.1 Sol 是 0.05 倍;未命中的输入价也没动。

按 GPT-6.1 Sol 每百万输入 token 2 美元算,十万 token 的前缀写一次,30 分钟档 0.25 美元,12 小时档 0.5 美元,之后每次读 1 美分。

所以它不是"更省钱"的开关,是"押复用次数"的开关。同一段前缀每隔一小时发一次,30 分钟窗口每次都过期,那就每次都得重写:发一次是 1.25 对 2.5,发两次是 2.5 对 2.6,发三次才是 3.75 对 2.7。三次才开始赚,两次以内反而更贵。

工单连续涌入的时段,请求本来就在 30 分钟窗口里反复命中,TTL 改成 12 小时,等于把每次写入的钱翻了一倍。真正需要 12 小时的,是那些"隔几小时才回来"的会话:人工审核卡着、CI 排队、夜间批量任务挂在同一个上下文上。

我后来给他们的办法很土------拿一周的真实请求,把两种设置各跑一半流量,按模型分开对账。调用散在几家供应商的时候这事很烦,把入口收到 EasyAPI 一处之后才做得动:不是因为便宜,是账单本来就把缓存读、缓存写、未命中分开统计,不用自己再洗一遍日志。

12 小时"不是缓存寿命,是计费资格

文档写得很克制:这个值规定的是"按缓存输入价计费所对应的最短生命周期",不是删除时限,OpenAI 也可能留得更久;它同样不保证每次请求都能命中,也不保证降低延迟。

这句话背后是三件互不相关的事:有效期、命中率、响应延迟。你买的是一个资格,不是一次命中。

还有两个细节容易踩。可缓存的最小前缀是 1024 token,短提示压根不进这套机制;同一个请求里可以按断点混用两种 TTL,每个 token 按覆盖它的最长寿命计一次写入价。所以把稳定的系统提示和工具清单放最前面吃 12 小时、会话内容放后面吃 30 分钟,是官方推荐的用法,也是唯一不浪费的用法。

顺带说一句,Codex 和 Work 的登录用户被承诺"缓存永久保留",这话是产品负责人在社交平台讲的,文档里没有对应条款。口头承诺能改善体验,但没法写进预算表。

而"缓存能活多久"这件事,两天之内被两家公司推到了完全不同的量级。同样是 10 月 20 日,DeepSeek 开源的推理引擎 DeepInfer 里提到,块 KV 缓存不放本机内存,而是存进一套约 100 PiB 的分布式存储:Agent 流量留三天,对话流量留七天;内存里那层滑动窗口缓存,180 秒窗口命中率 98%,未命中只重放尾部 128 个 token。这些是官方自报的数字,缓存管理代码没一起开源,也还没有第三方复现。但方向清楚:缓存寿命正在从"分钟级"往"小时级、天级"推,并开始被当成可竞争的指标。

它能不能变成账单上的钱,取决于你自己的请求节奏配不配得上这个寿命。

把"打盹时长"当成指标来测

那次对账之后我建议他们做三件事,顺序不能反。

**第一,先量间隔分布,别先改配置。**把两周内相邻两次请求的时间差拉出来,看 P50、P90,再算超过 30 分钟的占比。九成请求都在十分钟内连着来,12 小时就是纯多付;一半请求隔两小时以上,那它大概率划算。这个数只能从自己的日志里捞。

**第二,按稳定性分层,不要全局一刀切。**系统提示、工具定义、few-shot、不常改的参考文档放最前面给长 TTL;会话上下文、用户输入放后面用默认值。前缀顺序错了,中间改一个字节缓存就全废,这比 TTL 选错的代价大得多。

**第三,算"一次写入换回多少次读取"。**这个比值低于 2 就该退回 30 分钟。OpenAI 八月上线的缓存仪表盘、九月的缓存诊断工具,看的都是这类数。

改 TTL 本身倒不难,模型名和参数本来就写在配置里,换一档或者换回来不用动业务代码------用 EasyAPI这类统一入口是这个逻辑,自己包一层薄代理也一样,区别只在省多少时间。试错阶段这一点比省下来的那点钱重要,因为没人能一次猜对。

最后

模型单价这一年降了不少,但"你的请求以什么节奏到达"这件事,一直没人认真算过。缓存寿命变成请求参数之后,它第一次直接出现在账单上:同一段提示,一小时调一次和一天调一次,成本结构完全不是一回事。而这个区别,只有你自己知道。

相关推荐
小道士写程序1 小时前
Rust 元组详解:复合类型的基础
开发语言·rust
jyOverQ1 小时前
从零开始学 RocketMQ(四):集群部署、消息存储与高可用【保姆级教程】
java·rocketmq·java-rocketmq
lucas_AI1 小时前
LLM 啃不动 500 万行代码?爱立信把「一次性的文档」变成「毫秒级检索引擎」
人工智能
aneasystone本尊1 小时前
学习大模型训练的反向传播与优化器
人工智能
鲸能云1 小时前
智能微电网平台架构设计:多能数据接入与AI调度闭环
人工智能
论文复现现场1 小时前
RTX 3090 云GPU租赁价格对比:8家平台配置、计费方式与环境测试
linux·运维·人工智能·pytorch·深度学习·云计算·3090
艾莉丝努力练剑1 小时前
【AI大模型接入SDK】Trae生成代码介绍
网络·c++·人工智能·学习·架构
小裕哥略帅1 小时前
行级数据权限控制@DataPermission
java·开发语言
kaixin_啊啊1 小时前
【零基础学AI】第 16 章课后练习与答案
人工智能·ai