详细解释
提示词缓存(Prompt Caching) 是 2024 年下半年起各大厂商竞相推出的重磅能力,现在已经变成企业级 API 的”标配”。它的本质是把 Prompt 的”计算结果——即 Transformer 在预填充阶段产出的 KV(Key-Value)张量,保存在 GPU 显存或 GPU 本地存储上。当后续请求使用完全相同的前缀时,跳过 Prefill 不再重新计算,直接读缓存。
官方参考:OpenAI Prompt Caching 官方指南。
能带来什么
- 成本下降 50%–90%:缓存 Token 只收 1–2 折甚至 0 折;
- 首 Token 延迟下降 30%–80%:长前缀不用再花时间做 Prefill;
- 等效 ITPM 提升:部分厂商缓存不计入 ITPM(如 Anthropic Claude)。
唯元智创(Weimeta)在 2025 年率先在全部接入的聚合层做了”多级缓存路由,把命中相同前缀的请求主动调度到同一台缓存服务器,实测命中率比裸调上游高 15%–30%。
触发条件(OpenAI 为例)
- Prompt 长度 ≥ 1024 Token(前缀太短不缓存);
- 前缀 精确匹配(逐字节一致);
- 图片/工具参数内容也必须完全相同;
- 服务端按前 256 Token 做哈希路由到同一缓存机器。
两种保留策略
| 策略 | 适用模型 | 保留时间 |
|---|---|---|
| 内存缓存(in_memory) | 旧模型、入门档 | 5–10 分钟不活跃,最长 1 小时 |
| 扩展缓存(24h) | GPT-5.x / GPT-4.1 等新模型 | 最长 24 小时,KV 卸载到 GPU 本地盘 |
常见问题
我把 System Prompt 放在前面,用户问题放在后面,能命中吗?
可以!只要只要前面的部分完全一致——这正是推荐的写法。把固定内容(系统提示、Few-Shot示例、文档)放 Prompt 最前,用户问题、变量放最后。