Что такое кэширование промптов и как оно режет счёт за API в разы
Смотрите на прайс-лист любой современной модели и видите две цены за вход. У свежей Kimi K3, например: $0,30 за млн токенов с кэшем и $3 — без. Разница ровно в десять раз. У Anthropic и OpenAI картина похожая. Разбираемся, откуда берётся эта скидка и как её получать.
Зачем это вообще нужно
Каждый раз, когда вы отправляете запрос, модель заново «прочитывает» весь текст, который вы прислали. Это стоит денег и времени.
Проблема в том, что в реальных задачах большая часть присланного не меняется. Примеры:
- У вас чат-бот с системным промптом на 3000 токенов — инструкции, правила, примеры. Он одинаковый в каждом из тысяч запросов.
- Вы задаёте вопросы по документу на 200 страниц. Документ тот же, вопросы разные.
- У вас диалог, где история растёт — а начало переписки при этом неизменно.
Каждый раз платить за одно и то же — глупо. Кэширование промптов решает ровно это: модель запоминает уже обработанную часть и в следующий раз не считает её с нуля.
Как это работает
Механика простая: провайдер сохраняет внутреннее состояние модели после обработки вашего префикса — то есть начала запроса. Если следующий запрос начинается точно так же, эта часть берётся из кэша.
Ключевое слово — префикс. Кэшируется только начало, посимвольно совпадающее с предыдущим запросом. Изменили первый абзац — весь кэш насмарку, даже если остальные 200 страниц те же.
Отсюда главное правило, ради которого стоит читать этот гайд:
Неизменное — в начало, меняющееся — в конец.
Как перестроить запрос
Плохо (кэш не сработает):
[Вопрос пользователя] ← меняется каждый раз
[Документ на 200 страниц] ← постоянный, но стоит после
Хорошо (кэш сработает):
[Системный промпт] ← постоянный
[Документ на 200 страниц] ← постоянный
[Вопрос пользователя] ← меняется, но он в конце
Во втором случае модель берёт из кэша всё, кроме последней строчки. Счёт падает в разы.
У кого как устроено
| Провайдер | Как включается | Скидка на кэш | Живёт |
|---|---|---|---|
| Anthropic | Вручную: метка cache_control | до 90% | 5 минут, продлевается при обращении |
| OpenAI | Автоматически от 1024 токенов | около 50% | несколько минут |
| Kimi (Moonshot) | Автоматически | $0,30 против $3 (в 10 раз) | зависит от тарифа |
| Google (Gemini) | Явный context caching | около 75% | задаёте сами (платите за хранение) |
Важные нюансы:
- У Anthropic запись в кэш стоит дороже обычного входа (примерно на 25%). То есть если запрос уникальный и повторов не будет — кэш вам не нужен, он только удорожит.
- У Google вы платите за хранение кэша по времени. Для редких запросов это может выйти дороже, чем не кэшировать вовсе.
- Кэш живёт минуты, а не часы. Он рассчитан на серию запросов подряд, а не на «вчера спросил, сегодня продолжу».
Когда это реально выгодно
Кэширование окупается в трёх сценариях:
- Чат-бот с большим системным промптом. Классика. Инструкции на 3000 токенов × 10 000 запросов в день — вот тут экономия считается тысячами рублей.
- Серия вопросов к одному документу. Загрузили договор, задаёте двадцать вопросов подряд — платите за документ один раз.
- Агент с длинным контекстом инструментов. Описания функций постоянны, меняется только задача.
Когда не выгодно: разовые запросы, каждый раз новый текст, редкие обращения раз в час. Тут кэш либо не сработает, либо (у Anthropic и Google) обойдётся дороже.
Как проверить, что сработало
В ответе API есть счётчики токенов. У Anthropic это cache_creation_input_tokens (записали в кэш) и cache_read_input_tokens (прочитали из кэша). Если второе число растёт от запроса к запросу — всё работает.
Не работает — почти всегда причина одна: префикс перестал совпадать. Ищите, что в начале запроса меняется: подставленная дата, случайный ID, переставленные местами блоки.
Что запомнить
- Кэш экономит 50–90% на входных токенах — это самая дешёвая оптимизация из существующих.
- Кэшируется только префикс, посимвольно. Постоянное — в начало, переменное — в конец.
- Живёт минуты. Это про серию запросов, а не про «вернусь завтра».
- У Anthropic запись дороже обычного входа — для одноразовых запросов кэш вреден.
- Проверяйте по счётчикам в ответе API.
Как вообще устроена цена в токенах — в гайде про токены. Прикинуть счёт заранее можно калькулятором стоимости API. Как не потерять сам ключ вместе с деньгами — здесь.