Prompt Caching 是一个提示词缓存技能,用于对 Claude 和 OpenAI 的 LLM 提示词前缀进行缓存,资料称可实现 90% 的 token 节省。
【用途】 在调用 LLM 时,缓存提示词中重复且稳定的前缀部分,从而降低 token 成本。适用于优化 LLM 成本、设置缓存断点、缓存系统提示词,以及降低重复调用场景下的 token 开销。
【支持的模型(资料标注 2026)】
- Claude:Opus 4.1、Opus 4、Sonnet 4.5、Sonnet 4、Sonnet 3.7、Haiku 4.5、Haiku 3.5、Haiku 3。
- OpenAI:gpt-5.2、gpt-5.2-mini、o3、o3-mini(自动缓存)。
【主要能力】
- Claude 提示词缓存:通过 cache_control 断点构建消息。缓存结构按处理顺序为 tools → system → messages:系统提示词(缓存)、少样本示例(缓存)、用户内容(不缓存)。TTL 支持 "5m"(默认,写入成本 1.25 倍)或 "1h"(扩展,写入成本 2 倍)。每个请求最多允许 4 个断点。
- OpenAI 自动缓存:OpenAI 自动缓存前缀,无需 cache_control 标记;可在响应的 usage.prompt_tokens_cached 中查看缓存用量。
- 缓存监控:通过响应字段 cache_creation_input_tokens(新缓存)、cache_read_input_tokens(缓存命中)、input_tokens(未缓存)计算缓存命中率。
【缓存定价(资料标注 2026,相对基准输入价)】
- 5 分钟缓存写入:1.25 倍基准输入价。
- 1 小时缓存写入:2.00 倍基准输入价。
- 缓存读取:0.10 倍基准输入价(约 90% 折扣)。 资料给出的示例(Claude Sonnet 4,输入 $3/MTok):不使用缓存时总计 17,000 tokens 花费 $0.051;使用 5 分钟缓存后,首次请求为 $0.05625,后续缓存请求为 $0.0321,资料称每次缓存请求节省 37%,两次请求后达到盈亏平衡。
【扩展缓存(1 小时 TTL)】 资料建议在以下情况使用 1 小时缓存:提示词每小时复用超过 10 次;系统提示词高度稳定;token 数量超过 10k 以最大化节省。资料称 1 小时缓存在约 8 次读取后回本(2 倍写入成本 ÷ 每次读取约 0.9 的节省 ≈ 8 次读取)。
【缓存处理顺序】 缓存按顺序引用整个提示词:先 tools,再 system 消息,最后 user 消息。资料提示:扩展思考(extended thinking)会使消息缓存失效,但不会使系统/工具缓存失效。
【使用方式】 资料提供了 build_cached_messages 函数模板(Python),用于构建带缓存断点的消息;并提供 OpenAI 的自动缓存调用示例,以及用于监控缓存有效性的响应字段读取示例。
【最佳实践】
- 长且稳定的前缀放在前面,可变内容放在后面。
- 最小前缀大小:1,024 tokens(Claude)。
- 断点数量:每个请求 2-4 个。
- 内容顺序:稳定前缀优先。
- 默认 TTL:多数场景使用 5m;若每小时读取超过 10 次则使用 1h。
【常见错误】 在缓存前缀之前放置可变内容;断点过多导致额外开销;前缀过短(低于最小 1,024 tokens);未检查 cache_read_input_tokens;对低频调用使用 1h TTL(浪费 2 倍写入成本)。
【相关技能】 semantic-caching(Redis 相似度缓存)、cache-cost-tracking(成本监控)、llm-streaming(带缓存的流式输出)。
【能力细节】 anthropic-caching:关键词 anthropic、claude、cache_control、ephemeral;解决使用 Anthropic 提示词缓存、设置缓存断点、降低 API 成本。 openai-caching:关键词 openai、gpt、cached_tokens、automatic;解决使用 OpenAI 提示词缓存、为缓存命中构建提示词、监控缓存有效性。 wrapper-template:关键词 wrapper、template、implementation、python;解决提示词缓存包装模板、Python 实现、可插入式缓存层。
【限制】 资料未提供关于该技能自身的独立定价、安装方式或支持平台的信息。实际缓存行为、价格与模型支持情况以各提供商官方说明为准。