Кэширование промптов
Prompt Caching позволяет кэшировать повторно используемые префиксы промптов, снижая расход Token и задержку ответа.
Принцип работы#
Когда ваш запрос содержит длинный, повторно используемый system prompt или контекстную информацию:
- Первый запрос — обрабатываются все Token полностью, и префикс промпта кэшируется
- Последующие запросы — при попадании в кэш Token из кэшированной части повторно не тарифицируются
- Истечение кэша — кэш имеет определённый TTL (обычно 5–10 минут), после истечения требуется повторное кэширование
Поддержка кэширования#
Ресурсы моделей 诺玛AI предоставляются официальными облачными провайдерами моделей, такими как AWS Bedrock, Azure OpenAI, Google Cloud, Alibaba Cloud, Volcano Engine и др. Те модели облачных провайдеров, которые поддерживают Prompt Caching, поддерживаются и в 诺玛AI.
Облачный провайдер
Типичные модели
Механизм кэширования
AWS Bedrock
Серия Claude
Нативный Prompt Caching
Azure OpenAI
Серия GPT-4o
Автоматическое кэширование
Google Cloud
Серия Gemini
Context Caching
Alibaba Cloud
Серия Qwen
Кэширование на стороне платформы
Volcano Engine
Серия Doubao
Кэширование на стороне платформы
Конкретная поддержка кэширования для каждой модели определяется официальной документацией соответствующего облачного провайдера. 诺玛AI прозрачно передаёт параметры, связанные с кэшированием, без дополнительной настройки.
Способ использования#
Протокол OpenAI
Prompt Caching для моделей OpenAI работает автоматически — он включается при обнаружении повторяющегося префикса промпта:
# длинный system prompt будет кэширован автоматически
SYSTEM_PROMPT = """Ты — ассистент технической поддержки 诺玛AI.
Ниже информация о продукте, которую тебе нужно знать:
- 诺玛AI — это LLM Gateway, поддерживающий множество популярных больших моделей
- Поддерживаются три основных протокола: OpenAI / Anthropic / Gemini
- ...
(остальные сведения о продукте опущены)
"""
# Первый запрос: кэширование system prompt
response1 = client.chat.completions.create(
model="openai/gpt-4o",
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": "Какие модели поддерживает 诺玛AI?"}
]
)
# Второй запрос: попадание в кэш, быстрее и дешевле
response2 = client.chat.completions.create(
model="openai/gpt-4o",
messages=[
{"role": "system", "content": SYSTEM_PROMPT}, # попадание в кэш
{"role": "user", "content": "Как настроить инструменты разработки?"}
]
)Протокол Anthropic
Модели Anthropic поддерживают явное управление кэшем (cache control):
Экономия затрат#
После попадания в кэш Token из кэшированной части тарифицируются по более низкой цене; доля экономии зависит от модели:
- Серия Anthropic Claude — попадание в кэш позволяет сэкономить около 90% затрат на ввод
- Серия OpenAI GPT — попадание в кэш позволяет сэкономить около 50% затрат на ввод
- Серия Google Gemini — попадание в кэш позволяет сэкономить около 50–75% затрат на ввод
Фактическая доля экономии зависит от частоты попаданий в кэш и тарифной политики каждого облачного провайдера; подробности см. в статистике использования консоли 诺玛AI.
Лучшие практики#
- Размещайте длинный текст в начале — неизменяемые части, такие как system prompt и содержимое базы знаний, ставьте в начало messages
- Сохраняйте единообразие префикса — попадание в кэш возможно только при полностью идентичном префиксе
- Грамотно проектируйте структуру промпта — отделяйте постоянную часть от изменяемой
# ✅ Хороший дизайн: постоянное содержимое впереди, изменяемое — после
messages = [
{"role": "system", "content": LONG_STATIC_PROMPT}, # кэшируется
{"role": "user", "content": dynamic_question} # изменяемая часть
]
# ❌ Плохой дизайн: изменяемое содержимое вплетено в постоянное
messages = [
{"role": "system", "content": f"Today is {date}. {LONG_PROMPT}"} # каждый день разное, кэшировать нельзя
]Попадание в кэш можно посмотреть в поле `usage` ответа API, а также частоту попаданий в кэш — в статистике использования консоли 诺玛AI.
Последнее обновление: 23 июня 2026 г.