Что на самом деле означает 529 Overloaded
Это значит, что у провайдера сейчас не хватает мощности, а не что ваш запрос неверен. Правка кода не поможет — поможет правка стратегии повторов.
Четыре тезиса
Перегрузка провайдера
Возвращается, когда на стороне сервера не хватает мощности. Не связано с квотой ключа, параметрами или телом запроса.
Вас ограничивают по скорости
Вот это означает, что вы превысили собственную скорость или квоту. 529 и 429 требуют разной обработки — не кладите их в одну ветку.
Единственный рабочий приём на клиенте
Экспоненциальный бэкофф с джиттером. Немедленный повтор усугубляет перегрузку и быстрее приводит к лимиту.
Структурное смягчение
Если ту же работу можно отправить другому провайдеру, перегрузка одного перестаёт означать простой. Цена — принять различия моделей.
Чем 529 отличается от 429 и 503
529 означает, что сервер перегружен именно сейчас: это проблема мощности, обычно временная. 429 означает, что вы упёрлись в собственный потолок по скорости или квоте — проблема лимитов. 503 обычно означает недоступность сервиса или обслуживание. Ни один из кодов не говорит, что запрос составлен неверно, но обработка разная: 529 — отступить и повторить, 429 — снизить темп или поднять лимиты, 503 — подождать и следить за страницей статуса. Свести все три в один catch — самая частая ошибка.
Почему обсуждение периодически растёт
Каждый раз при выходе новой модели или массовой миграции мощности провайдеров временно уплотняются, и разговоров про 529 становится больше. Такие волны обычно спадают по мере расширения мощностей — но тому, у кого горит срок, «дождаться расширения» не годится в качестве ответа.
Порядок диагностики
Убедитесь, что код действительно 529, а не 429. Тела ответов различаются — считайте их в логах раздельно.
Проверьте страницу статуса провайдера. Если это масштабный инцидент, любые правки на клиенте — только смягчение.
Проверьте, не усиливает ли ваша логика повторов перегрузку: отсутствие джиттера, отсутствие потолка и мгновенный повтор — всё это усиление.
Прежде чем повторять, разберитесь, какой это код
Что подтверждено
529 сигнализирует о перегрузке мощностей провайдера и не связан с содержимым запроса — эта семантика зафиксирована в документации поставщиков. Экспоненциальный бэкофф с джиттером — широко проверенный приём на стороне клиента.
Не считать фактом
Утверждение «529 — это способ тихо придушить активных пользователей» не имеет подтверждений и здесь не заявляется. Различие между 529 и 429 описано в публичной документации, а их смешение ведёт к выбору неверного решения.
Два подхода
Только бэкофф на клиенте
Дёшево внедряется и заметно снижает долю отказов. Но пока провайдер перегружен, остаётся только ждать.
Дать работе уходить к разным провайдерам
Перегрузка одного перестаёт означать простой. Цена — принять различия в повадках моделей, и у каждого маршрута свои режимы отказа.
Как правильно писать повторы
Три пункта. Первый: экспоненциальный бэкофф, а не фиксированный интервал — сначала секунда, дальше удвоение. Второй: добавьте случайный джиттер. Если все клиенты ждут одинаково, повторы приходят синхронной волной, и перегрузка только затягивается. Третий: поставьте потолки на число повторов и на суммарное ожидание, иначе одна перегрузка заставит очередь задач расти без предела. Отдельно: если потоковый запрос оборвался посередине, не повторяйте его вслепую с начала — сначала проверьте, можно ли продолжить с уже полученного.
Что QCode может и чего не может
Может: одним ключом переключиться на другое семейство моделей во время перегрузки, не дожидаясь восстановления единственного провайдера. Не может: мы не поставщик и не меняем его мощности. И скажем прямо — у нас тоже бывают неудачные запросы. За последние 7 дней наблюдаемый на нашей стороне режим отказа — преимущественно 502 на шлюзе, при 0 случаев 529. Сервис, который продаёт себя как безотказный, обычно просто не публикует свои данные об отказах. Мы предлагаем несколько маршрутов и проверяемые записи об отказах, а не безотказность.
Частые вопросы
Нужно ли менять параметры запроса при 529?
Нет. 529 не связан с содержимым запроса: ни изменение max_tokens, ни правка параметров модели, ни сокращение промпта его не уберут. Менять нужно стратегию повторов.
Можно ли обрабатывать 529 и 429 одинаково?
Не рекомендуется. При 529 следует отступить и повторить тот же запрос; 429 означает, что нужно снизить темп отправки или поднять лимиты, а слепые повторы будут снова и снова упираться в ограничитель.
Сколько ждать?
Обычная схема: первая пауза в секунду, дальше удвоение, плюс случайный джиттер и потолки на число повторов и общее ожидание. Конкретные значения зависят от того, какую задержку терпит ваша задача.
Что делать, если 529 пришёл посреди потокового ответа?
Сначала проверьте, годится ли уже полученное. Если можно продолжить — продолжайте; повторяйте целиком только если нельзя. Слепой перезапуск удваивает оплату и добавляет нагрузки.
Бывает ли 529 у QCode?
Перегрузка провайдеров реальна, и мы от неё не защищены. По нашим наблюдениям за последние 7 дней отказы были преимущественно 502, случаев 529 — 0. Мы можем дать возможность увести ту же работу в другое семейство моделей, но не обещать безотказность.
Многомаршрутность убирает единую точку отказа?
Нет. Она снижает вероятность того, что один сбой остановит работу, но у каждого маршрута свои режимы отказа, да и сам слой маршрутизации может отказать. Это смягчение, а не устранение.
Источники
Семантика кодов состояния соответствует официальной API-документации поставщиков. Мы намеренно не приводим сторонние проценты доступности: такие цифры меняются со временем, а авторитетного независимого измерения, на которое можно сослаться, у нас нет.
Один маршрут перегружен — есть другой
Один ключ на семь семейств моделей: когда маршрут под нагрузкой, переключитесь и продолжайте.
Читайте также
Коды ошибок Claude API
Что означают частые коды и как их обрабатывать.
Ограничения Claude Code
Как применяются квоты и лимиты скорости.
Практика переключения моделей
Как на деле работает один ключ на несколько семейств.
Семантика кодов состояния соответствует официальной документации поставщиков и может меняться между версиями. Приведённые наблюдения по нашим отказам относятся к конкретному окну наших логов и не являются обязательством по доступности.