Prompt caching в Claude Code: как включить и сэкономить
Prompt caching это кэширование повторяющихся частей промпта. Если в каждом запросе летит один и тот же системный промпт, CLAUDE.md и длинный контекст, кэш отдаёт их дешевле, а не тарифицирует по полной. На длинных сессиях и регулярных вызовах API экономия существенная. В самом Claude Code кэш системных частей включён по умолчанию, для своих скриптов его надо включать явно.
Что кэшируется
- Системный промпт, который не меняется между ходами.
- CLAUDE.md и статичные инструкции проекта.
- Любой повторяющийся блок промпта, который вы явно помечаете.
Сколько экономит
| Сценарий | Эффект кэша |
|---|---|
| Короткая сессия, мало повторов | незаметный |
| Длинная сессия, тяжёлый контекст | заметный на каждом ходу |
| Скрипты с одним системным промптом | сильный, кэш переиспользуется |
| Меняющиеся промпты без повторов | почти нет эффекта |
Как включить через API
В своих скриптах и интеграциях кэш включается явно в теле запроса, пометкой блока для кэширования. Точные поля зависят от версии SDK, суть одна: вы говорите «этот кусок не меняется, отдай его из кэша».
// псевдокод, поля зависят от версии SDK
{
"model": "claude-sonnet-4-6",
"system": [
{ "type": "text", "text": "<длинный системный промпт>", "cache_control": {"type": "ephemeral"} }
],
"messages": [...]
}
Что не заменить кэшем
Кэш снижает цену повторяющихся частей, но не спасает от раздутого контекста. Если у вас 10 MCP и длинная история, кэш смягчит, но чистка контекста сэкономит больше.
Эффект кэша виднее всего, когда платите за токены напрямую. CLOD даёт доступ к Opus 4.8 и Sonnet 4.6 с оплатой рублём.
Частые вопросы
Prompt caching включён в Claude Code по умолчанию?
Системные части кэшируются автоматически. Для своих скриптов и интеграций через API кэш надо включать явно в теле запроса.
Сколько экономит кэш?
Зависит от сценария. На длинных сессиях и повторяющихся промптах заметно, на коротких и меняющихся почти ничего.
Кэш живёт вечно?
Нет, он протухает через ограниченное время. Эффект виднее на плотной серии запросов, а не на редких вызовах.
Кэш заменяет чистку контекста?
Нет. Кэш снижает цену повторов, но раздутый контекст всё равно дорогой. Сначала чистка, потом кэш сверху.