AI Agents · Урок

Кэширование подсказок и результатов (Anthropic, Vertex)

Кэширование подсказок Anthropic и Vertex снижает стоимость входных данных в 10 раз при работе с длинными повторяющимися системными подсказками

Урок 3 из 416 шагов

«Кэширование подсказок и результатов (Anthropic, Vertex)» — бесплатный урок AI Agents на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Зачем нужен кэш?

Многие вызовы агента почти одинаковы: один и тот же системный промпт, те же несколько примеров, но разные пользовательские данные. Без кэширования статические части обрабатываются заново при каждом вызове.

Кэширование может сократить стоимость входных токенов в 10 раз.

Два вида кэширования

  1. Кэширование промптов (на стороне сервера) — поставщик кэширует состояние KV модели для повторяющихся начальных частей
  2. Кэширование результатов (на стороне клиента) — Ваш код кэширует полные ответы для идентичных входных данных

Кэширование промптов 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 — локальная установка не требуется.

Все уроки этого курса

  1. Бюджеты токенов на каждый шаг
  2. Маршрутизация моделей (от дешёвых к дорогим)
  3. Кэширование подсказок и результатов (Anthropic, Vertex)
  4. Квантизация и спекулятивное декодирование
← Назад к AI Agents