GPT-6.1 Terra 缓存分析的标题卡
Guides & Insights

GPT-6.1 Terra 缓存:每次读取五美分,以及写入何时划算

作者

Elias Hawthorne

发布日期

最新模型 · 20查看全部模型 →
基准测试:Artificial Analysis · 每日更新
返回全部文章

GPT-6.1 Terra 的缓存输入价格为每百万 token 0.05 美元——比每百万 token 1.00 美元的标准输入价格低 95%,也是整张价目表上最大的单项折扣。代价在账本的另一面:写入缓存每百万 token 收费 1.25 美元(保留 30 分钟),或 2.50 美元(保留 12 小时)。同一前缀读取两次的工作负载是划算的;而每次调用都重建前缀的工作负载则要支付写入费用,却永远拿不到折扣——而价目表不会告诉你自己属于哪一种。

本文进行了测算:精确的盈亏平衡点、三个不同规模的实战工作负载、与272K长上下文悬崖的相互作用,以及那些会在不知不觉中破坏缓存的提示工程习惯。

这四个数字

• 标准输入 — 每百万 token 1.00 美元。

• 缓存输入 — 每百万 $0.05,享受 95% 折扣。

• 缓存写入,保留 30 分钟——每百万 1.25 美元。

• 缓存写入,保留 12 小时 — 每百万 $2.50。

超过 272,000 个输入 token 后,所有价格都会翻倍:输入 $2.00、缓存 $0.10、缓存写入 $2.50。因此,长上下文这一临界点不仅提高了输入费率,还同时抬高了缓存和缓存写入的价格。

作为对比,GPT-6.1 Sol 的缓存输入价格为 $0.10,而 GPT-5.6 Terra 为 $0.20。Terra 五美分的读取价格是该系列中最便宜的,而 95% 的折扣正是让重复的长上下文调用在经济上真正成为可能的关键。

精确的盈亏平衡点

假设一个包含 P 个 token 的前缀在 N 次调用中被复用,并暂且忽略输出。

• 无缓存时:N × P × $1.00。

• 使用缓存:一次写入按 $1.25 × P 计费,随后 N 次读取按 $0.05 × P 计费。

令二者相等:0.95N = 1.25,因此 N ≈ 1.32。在实践中,这意味着第二次调用就已经盈利:写入成本为每百万 1.25,而每次读取可节省 0.95,所以两次读取所节省的就能超过写入成本。在 12 小时保留期下,写入成本为 $2.50,盈亏平衡点是 2.63 次读取——第三次调用即可回本。

这个门槛比大多数团队以为的要低。常见误区是,只有复用率非常高时缓存才划算;在这块卡上,只要前缀确实匹配,从第二次请求开始就划算。

三个工作负载

一个 50,000 token 的系统提示词,分布在 10,000 个短请求中。未缓存时:10,000 × 50,000 × 每百万 $1.00 = 仅前缀就要 $500。启用缓存后:一次写入 50,000 × 每百万 $1.25 = $0.0625,再加上 10,000 次读取,每次 50,000 × 每百万 $0.05 = $25。总计 $25.06——前缀成本节省了 95%,而缓存写入成本更是可以忽略不计。

一个 90 万 token 的代码仓库,涵盖 20 个问题。未启用缓存时,每个请求都会触发长上下文费率:90 万 × 每百万 $2.00 = 每次调用 $1.80,二十次就是 $36。启用缓存后:一次写入 90 万 × 每百万 $2.50 = $2.25,随后二十次读取,每次 90 万 × 每百万 $0.10 = $0.09,合计 $1.80。总计 $4.05——节省了 89%,而这十八美元的差额,就是某些产品的全部利润。

一份 20,000 token 的文档分布在三个问题中,每个问题都有不同的人设和指令。这就是缓存失效的情形:如果调用之间前缀发生变化——不同的系统提示、不同的指令顺序、在顶部插入了用户 ID——模型就会看到三个不同的前缀,并写入三份缓存。未缓存和“缓存”的成本相同,只是你还要为写入付费。解决办法是结构性的:把所有可变内容放到提示末尾,并把文档和稳定指令保留在前端。

什么会破坏缓存/p> p>OpenAI 的提示缓存作用于请求中未更改的前缀。提示词中任何靠前位置发生的变化都会使之后的所有内容失效。常见原因包括:/p> p>• 系统提示词中出现时间戳或请求 ID。这是缓存命中率为 0% 的最常见原因。/p> p>• 把按用户定制的个性化内容放在顶部,而不是底部。/p> p>• 工具定义被重新排序,或工具列表在多次调用之间发生变化。/p> p>• 检索步骤每次都以不同顺序拼接文档。/p> p>• 模板引擎造成的空白字符变化——重新格式化一个 JSON 块就足以造成影响。/p> p>• 在流程中途在 Chat Completions 和 Responses 之间切换,这会改变序列化后的前缀。/p> p>诊断方法很简单:记录每个请求的前 2,000 个 token 并对其进行哈希。如果本应完全相同的多次调用之间哈希发生变化,那么缓存已经失效,再怎么调优也无法让它恢复。/p> h2>缓存与 272K 断崖

二者之间的相互作用很容易被忽略。一个 25 万 token 的缓存前缀,读取价格为每百万 token $0.05,写入价格为 $1.25。将其增长到 30 万 token,所有数字都会翻倍:读取 $0.10,写入 $2.50,而未缓存的部分按 $2.00 计费。一旦流水线跨过这一阈值,缓存侧和未缓存侧都要付出这道断崖的代价。

这会形成一种并不显而易见的设计动机:如果一个工作负载刚好略高于 272K,把前缀压缩到 270K 就能让账单减半,而任务本身毫无变化。删掉一段模板化的套话、去掉一个多余的检索块,或把某个示例移出系统提示,这些做法在临界点附近所带来的价值,高于在价目表上任何其他位置。

缓存与替代方案

• 缓存 — 当同一长前缀在保留窗口内被多次重复使用,且该前缀确实保持稳定时,效果最佳。

• 分块——当文档很大但每个问题只涉及一小部分时最合适;即便按缓存费率计算,检索也比发送 900K 个 token 更便宜。

• Batch/Flex — 标准价的 50% 折扣,但批处理延迟以小时计;它可与缓存叠加,不能与实时产品叠加。

更便宜的模型——GPT-6 Luna 定价为 $0.10/$0.50,在简单任务上甚至能胜过 Terra 的缓存价格,因为 Luna 的非缓存输入价格仅为 Terra 缓存输入价格的两倍。

最后一项比较,是各团队最容易忘记的那一项。缓存只是 Terra 上的一种折扣,并不能保证 Terra 就是回答问题最便宜的方式。对于基于 50,000 个 token 的提示进行分类,如果任务足够简单,那么按每百万次读取 $0.01 计费的缓存版 Luna 仍然是成本更低的一方。

你今天可以运行的内容

GPT-6.1 Terra 在撰写之时尚未收录于 OrcaRouter 的目录中,因此其缓存行为只能直接对照 OpenAI 进行实测。目前已上线的模型——GPT-6.1 Sol,价格为 $2/$10,缓存命中费率为 $0.10;GPT-5.6 Terra,价格为 $2/$12,缓存费率为 $0.20;GPT-6 Luna,价格为 $0.10/$0.50——均可在一个密钥上以供应商标价 0% 加价进行调用测试。

要建立的衡量指标不是“缓存是否有效”——它确实有效——而是“我的流量中有多大比例具有稳定前缀”。只有这个比例才能决定 Terra 的五美分读取对你的账单是否有意义,而它取决于你的提示词,而不是模型。

A chart comparing cached and uncached costs for GPT-6.1 Terra at 50K, 272K and 900K prefix sizes, including cache write and break-even call countsScreenshot of OpenAI's model documentation for GPT-6.1 Terra showing the $0.05 cached input rate and $1.25 and $2.50 cache-write ratesScreenshot of the OrcaRouter model page for GPT-6.1 Sol showing its $0.10 cached input rate and $2.00 input pricing

本文中的对比1

根据本文内容识别 · 基准测试:Artificial Analysis · 每日更新