Все заметки
У вашего ИИ-провайдера будет плохой день

10 июня 2026 г.

У вашего ИИ-провайдера будет плохой день

На этой неделе пришли два напоминания. Anthropic выводит Claude Sonnet 4 и Opus 4 из API 15 июня — если вы закрепили эти версии, ваши вызовы просто начнут возвращать ошибки, без автоматического переключения. А сегодня утром лёг Gemini. Один и тот же урок с двух сторон: модель под вашим продуктом — это сторонний сервис, который по графику, который вы не контролируете, изменится, исчезнет или сломается. Лечение не в стратегии. В скучной инженерии отказоустойчивости, которую большинство ИИ-продуктов пропускают.

Две небольшие новости этой недели говорят об одном. Первая: Anthropic выводит Claude Sonnet 4 и Opus 4 из API 15 июня. Если ваш код зовёт эти закреплённые версии, после этой даты запросы просто возвращают ошибки — никакого автоматического переключения на новую модель нет, вызов просто падает. Вторая: сегодня утром Gemini от Google лёг, отдавая «что-то пошло не так» всем, кто на него полагается.

Одно — плановый вывод, другое — внеплановый сбой, но это один урок, направленный в две стороны: модель под вашим продуктом — это сторонний сервис, и он подведёт вас по графику, который вы не контролируете. Мы говорим об ИИ как о волшебном оракуле, который всегда бодрствует и никогда не меняется. Теперь это инфраструктура — а у инфраструктуры бывают плохие дни. Вопрос в том, утянет ли ваш продукт за собой.

ИИ — это инфраструктура, а инфраструктура падает

Это не редкость. Один трекер статусов насчитал 47 инцидентов у крупных ИИ-провайдеров за один месяц в конце прошлого года — у Anthropic и OpenAI каждого больше 180 часов суммарного влияния. У OpenAI был 34-часовой сбой в 2025-м. Даже при здоровом аптайме 99,76% это примерно 16 часов в год, когда того, на чём построен ваш продукт, просто нет. Добавьте депрекейты вроде 15 июня, где модель не падает, а уходит, и картина ясна: зависеть от одного провайдера без плана — значит зависеть от его лучшего дня, навсегда.

Большинство ИИ-продуктов построены ровно так — один провайдер, одна строка модели, вызывается напрямую, с допущением счастливого пути, что он всегда отвечает. В демо это нормально. В продакшене это мина замедленного действия.

Узнайте тип сбоя, прежде чем реагировать

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

Четыре хода, которые держат вас на плаву, когда они лежат

Ничего экзотического не нужно — это стандартная гигиена распределённых систем, применённая к вызову модели:

  • Ретрай с бэкоффом для транзиентных ошибок. Лимиты и сетевые икоты нормальны; пара ретраев с растущей задержкой поглощает большинство так, что человек и не заметит.
  • Запасная модель или провайдер для стойких. Это главный, и математика разительна: два независимых провайдера с аптаймом 99,3% лежат одновременно лишь 0,0049% времени — около 99,995% эффективного аптайма. Второй путь превращает сбой в чуть худший ответ вместо никакого ответа. (Поэтому держать модель за заменяемым швом окупается операционно, а не только стратегически.)
  • Предохранитель, чтобы, когда провайдер явно лёг, вы перестали его долбить, падали быстро и восстанавливались чисто, а не копили таймауты.
  • Грациозная деградация к детерминированному пути. Если ИИ-фича умерла, не показывайте спиннер вечно — откатитесь к чему-то тупее, что всё ещё работает: поиск по ключевым словам вместо семантического, шаблонный ответ вместо сгенерированного, простая форма вместо умного флоу. Скажите пользователю «продвинутые функции ненадолго недоступны» и держите продукт рабочим.

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

И поставьте депрекейт в календарь

Вывод 15 июня — более тихий режим отказа, и он ловит тех, кто думал, что в безопасности. Закрепить версию модели ощущается ответственным — вы заморозили поведение. Но закреплённая версия — это версия, которую могут вывести, и когда выводят, ваш вызов не деградирует, а умирает. Так что либо отслеживайте уведомления о депрекейтах по каждой закреплённой модели, либо не закрепляйте версию, с которой вы не готовы мигрировать по графику провайдера. Миграция обычно правка в одну строку — но только если вы узна́ете до 15 июня, а не из логов ошибок 16-го.

Суть

Захватывающая история про ИИ — это всё, что он умеет. Негламурная история, которую эта неделя тихо рассказала дважды, — что это удалённый сервис, который будет медленным, лежачим или ушедшим в моменты, которые выбрали не вы, — и продукт, полагающий иначе, в одном плохом утре от инцидента. Ни одно из лечений не хитрое. Ретрайте икоты, откатывайтесь на сбоях, деградируйте к детерминированному и следите за календарём депрекейтов. Это та же скучная работа по надёжности, что мы сделали бы для любой критической зависимости, — а модель теперь ровно такая.

Так что перед выкаткой задайте вопрос, который демо никогда не заставляет: когда у провайдера наступит плохой день — а он наступит — что увидит мой пользователь? Если ответ «ошибку и спиннер», вы построили не продукт на ИИ. Вы построили тот, что одалживает аптайм у кого-то другого, а они не обещали вам свой хороший день.

Комментарии

Пока нет комментариев

Войдите, чтобы участвовать в разговоре.

Будьте первым, кто оставит мысль.