Claude Prompt Caching 怎么验收:静态前缀、动态尾部与缓存命中率
长文档问答接口明明打开了缓存,账单里的输入 token 却没有下降,延迟也忽高忽低。先别急着换模型,Claude Prompt Caching 的命中对象是“从开头到缓存断点的完整前缀”,只要静态内容前面混入了时间戳或随机请求号,后面的缓存就会一起失效。
- 静态 system、工具定义和背景资料应放在动态问题之前。
cache_control可以放在顶层做自动缓存,也可以放到具体 content block 做显式断点。- 默认 TTL 是 5 分钟,1 小时 TTL 有额外成本;命中会刷新缓存。
- 验收要看
cache_creation_input_tokens与cache_read_input_tokens,不能只看总耗时。
缓存到底命中了哪一段前缀
Anthropic 文档把可缓存内容按 tools → system → messages 排列。缓存断点之前的内容会整体参与前缀匹配,后续请求只有前缀一致,才可能复用已有结果。最小可用请求可以这样写:
{
"model": "claude-opus-5",
"max_tokens": 1024,
"cache_control": {"type": "ephemeral"},
"system": "固定的产品知识和回答约束",
"messages": [{"role": "user", "content": "本轮用户问题"}]
}
自动缓存会把断点向对话末尾推进,适合多轮上下文;如果要固定缓存产品手册或工具定义,则把 cache_control 写到具体内容块上。

静态前缀和动态尾部要拆开
| 位置 | 适合放什么 | 不要放什么 |
|---|---|---|
| 工具定义 | 稳定的 schema、字段说明 | 本次请求的时间和随机 ID |
| system | 角色、产品规则、长背景 | 每轮变化的用户偏好快照 |
| messages 尾部 | 本轮问题、短上下文 | 希望长期复用的大段资料 |
常见错误是把“今天的日期:2026-08-16”拼在 system 最前面。日期一变,整个前缀 hash 就变了。更稳的做法是把动态日期放到最后一个用户块,静态资料的断点保持不动。
TTL 与命中率怎么做一次可复现实验
用同一份长背景连续发送三次请求:第一次观察缓存写入,第二次在几秒内重复观察缓存读取,第三次等过期窗口后再测。默认缓存生命周期为 5 分钟,也可以指定 ttl: 1h;缓存每次被使用会刷新生命周期。
{"cache_control":{"type":"ephemeral","ttl":"1h"}}
记录响应里的 usage,不要只拿客户端耗时做结论:
{
"input_tokens": 1200,
"cache_creation_input_tokens": 18000,
"cache_read_input_tokens": 0
}
第一次通常更像写入;后续命中时 cache_read_input_tokens 应明显增加。若命中突然归零,优先对比断点之前的文本、工具定义、消息顺序和 TTL,而不是立即归因于模型波动。

显式断点的两个坑
一个请求最多只能使用有限的显式断点槽位,重复堆叠断点会得到 400。另一个坑是动态块本身被标成断点:每次内容变化都会产生新前缀,缓存写了很多次,却几乎没有读命中。
- 固定资料放在断点前,动态问题放在断点后。
- 工具、system、messages 的顺序保持稳定。
- 记录 TTL、模型、输入 token 和缓存读写 token。
- 跨环境比较时确认平台和模型一致,避免把配置差异误判成缓存失效。
上线前验收清单
- 同一静态前缀连续请求能观察到 cache read。
- 修改静态前缀中的一个字符后,能观察到重新写入。
- 动态用户问题变化不会破坏静态前缀的命中。
- 分别验证默认 5 分钟和 1 小时 TTL 的成本与过期行为。
- 把 usage、请求版本和断点位置写入监控,保留一次冷启动与一次命中样本。
相关问题
Prompt Caching 会缓存整个请求吗?
不会。它缓存的是到断点为止的 prompt 前缀,断点之后的动态内容仍需重新处理。
为什么打开缓存后成本反而变高?
首次写入有单独的 cache write 计费;如果请求很少、前缀经常变化,写入成本可能没有被后续命中摊薄。
自动缓存和显式断点怎么选?
多轮对话优先考虑自动缓存;需要固定手册、工具定义或不同更新频率的资料时,用显式断点更容易控制。
Prompt Caching 的核心验收不是“请求变快了”,而是能解释每次变快或变慢的原因:前缀是否稳定、断点是否合适、TTL 是否覆盖业务间隔,以及 usage 是否真的出现缓存读取。
MCP notifications/progress 怎么接:progressToken、递增进度与超时收口
- 上一篇
- MCP notifications/progress 怎么接:progressToken、递增进度与超时收口
- 下一篇
- PHP 8.5 Closure::getCurrent() 递归闭包怎么测:缓存、深度与异常边界
-
- 科技周边 · 人工智能 | 6小时前 | JSON · 人工智能 · schema · 工程实践 · 大模型 · Python LLM JSONSchema 结构化输出 JSON Schema 有限重试
- LLM 输出 JSON Schema 不稳定时怎么设计重试
- 480浏览 收藏
-
- 科技周边 · 人工智能 | 7小时前 | 人工智能 · OCR · 文档理解 · OCR 表格识别 行列关系 Table Transformer
- OCR 识别表格时如何保留行列关系
- 147浏览 收藏
-
- 科技周边 · 人工智能 | 11小时前 |
- RAG 文档切片的重叠长度怎么按检索目标调整
- 280浏览 收藏
-
- 科技周边 · 人工智能 | 12小时前 | 人工智能 · 向量数据库 · 索引选型 · 向量检索 vector index HNSW FLAT
- 向量索引选型时如何比较召回、内存和更新代价
- 485浏览 收藏
-
- 科技周边 · 人工智能 | 13小时前 |
- 图像输入的说明文字和图片内容冲突时如何设计提示
- 404浏览 收藏
-
- 科技周边 · 人工智能 | 14小时前 | openai · 工具调用 · 函数调用 · Responses API tool_choice allowed_tools
- OpenAI 工具选择策略怎么限制模型只调用指定工具
- 463浏览 收藏
-
- 科技周边 · 人工智能 | 14小时前 | 人工智能 · 结构化输出 · 接口排错 · 日志设计 · 结构化输出 JSON Schema Structured Outputs 响应校验 原始响应
- 结构化输出校验失败时应用层怎么保留原始响应
- 324浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 71次使用
-
- SuperCLUE
- SuperCLUE是权威的中文大语言模型综合评测基准,涵盖语言理解、知识应用、AI Agent智能体及安全性等12项核心能力。通过多轮对话与客观测试,定期发布榜单与技术报告,为模型研发、优化及行业选型提供科学依据。
- 233次使用
-
- C-Eval
- 深入了解C-Eval中文评估套件,涵盖52个学科与4级难度。本文详解其功能特点、Zero-shot/Few-shot使用方法及代码示例,助您全面评测LLM中文理解与泛化能力。
- 155次使用
-
- AI Prompt Library
- 探索AI Prompt Library免费资源库,涵盖营销、写作及多场景AI提示词。兼容ChatGPT、Claude等工具,一键复制优化输出,提升工作效率。
- 87次使用
-
- Generrated
- Generrated汇集9300+张DALL·E生成图像及对应提示词,支持查看完整图集、对比DALL·E 2与3版本差异,是AI绘图新手学习Prompt设计与获取创作灵感的实用工具。
- 64次使用
-
- Claude API 提示词缓存为什么总 miss:静态前缀、工具定义与 usage 核对
- 2026-07-18 280浏览
-
- OpenAI Responses API 上下文太长怎么压缩:/responses/compact 与状态续接边界
- 2026-08-16 428浏览
-
- Claude Messages API citations 怎么核对:document blocks、source 与引用位置
- 2026-08-21 295浏览

