Кэширование подсказок и результатов (Anthropic, Vertex)
Кэширование подсказок Anthropic и Vertex снижает стоимость входных данных в 10 раз при работе с длинными повторяющимися системными подсказками
«Кэширование подсказок и результатов (Anthropic, Vertex)» — бесплатный урок AI Agents на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.
Зачем нужен кэш?
Многие вызовы агента почти одинаковы: один и тот же системный промпт, те же несколько примеров, но разные пользовательские данные. Без кэширования статические части обрабатываются заново при каждом вызове.
Кэширование может сократить стоимость входных токенов в 10 раз.
Два вида кэширования
- Кэширование промптов (на стороне сервера) — поставщик кэширует состояние KV модели для повторяющихся начальных частей
- Кэширование результатов (на стороне клиента) — Ваш код кэширует полные ответы для идентичных входных данных
Кэширование промптов Anthropic
Помечайте кэшируемые части с помощью cache_control:
response = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=1024,
system=[
{'type': 'text', 'text': LONG_SYSTEM_PROMPT, 'cache_control': {'type': 'ephemeral'}}
],
messages=[{'role': 'user', 'content': user_input}]
)
# 1st call: full price
# 2nd call within 5min: 10% of input costДоля попаданий в кэш
Проверьте объект статистики использования в ответе:
response.usage.cache_creation_input_tokens # tokens cached this call
response.usage.cache_read_input_tokens # tokens read from cacheЧто следует кэшировать
- Системные промпты объёмом более 1 тыс. токенов
- Определения инструментов
- Примеры с образцами
- Общий для запросов контекст RAG (редко)
Где размещать маркеры кэша
Управление кэшем должно находиться в LAST статическом блоке. Всё, что расположено до маркера, кэшируется. Стабильное содержимое размещайте в начале, а изменяемое — в конце.
Кэширование промптов OpenAI
OpenAI автоматически кэширует промпты объёмом более 1024 токенов. Явный маркер не требуется:
# Just send the same prefix repeatedly. Cache discount applies automatically.
# Check response.usage.prompt_tokens_details.cached_tokensКэширование контекста в Vertex AI
Google Vertex требует явно создать объект кэша:
from vertexai.generative_models import GenerativeModel, content_cache
cache = content_cache.CachedContent.create(
model='gemini-1.5-pro',
contents=[long_system_content],
ttl=300
)
model = GenerativeModel.from_cached_content(cache)
response = model.generate_content(user_input)Кэш результатов на стороне клиента
Для запросов с точным совпадением (одинаковые входные данные и ожидаемый результат) используйте кэш ключ-значение:
import hashlib
def cache_key(model, messages):
return hashlib.sha256(f'{model}:{json.dumps(messages)}'.encode()).hexdigest()
def cached_call(model, messages):
key = cache_key(model, messages)
if cached := redis.get(key):
return json.loads(cached)
result = real_call(model, messages)
redis.set(key, json.dumps(result), ex=3600)
return resultСемантический кэш
Используйте векторные представления, чтобы кэшировать похожие, но не идентичные запросы:
qvec = embed(query)
matches = vector_db.query(qvec, k=1)
if matches and matches[0].score > 0.95:
return matches[0].metadata['cached_response']Инвалидация кэша
Устаревшие кэши возвращают неправильные ответы. Возможные стратегии:
- TTL — короткий для данных, которые быстро устаревают
- Ручная инвалидация при обновлении данных
- Ключи для каждого пользователя, чтобы обновления затрагивали только одного пользователя
Не кэшируйте персонализированные ответы
Ответ на вопрос «каков мой баланс?» нельзя кэшировать для разных пользователей. Будьте осторожны с общими кэшами в системах с несколькими клиентами.
Стоимость кэша и стоимость LLM
Стоимость Redis ничтожна по сравнению со стоимостью LLM. Используйте кэширование активно: даже доля попаданий в 10% приносит ощутимую экономию.
Экономия в реальных системах
При наличии длинных общих системных промптов и кэширования промптов команды регулярно получают снижение стоимости входных данных на 50–90% в производственных системах. Это одна из оптимизаций с самым высоким ROI.
Включение кэширования Anthropic
Как включить кэширование промптов в Anthropic?
Итоги
Кэширование промптов на стороне сервера для статичных начальных частей; кэш KV на стороне клиента для точного совпадения; семантический кэш для приблизительного совпадения. Всегда проверяйте долю попаданий и экономию.
Изучай AI Agents с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 60
- Уроки
- 239
Часто задаваемые вопросы
Урок «Кэширование подсказок и результатов (Anthropic, Vertex)» бесплатный?
Да — полный текст урока «Кэширование подсказок и результатов (Anthropic, Vertex)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.
Чему я научусь в уроке «Кэширование подсказок и результатов (Anthropic, Vertex)»?
Кэширование подсказок Anthropic и Vertex снижает стоимость входных данных в 10 раз при работе с длинными повторяющимися системными подсказками Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Agents?
Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Кэширование подсказок и результатов (Anthropic, Vertex)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Agents?
Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Бюджеты токенов на каждый шаг
- Маршрутизация моделей (от дешёвых к дорогим)
- Кэширование подсказок и результатов (Anthropic, Vertex)
- Квантизация и спекулятивное декодирование