Prompt Caching
Экономия до 90% на повторяющихся промптах.
Что такое Prompt Caching
Prompt Caching позволяет переиспользовать начало промпта между запросами, экономя токены.
Запрос 1:
[Системный промпт 5000 токенов] + [Вопрос 1: 50 токенов]
→ Cache MISS: оплата 5050 токенов (полная цена)
→ Промпт закэширован
Запрос 2:
[Тот же системный промпт 5000 токенов] + [Вопрос 2: 50 токенов]
→ Cache HIT: оплата 50 токенов полная + 5000 со скидкой 90%
Поддержка
| Провайдер | Поддержка | Скидка |
|---|---|---|
| Anthropic | ✅ | 90% |
| OpenAI | ✅ | 50% |
| OpenRouter | Зависит от модели | Varies |
| GigaChat | ❌ | — |
| YandexGPT | ❌ | — |
Цены кэширования (Anthropic)
Для Claude моделей:
| Операция | Множитель | Цена для Sonnet 4.5 |
|---|---|---|
| Обычный input | 1.0x | $1.50/1M |
| Cache write | 1.25x | $1.875/1M |
| Cache read | 0.10x | $0.15/1M |
Как работает
Первый запрос (Cache MISS)
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4-5-20250929",
messages=[
{
"role": "system",
"content": LARGE_SYSTEM_PROMPT # 5000 токенов
},
{"role": "user", "content": "Вопрос 1"}
]
)
Биллинг:
- System prompt: 5000 × $1.875/1M (cache write) = $0.009375
- User message: 50 × $1.50/1M = $0.000075
- Input итого: $0.00945
Следующие запросы (Cache HIT)
response = client.chat.completions.create(
model="anthropic/claude-sonnet-4-5-20250929",
messages=[
{
"role": "system",
"content": LARGE_SYSTEM_PROMPT # Тот же самый!
},
{"role": "user", "content": "Вопрос 2"} # Новый вопрос
]
)
Биллинг:
- System prompt: 5000 × $0.15/1M (cache read) = $0.00075
- User message: 50 × $1.50/1M = $0.000075
- Input итого: $0.000825 (экономия 91%!)
Usage в ответе
{
"usage": {
"prompt_tokens": 5050,
"completion_tokens": 200,
"cache_creation_input_tokens": 5000, // Cache write
"cache_read_input_tokens": 0 // Cache read
}
}
При следующем запросе:
{
"usage": {
"prompt_tokens": 5050,
"completion_tokens": 150,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 5000 // Из кэша!
}
}
Условия кэширования
Минимальный размер
| Модель | Минимум токенов |
|---|---|
| Claude 3+ | 1024 |
Промпты меньше минимума не кэшируются.
Время жизни кэша
- Anthropic: 5 минут неактивности
- При каждом использовании TTL обновляется
Что кэшируется
Кэшируется точное совпадение начала промпта:
✅ Кэшируется (одинаковый system prompt):
[System: "Ты помощник..."] + [User: "Вопрос 1"]
[System: "Ты помощник..."] + [User: "Вопрос 2"]
❌ НЕ кэшируется (разный system prompt):
[System: "Ты помощник..."] + [User: "Вопрос 1"]
[System: "Ты эксперт..."] + [User: "Вопрос 2"]