变换
自动缓存:Anthropic 系统提示词
在系统提示词之后插入 Anthropic cache_control 缓存断点。
请求级缓存设置占用四个缓存槽位中的一个。每个显式节点断点占用一个槽位。达到四个槽位后,这些变换不再添加标记。
行为
此变换在请求的最后一个 system 或 developer 节点上插入 Anthropic ephemeral cache_control 缓存断点。上游随后缓存稳定的系统前缀,并在后续请求中直接读取缓存。
请求中没有 system 或 developer 节点时,此变换不做任何修改。
参考信息
| 属性 | 值 |
|---|---|
| 类型 ID | cache_anthropic_system |
| 阶段 | request |
| 范围 | Provider, API 密钥 |
适用场景
- 上游兼容 Anthropic 协议,且缓存写入和读取按折扣价计费。
- 客户端在每个请求中都发送冗长且稳定的系统提示词。
配置
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
ttl | string | 否 | "5m" | 5m 或 1h。插入的缓存断点的有效期。5m 发送 {"type": "ephemeral"},1h 额外添加 "ttl": "1h"。 |
启用 1h 前,请检查所选 Provider 的定价。缓存写入费用使用已配置的计费 Profile。
1h 断点位于 5m 断点之后时,Anthropic 会拒绝请求。所有 Anthropic cache_* 规则应使用相同的 ttl,或只在靠前的断点上使用 1h。
Provider 规则先于 API 密钥规则运行。后运行的规则会改写 Monoize 已插入断点的 TTL,因此 API 密钥规则覆盖 Provider 规则。客户端自带的 cache_control 始终保持不变。请在缓存规则之前执行修改或重排节点的变换。目标变化后,后续规则不会再覆盖原有标记。内容完全相同的节点也不再保留标记归属,以免误改客户端标记。
示例规则
{
"transform": "cache_anthropic_system",
"enabled": true,
"phase": "request",
"models": [
"claude-*"
],
"config": { "ttl": "1h" }
}与 cache_anthropic_tool_use 组合使用,可以在工具循环中同时缓存会话前缀。