При 529 overloaded_error не начинайте с замены API-ключа: Anthropic определяет этот код как временную перегрузку API. 429 rate_limit_error относится к другой группе ограничений, поэтому одинаковый бесконечный повтор для этих ошибок не подходит. Смотрите не только HTTP-код, но и тело ответа. Справочник ошибок Anthropic
Что проверить до повторного запроса
- Запишите время с часовым поясом, модель, HTTP-код, error.type, сообщение и request_id, идентификатор запроса.
- Убедитесь, куда отправляет запрос приложение: непосредственно в Claude API или через стороннего провайдера. Для поддержки важно не смешивать разные маршруты.
- Откройте официальную страницу статуса и смотрите компонент Claude API, а не только доступность сайта чата.
Request ID помогает Anthropic найти конкретный запрос. Для публичного сообщения не нужен полный пользовательский промпт, а API-ключ публиковать нельзя. Идентификатор запроса
Как повторять временно неудавшийся запрос
Официальный SDK, библиотека для обращения к API, уже повторяет временные ошибки с экспоненциальной, увеличивающейся задержкой. По умолчанию он делает два повтора и учитывает retry-after, указанную сервером паузу, при наличии этого заголовка. Поведение SDK
Прежде чем добавлять собственный цикл, проверьте встроенные повторы. Ограничьте общее время ожидания и число попыток: иначе внешний цикл умножит запросы SDK и скроет проблему за долгим зависанием.
Если 529 сохраняется после ограниченных повторов, оставьте задачу в очереди и соберите данные для поддержки. В агентном процессе отдельно проверьте уже выполненные внешние действия: повтор API-запроса не должен автоматически означать повтор всей цепочки операций.
Почему при 429 пауза помогает не всегда
При ограничении скорости уменьшайте число одновременных запросов и соблюдайте retry-after. Лимиты относятся не только к числу запросов, но и к входным и выходным токенам в минуту. Короткий всплеск тоже может их превысить. Rate limits
Однако 429 бывает и при достижении месячного потолка расходов, установленного уровнем обслуживания организации, или usage tier. Для этого случая в Messages API предусмотрен error.details.error_code со значением enforced_spend_limit_reached; retry-after отсутствует.
Повторы не снимут потолок расходов: доступ не восстановится до снятия ограничения. Не списывайте такой ответ на временную перегрузку серверов. Оговорка о spend cap
Собственные настраиваемые лимиты расходов обычно дают HTTP 400. Для workspace Claude Code, отдельного рабочего пространства, действует оговорка: его лимит может вызвать 429 с retry-after. Не переносите правило для usage-tier cap на любой денежный лимит. Собственные лимиты расходов
Последнее редактирование: