Клодыч В Telegram ↗

API и разработка

Как снизить расходы Claude API: контекст, модели и кеш

Почему растёт стоимость Claude API и Claude Code. Как сократить лишний контекст, проверить prompt caching и сравнивать цену выполненной задачи.

Если API стал расходовать заметно больше, сначала посмотрите объём входа и число вызовов. Частая причина — длинная история, которую приложение отправляет снова, или агент, выполняющий много промежуточных действий. Смена модели помогает не во всех случаях.

Ниже — порядок проверки, который позволяет найти источник расхода и сохранить качество ответа.

1. Считайте стоимость законченной задачи

Один вопрос в интерфейсе может включать основной вызов, обращения помощников, инструменты и повторные попытки. Поэтому сравнивать две модели по цене последней строки истории недостаточно.

Для нескольких типичных задач запишите:

Что записатьЧто это покажет
Модель и версияС чем сравнивается результат
Входные и выходные токеныНа какую часть запроса приходится объём
Число вызововНе уходит ли агент в повторные попытки
Кеш: чтение и записьИспользуется ли повторяющийся материал
Итоговая стоимостьСколько обошлась вся задача
Принят ли результатНе достигнута ли экономия ценой непригодного ответа

Цифры в клиентском приложении могут рассчитываться по его собственной таблице цен. При работе через шлюз сверяйте фактическое списание с кабинетом поставщика. В Клодыче для этого есть история API-запросов.

2. Уберите контекст, который не помогает ответить

Предположим, программе нужно определить тему нового обращения. Если вместе с ним каждый раз отправляются все закрытые обращения за месяц, модель оплачиваемо читает большой объём лишнего текста.

Оставьте правила классификации, несколько нужных примеров и текущее обращение. Если требуется история клиента, передавайте релевантную часть или подготовленную сводку с важными фактами.

Для разработки это означает: прикладывать нужные файлы и конкретный лог, а не весь вывод сборки без ограничения. Для документов — выбирать главы, относящиеся к вопросу.

3. Не просите длинный ответ по умолчанию

Сформулируйте желаемый результат: «верни пять пунктов», «только изменённую функцию», «таблица из трёх колонок». Это часто полезнее, чем резко уменьшить max_tokens.

Слишком низкий предел вывода может оборвать код или объяснение посередине. Тогда приходится делать новый запрос, оплачивать дополнительный контекст и склеивать результат. Смотрите на причину остановки и увеличивайте лимит там, где полный ответ нужен для завершения задачи.

Для модели с рассуждениями учитывайте её собственные правила бюджета вывода. Настройки разных поколений нельзя переносить автоматически. Например, в Opus 5.5 рассуждение включено постоянно, а бюджет вывода учитывает и его, и итоговый текст. Руководство по переходу на Opus 5.5.

4. Что даёт prompt caching

Кеширование позволяет повторно использовать одинаковую начальную часть запроса. Это может снизить стоимость и время обработки повторяющегося материала. При этом кеш контекста не является кешем готового ответа: модель всё равно генерирует новый результат.

В Anthropic API используются cache_control, отдельные показатели записи и чтения кеша, сроки хранения и минимальный объём, зависящий от модели. В шлюзе нужно дополнительно проверить поддержку выбранного режима и тарифы. Документация prompt caching.

Практический порядок данных:

Постоянные правила и справочник
↓
Конец повторяемого блока
↓
Новые данные пользователя и текущий вопрос

Если вставлять меняющееся время, случайный ID или новый вопрос в начало, стабильная часть запроса может перестать совпадать. Поэтому сначала отделите повторяемые инструкции от переменных данных, а потом проверяйте кеширование.

5. Как проверить, что кеш действительно используется

В ответе Anthropic-формата ищите cache_creation_input_tokens и cache_read_input_tokens. Само наличие cache_control в запросе ещё не доказывает экономию.

Проведите небольшой эксперимент на своём поставщике:

  1. Выберите реальную задачу с повторяющимся большим справочником.
  2. Выполните первый запрос и сохраните показатели использования и списание.
  3. Не меняя начальный блок, задайте другой вопрос в следующем запросе.
  4. Сравните показатели чтения кеша и полную стоимость обоих вызовов.
  5. Повторите на нескольких типичных вопросах, чтобы исключить случайный результат.

Если чтение нулевое, проверьте длину, срок между запросами, неизменность начала, модель и поддержку у поставщика. Не добавляйте бессмысленный текст только ради объёма: сначала проверьте, окупится ли такая схема на вашем потоке.

У кеша есть стоимость записи, поэтому однократная отправка материала не обязана становиться дешевле. Тарифы чтения и записи нужно смотреть отдельно от обычного входа.

6. Разделяйте простые и сложные задачи

Для потока однотипных операций сравните Haiku и Sonnet на своих данных. Сложные исключения можно отправлять более сильной модели, если программа умеет их надёжно распознавать.

Пример: быстрая модель извлекает поля обращения. Если обязательное поле отсутствует или данные противоречат друг другу, приложение передаёт задачу на дополнительную проверку. Решение о повторе лучше основывать на проверяемых признаках, а не только на фразе модели «я уверен».

Как оценивать качество разных моделей — в таблице выбора Claude.

7. Контролируйте автоматические повторы

Ошибка авторизации не исчезнет от десяти повторов. Перегрузка сервера, наоборот, может требовать ожидания. Разделите причины ошибок и ограничьте число попыток в клиенте.

Особенно осторожно повторяйте запрос после обрыва соединения: сервер мог уже выполнить часть работы. Идентификатор запроса и история расхода помогают разобраться, что произошло. Идемпотентность используйте только в тех режимах, где она явно поддержана вашим API.

С чего начать сегодня

Возьмите одну часто повторяющуюся задачу и измерьте её текущую стоимость. Затем измените только один фактор: объём истории, модель или схему кеширования. Сравните стоимость при одинаково приемлемом результате.

Калькулятор тарифов поможет отделить цену поставщика от объёма работы. Чтобы проверить своё подключение, откройте Клодыча в Telegram, нажмите «Запустить» и перейдите в API: там можно создать отдельный ключ и увидеть расход тестовых запросов.

API Клодыча

Ссылка откроет бота в Telegram. Нажмите «Старт», затем выберите нужный раздел.

Получить API-ключ →
Получить API-ключ →