大模型上下文会计入输入用量,但满足条件的重复前缀可能按缓存输入价格处理。Prompt Caching 复用的是提示开头完全一致的已渲染前缀;后续问题不同并不妨碍前面稳定部分命中,前缀中途改动则会让改动后的部分无法复用。
什么会影响缓存命中
OpenAI Prompt Caching 指南说明,缓存上下文包含开发者消息、工具定义、对话历史及支持的多模态内容。模型、工具顺序、Schema 和相关设置改变,都可能改变渲染后的前缀。

- 把长期不变的规则和工具定义放在前面,把每次变化的用户数据放在后面。
- 保持工具名称、描述、Schema 和顺序稳定,不要为每个请求随机重排。
- 同一模型与配置下比较请求;换模型后不能沿用旧命中结论。
- 不要为了缓存把不同用户的私密数据拼成共享前缀。
用响应 usage 核对,而不是凭感觉
准备两次相同长前缀、仅末尾问题不同的请求,记录两次响应的输入用量细分和延迟。再把前缀开头的一条规则改掉,发第三次请求。若模型与长度符合缓存条件,第二次应显示相应的缓存输入信息;第三次可能减少命中。具体字段和阈值以当前响应对象与官方文档为准。
| 请求 | 变化 | 要核对的证据 |
|---|---|---|
| A | 首次发送稳定前缀 | 输入 Token 与缓存明细 |
| B | 只改末尾用户问题 | 缓存输入是否增加 |
| C | 修改前缀中部规则 | 改动后的缓存是否失效 |
费用计算边界
缓存并不代表输入免费。不同模型的普通输入、缓存输入和缓存写入价格可能不同,长上下文也可能使用不同档位。应从官方价格页读取当天价格,并用真实 usage 对账。本文没有在读者账户发起请求或测量节省比例,不提供固定命中率;只有实际响应和账单能证明你的请求是否省钱。
常见问题
问:为什么内容看起来一样却没命中?空格、工具定义顺序、Schema、模型或前置消息都可能改变渲染后的前缀。保存规范化前的实际请求配置,逐项比较。
问:是否应该把所有规则塞进超长前缀?只有每次都需要、长期稳定的内容才适合放前面。无关规则既增加输入,也可能干扰模型;先以任务质量为门槛,再优化缓存。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31449.html