变换
自动缓存:Anthropic 请求
为 Anthropic Messages 请求启用顶层自动缓存。
请求级缓存设置占用四个缓存槽位中的一个。每个显式节点断点占用一个槽位。达到四个槽位后,这些变换不再添加标记。
行为
此变换向请求 JSON 顶层添加 cache_control。上游会在对话增长时,将缓存断点移到最后一个可缓存内容块。客户端提供的 cache_control 值保持不变。
参考信息
| 属性 | 值 |
|---|---|
| Type ID | cache_anthropic_auto |
| Phase | request |
| Scopes | Provider, API key |
适用场景
当 Channel 接受 Anthropic 自动缓存时使用。保留 cache_anthropic_system 来缓存稳定的系统前缀。确认透传服务接受顶层字段。
配置
| 选项 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
ttl | string | 否 | "5m" | 5m 或 1h。插入的缓存断点的有效期。5m 发送 {"type": "ephemeral"},1h 额外添加 "ttl": "1h"。 |
启用 1h 前,请检查所选 Provider 的定价。缓存写入费用使用已配置的计费 Profile。
1h 断点位于 5m 断点之后时,Anthropic 会拒绝请求。所有 Anthropic cache_* 规则应使用相同的 ttl,或只在靠前的断点上使用 1h。最后一个块已有 TTL 不同的显式 cache_control 时,Anthropic 也会拒绝请求。
Provider 规则先于 API 密钥规则运行。后运行的规则会改写 Monoize 已插入断点的 TTL,因此 API 密钥规则覆盖 Provider 规则。客户端自带的 cache_control 始终保持不变。请在缓存规则之前执行修改或重排节点的变换。目标变化后,后续规则不会再覆盖原有标记。内容完全相同的节点也不再保留标记归属,以免误改客户端标记。
{
"transform": "cache_anthropic_auto",
"enabled": true,
"phase": "request",
"models": ["claude-*"],
"config": { "ttl": "1h" }
}