上下文缓存
提示词缓存(Prompt Caching)可以减少重复输入内容的 Token 计费,适用于多轮对话中固定的 system prompt、长文档分析等场景。
工作原理
在多轮对话中,每次请求都需要 携带完整的历史消息,这意味着固定不变的内容(如 system prompt、工具定义、长文档)会被反复计费。
提示词缓存的核心思路:对于请求中重复出现的前缀部分,只在首次写入时全价计费,后续命中缓存时大幅降低费用。

支持的协议
CloudBase AI 通过 Anthropic Messages API 协议支持提示词缓存:
| 协议 | 缓存支持 | 说明 |
|---|---|---|
| Anthropic Messages API | ✅ 支持 | 显式缓存 + 自动缓存 |
| Chat Completions API | — | 不支持客户端缓存控制 |
| CloudBase SDK | — | 不支持客户端缓存控制 |
备注
使用 Chat Completions 协议或 CloudBase SDK 时,服务端可能有内部缓存优化,但客户端无法显式控制。如需精确控制缓存行为,请使用 Anthropic Messages API。
使用方式
- 显式缓存
- 自动缓存
在需要缓存的内容块上添加 cache_control 标记:
curl "https://<ENV_ID>.api.tcloudbasegateway.com/v1/ai/cloudbase/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "hy3-preview",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "你是一个法律条文分析专家。以下是一份完整的合同规范(共 5 万字):...",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [
{"role": "user", "content": "请找出关于违约金的条款"}
]
}'
第一次请求会将 system prompt 写入缓存,后续相同前缀的请求将命中缓存,大幅降低 Token 费用。
在请求体最外层声明 cache_control,系统自动识别重复的静态前缀进行缓存:
curl "https://<ENV_ID>.api.tcloudbasegateway.com/v1/ai/cloudbase/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "hy3-preview",
"max_tokens": 1024,
"cache_control": {"type": "ephemeral"},
"system": "你是一个专业的天气查询助手。",
"tools": [
{
"name": "get_weather",
"description": "获取指定城市的实时天气",
"input_schema": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名称"}
},
"required": ["city"]
}
}
],
"messages": [
{"role": "user", "content": "今天北京天气怎么样?"}
]
}'
自动缓存适合多轮对话场景,系统会自动判断哪些前缀内容可以缓存。