新人 免费注册,送 10 次调用,最高 $1,免绑卡。
GPT-5.6 提示词指南:两个默认设置让费用增加到 1.5 倍和 10 倍

GPT-5.6 提示词指南:两个默认设置让费用增加到 1.5 倍和 10 倍

目录
  1. GPT-5.6 请求应该怎么写?
  2. reasoning_effort 应该怎么设置?
  3. 提示词怎么组织才能让缓存真正省钱?
  4. 从 GPT-5.5 迁移提示词时会遇到什么问题?
  5. 应该选择哪个档位运行提示词?
  6. 常见问题

要用好 GPT-5.6,关键基本在两个请求参数上,而它们的默认值恰好都是更贵的选项。在我们的 50 次调用测试矩阵中,省略 reasoning_effort 的费用是显式设为 "none" 的 1.5 倍,但答案完全相同。稳定前缀如果不加标记,每次调用都会按缓存读取费率的 10 倍计费。本文根据 GPT-5.6 成本指南中的实测结果,给出一套请求结构方案:规范的请求应该怎么写,如何按任务设置推理强度,怎样组织提示词才能让缓存生效,以及从 GPT-5.5 迁移提示词时会遇到哪些问题。

TL;DR

  • 每个 GPT-5.6 请求都要显式设置 reasoning_effort:在我们的 4 类任务测试矩阵中,省略该参数的费用是 "none" 的 1.5 倍,但答案完全相同。
  • 可用的推理强度从 nonexhigh;无论在 Sol 还是 Terra 上,传入 "max" 都会返回 400。
  • 用显式缓存断点标记稳定前缀:缓存读取按输入费率的 10% 计费,写入按 1.25 倍计费。因此,只标记确实会重复的内容,不要仅凭内容看起来稳定就缓存。
  • GPT-5.5 及更早版本会对 prompt_cache_options 和断点返回 400;上线时必须按版本控制。

GPT-5.6 请求应该怎么写?

可以从下面的结构开始,再删掉不需要的字段。两个关键参数都显式指定,避免继承成本更高的默认值:

{
  "model": "gpt-5.6-terra",
  "reasoning_effort": "low",
  "prompt_cache_options": { "mode": "explicit", "ttl": "30m" },
  "prompt_cache_key": "tenant-42",
  "messages": [
    { "role": "system", "content": "…stable instructions…",
      "prompt_cache_breakpoint": { "mode": "explicit" } },
    { "role": "user", "content": "…the part that changes per request…" }
  ]
}

组织顺序很简单:稳定内容全部放在断点之前,每次请求变化的内容放在断点之后。动态内容不能出现在标记块内,例如时间戳、用户名,以及每次调用都不同的检索文档。只要有一个字节变化,整个块就会重新按 1.25 倍的写入费率计费。prompt_cache_key 用于把重复请求路由到同一份缓存;每个租户或会话使用一个稳定的 key。文档给出的软限制约为每个 key 每分钟 15 个请求。

reasoning_effort 应该怎么设置?

始终显式设置。唯一应该避免的情况就是不设置。实测中,未传 reasoning_effort 的请求费用是显式设为 "none" 的 1.5 倍,但整个测试矩阵中的答案完全相同。可用值依次为 nonelowmediumhighxhigh;传入 "max" 会被拒绝并返回 400,错误信息会列出有效范围。下面是我们在 Luna 上用单行数学题测得的结果:

reasoning_effort推理 token答案单次调用成本
none0正确$0.000062
low52正确$0.000410
medium85正确$0.000608
high74正确$0.000542

在我们的 token 用量构成研究中,GPT-5.6 是唯一一个关闭推理后仍能正确回答该测试题的模型家族。因此,对于抽取、分类、格式转换和检索类调用,把 none 作为默认值是合理的。启用推理后,推理 token 不可见,但会按完整输出费率计费。在使用默认设置的数学题示例中,输出费用的 88% 来自用户看不到的思维链。只有评测表明任务确实需要时才提高推理强度,不要因为默认设置已经产生了这笔开销就继续沿用。

提示词怎么组织才能让缓存真正省钱?

按稳定性分层排列提示词,并在每层末尾加标记:先放系统指令,再放工具定义,然后是参考文档,每层结束处设置一个断点;易变的用户消息放在最后一个断点之后。每个请求最多可写入四次缓存。在默认的隐式模式下,系统会在最新消息处自动设置断点,占用其中一个写入名额。改用显式模式后,四个名额都能自行分配,更重要的是,只有明确标记的内容才会进入缓存。

分层缓存的价值在于可以部分复用,而且实测结果很明确。稳定块 A 不变、只替换尾部 B 时,计费系统只重新计算了尾部:在总计 2,431 个 token 的提示词中,1,212 个 token 按缓存费率读取,1,210 个 token 按写入溢价重新写入,费用与价目表逐位吻合。由此可以得出三条预算规则:

  • 读取按输入费率的 10% 计费,因此分层前缀一旦预热,输入侧费用就会大幅下降。
  • 写入按 1.25 倍计费,因此,一个标记后再也没有被读取的块,比完全不缓存贵 25%。只标记会重复的内容,不要把所有看起来稳定的内容都标记上。
  • 完整重复时,实际命中长度可能会缩短到标记位置之前(一次探测中,写入 2,422 个 token,只有 1,897 个 token 命中缓存)。预算应按折扣费率计算,不要依赖精确命中数量;各模型家族的最低缓存门槛见我们的 缓存最低门槛实测

ttl: "30m" 表示保证至少保留这么久,并非最长保留时间。它是 Claude 默认 5 分钟的 6 倍。现在已不再提供 24 小时档位,因此,依赖延长保留时间的每日批处理任务需要重新计算盈亏平衡点。

从 GPT-5.5 迁移提示词时会遇到什么问题?

两个问题会直接报错,另一个则不会。会直接报错的是:GPT-5.5 及更早版本会对 prompt_cache_optionsprompt_cache_breakpoint 返回明确的 400(prompt_cache_options is not supported on this model),所以共用的提示词构建器必须按版本控制。另一个是某些 5.5 配置使用的 "max" 推理强度,在 GPT-5.6 上也会被拒绝。

不会报错但成本更高的问题是:GPT-5.6 默认启用推理,而原来的 5.5 工作负载可能关闭了推理。迁移后的提示词如果没有显式设置 reasoning_effort,即使价目表相同,也会承担省略参数带来的 1.5 倍费用。缓存迁移则正好相反:5.5 的前缀自动检测不需要标记,但无法主动触发,也无法调试;同一份提示词放到 5.6 上后,只有明确标记才会生效。此后,每次写入都会记录在 usage.prompt_tokens_details.cache_write_tokens 中。缓存未命中时,这个新增字段会显示为零,而不是完全没有信息。

应该选择哪个档位运行提示词?

同一套请求结构适用于三个档位,因此档位选择只取决于价格,与提示词写法无关:Sol 每百万 token 为 $5/$30,Terra 是其一半,Luna 是其五分之一。当前缀已经稳定、设置了 key 并完成预热后,所有档位的输入侧费用都会因缓存读取折扣而降低,此时主要差异来自输出价格。在输出质量评测允许的范围内,尽量选择更低的档位。完整的档位成本计算,包括各档位写入溢价的盈亏平衡点,见成本指南

常见问题

GPT-5.6 是否支持 reasoning_effort: “max”?

不支持。无论在 Sol 还是 Terra 上,传入 "max" 都会返回 400,并列出从 nonexhigh 的有效值。需要最高档位的工作负载应显式传入 xhigh

缓存断点能否用于 GPT-5.5?

不能。GPT-5.5 及更早版本会拒绝 prompt_cache_options 和断点标记,并返回 400。这些模型仍然使用前缀自动检测,但无法主动触发、指定 key 或调试。应将其缓存行为视为尽力而为;任何会生成新字段的提示词构建器都必须按版本控制。

一个提示词实际应该使用多少个断点?

真正会重复的内容有多少层,就使用多少个断点,但不能超出配额:每个请求最多写入四次缓存。除非切换到显式模式,否则隐式自动断点会占用其中一次。典型的分层提示词需要两到三个断点,分别用于指令、工具和参考内容块。第五个标记不会报错,但只能与其他标记共享写入名额,因为后面的标记本身已经覆盖其前面的全部内容。

本文所有数据均通过 Synthorai gateway 在 GPT-5.6 首发模型上线当天实测,并与实时 usage.cost 计量结果核对一致。测试方法和原始探测结果见成本指南缓存最低门槛实测。请以自己的用量记录为准;费率和可用值可能发生变化。

← 返回博客