Quasa
Установите приложение QUASA
Присоединяйся к пионеру Web3 крипто фриланса сейчас!
Открыть
Технологии

Claude API: как заранее посчитать токены и не остановиться на ошибке 429

|Автор: Вячеслав Васипенок|5 мин чтения
Claude API: как заранее посчитать токены и не остановиться на ошибке 429

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

Денежный запас не предотвращает ошибку 429. У Claude API независимо ограничиваются запросы, входные токены и выходные токены в минуту, поэтому приложение должно проверять все три показателя и возобновлять очередь после паузы из заголовка retry-after.

Из чего складывается цена запроса

Базовая формула такова: стоимость = обычный вход × тариф входа + выход × тариф выхода + запись кеша × тариф записи + чтение кеша × тариф чтения. Все объёмы делите на миллион, поскольку ставки указаны за миллион токенов. Платные серверные инструменты и особые режимы обработки добавляйте отдельными строками.

Для примеров ниже используется Claude Sonnet 4.6 с глобальной маршрутизацией: вход стоит $3 за миллион токенов, выход — $15, запись в пятиминутный кеш — $3,75, в часовой — $6, чтение из кеша — $0,30. Эти значения, множители кеширования и скидку 50% для асинхронного Batch API приводит официальная таблица тарификации Claude API.

Не переносите ставки между моделями и платформами. На итог также могут влиять резидентность данных, пакетный режим и платные инструменты, поэтому в конфигурации бюджета храните идентификатор модели, режим и набор применённых тарифных модификаторов.

Как посчитать токены до отправки

Сравнение стоимости нагрузки Claude Sonnet 4.6 без кеша и с повторным чтением стабильного контекста

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

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

Выход заранее неизвестен. Для жёсткого допуска используйте заданный предел выходных токенов, а для прогноза — среднее или 95-й процентиль фактических ответов. Получается два значения: верхний резерв, защищающий бюджет, и ожидаемая стоимость для планирования.

  • Резерв до вызова: посчитанный вход плюс максимальный допустимый выход и возможная запись кеша.
  • Фактическая стоимость: показатели обычного входа, выхода, создания кеша и чтения кеша из успешного ответа.
  • Разница: неиспользованный резерв, который освобождается после завершения операции.

Три расчёта для типовой нагрузки

Условная короткая нагрузка: 1000 запросов по 2000 входных и 500 выходных токенов. Два миллиона входных токенов стоят $6, а 0,5 млн выходных — $7,50. Общая сумма равна $13,50, или $0,0135 за успешный запрос.

Условная пакетная нагрузка: 10 000 запросов по 8000 входных и 1000 выходных токенов без кеша. Обычный режим обойдётся в $390: 80 млн × $3 плюс 10 млн × $15. Если задачу можно выполнить асинхронно через Batch API, её следует считать отдельным сценарием по пакетным ставкам, а не вычитать скидку из любых вызовов.

Условная нагрузка с кешем: 10 000 запросов содержат 8000 одинаковых кешируемых токенов, 500 новых входных и 1000 выходных. Одна запись в пятиминутный кеш стоит $0,03, 9999 успешных чтений — около $24, новый вход — $15, выход — $150. Итого получается примерно $189,03 против $405 без кеша.

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

Почему возникает 429 и как продолжить работу

Очередь Claude API приостанавливает запросы после 429 до истечения retry-after и контролирует три минутных лимита

Ограничения задаются для организации и измеряются в запросах в минуту, входных токенах в минуту и выходных токенах в минуту. Правила Anthropic от 26 июня 2026 года подтверждают, что превышение любой из трёх метрик возвращает 429 с заголовком retry-after, указывающим время ожидания; доступные значения зависят от уровня использования и отображаются в Claude Console.

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

Обработка 429 строится так:

  1. Прочитать retry-after и приостановить выдачу новых операций в затронутую очередь.
  2. Подождать указанное число секунд, добавив небольшой случайный разброс, чтобы работники не возобновились одновременно.
  3. Если заголовок отсутствует или некорректен, применить экспоненциальную задержку с верхним пределом.
  4. Повторить запрос только в пределах заданного числа попыток и общего срока операции.
  5. После исчерпания попыток вернуть контролируемую ошибку, сохранив причину и сведения об исчерпанном лимите.

Идентификатор прикладной операции нужен для защиты от нежелательных повторных действий. Сам повтор API-вызова не гарантирует идемпотентность бизнес-операции, которую приложение выполняет после ответа.

Шаблон денежного ограничения

Прямой доступ к Claude API оплачивается предоплаченными средствами. Согласно инструкции Anthropic по оплате от 16 марта 2026 года, неуспешные запросы не тарифицируются, при исчерпании средств вызовы становятся недоступны, купленные средства истекают через год, а баланс можно пополнять автоматически при достижении заданного порога.

Для приложения задайте месячный бюджет B, уже списанные расходы S, резерв незавершённых операций R и число оставшихся дней D. Мягкий дневной ориентир равен (B − S − R) / D. Перед каждым вызовом прибавляйте его верхнюю оценку к S и R; если сумма превышает жёсткий предел, запрос не отправляется.

После успешного ответа заменяйте оценку фактической стоимостью. После подтверждённой нетарифицируемой ошибки освобождайте резерв. Автопополнение не заменяет жёсткий предел приложения: денежный баланс, три ограничения скорости и доля ответов 429 требуют отдельных сигналов.

Читайте также:

Поделиться:

Подпишитесь на рассылку

Получайте свежие новости Web3, AI и криптовалют прямо на вашу почту.

0