按稳定程度排列可缓存的上下文
Assemble cached prefixes by stability
确认服务支持前缀缓存后,把稳定输入放前面;缓存异常时检查实际生成的前缀。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
你在一个已核实支持前缀缓存的宿主上反复分析同一政策和文档。教学请求 N 为“request_id=r1 → policy-v2 → document-a → question-1”,N+1 开头变成 r2。动态 id 放在共享内容前,可能破坏可复用前缀;本篇只讨论组装和检查,不实际调用付费 API。
具体做法
追踪最终发送载荷里的所有输入,区分全局稳定、会话变化和每次请求变化的部分。按宿主契约把稳定政策与文档放在前面,独有 id 与问题放尾部;若需显式缓存边界,按支持的方式设置。对相邻真实渲染载荷比较共享区,再核对缓存读取记录及资格/就绪条件。改变内容或权限时仍及时更新,不能为了命中缓存保留过期规则。
反例
每次在政策和文档前插入新 request_id,再添加缓存标记。因为政策语义相同,直接报告缓存一定命中并节省固定费用。
改进写法
按已核实的宿主缓存契约组装教学请求:policy-v2 → document-a → 支持的共享边界 → request_id 与当前问题。对 N/N+1 核对最终发送的共享部分及 system/tools/history 中相关变化,而不是只看模板。再检查合格后续请求的缓存读取记录;零读取时同时检查资格、有效期、就绪与载荷差异,不保证固定价格或命中率。使用合成材料检查,不记录真实秘密。
为什么这样改
缓存比较的是宿主规定的实际输入区域,语义相同或标记存在不足以说明可复用。把变化移到尾部让稳定部分更容易满足契约,实际指标再告诉你是否发生复用;成功响应本身不能证明缓存生效。
如何验证
教学载荷比较应显示两个请求共享 policy-v2 与 document-a,而 r1/r2 和问题在边界后变化。检查工具定义或历史也没有在共享范围内意外改写。
示意报告可以写“前缀结构满足约定,缓存命中尚未实测”;只有真实读取记录才支持命中主张。零读取需要按条件诊断,不自动等于字节变化。
适用边界
缓存键、标准化、边界、有效期和就绪条件依提供方而异,冻结来源的 beta、模型和价格不是当前事实。隐私、授权、内容时效与评审独立性优先于复用;不要为了缓存把本应分开的会话或评审合并。
原文与版本
- anthropics/skills · Assembly input stability
查看此版本的文件8a1541c4a3ff - anthropics/skills · Measured cache regression and overlap diff
查看此版本的文件8a1541c4a3ff - anthropics/skills · Capture requests and diff consecutive pairs
查看此版本的文件8a1541c4a3ff - anthropics/skills · Fix one cause per diff and remeasure
查看此版本的文件8a1541c4a3ff - anthropics/skills · Canonical view and component diff
查看此版本的文件8a1541c4a3ff