РУКОВОДСТВО · ОБНОВЛЕНО 2026-09-15
Prompt caching: как сократить стоимость длинного контекста
Кэш помогает повторно использовать одинаковую начальную часть контекста, если запрос и правила конкретного API позволяют получить cache hit.
Поместите стабильные инструкции и документы в общий префикс, а переменную часть — после них. Измеряйте cached tokens и hit rate в фактическом usage. Кэш не уменьшает логический размер контекста и не должен служить постоянным хранилищем или границей доступа.
1. Найдите повторяющийся префикс
Подходящие данные неизменны между множеством запросов: системные правила, описание tools, большой справочник или общий документ. Уникальное сообщение пользователя размещают после стабильной части. Если в начало вставляется timestamp, request id или меняющийся список, совпадение разрушается. Сначала измерьте долю повторения, а не перестраивайте prompt наугад.
2. Проверьте контракт API
Одни провайдеры кэшируют автоматически, другие требуют breakpoint или отдельной записи. Отличаются минимальный размер, TTL, цена cache write/read и поддерживаемые модели. Кэшированный input всё равно может занимать окно. Не переносите правила между поставщиками и не фиксируйте коэффициент экономии в коде без конфигурации.
3. Стабилизируйте структуру
Сортируйте инструменты и статические блоки детерминированно, не меняйте пробелы и сериализацию без необходимости. Версионируйте префикс по содержимому. Обновление инструкции должно корректно создать новую запись, а не использовать устаревшую. В multi-tenant системе не смешивайте материал разных клиентов ради высокого hit rate.
4. Измерьте реальный эффект
Сохраняйте input, cached input, output, latency и стоимость без секретного содержимого. Считайте hit rate по типам операций и сравнивайте p50/p95. Первый вызов может стоить как cache write и отличаться от последующих. Экономию оценивают на полном процессе, включая дополнительные retries и рост output после изменения prompt.
5. Соблюдайте безопасность и срок
Кэш не заменяет базу данных и не гарантирует удаление по вашей команде, если это не описано API. Проверьте retention и регионы. Не кэшируйте персональные данные без основания и изоляции. При отзыве документа обновите версию и убедитесь, что приложение больше не ссылается на старый префикс.
Частые вопросы
Кэш уменьшает число токенов в окне?
Обычно нет, он меняет обработку или цену повторяющейся части.
Почему нет cache hit?
Префикс, порядок, размер, TTL или модель могли измениться.
Можно кэшировать tools?
Часто их описание входит в префикс, но правило зависит от API.
Как узнать экономию?
По cached usage и актуальным ставкам write/read.
Кэш подходит персональным данным?
Только при подходящих условиях изоляции, retention и основания обработки.