About Portfolio Services Blog Contact 🎙 Talk to AI
EN DE RU
🎙 Talk to AI
June 24, 2026 · 3 min read

Claude и OpenAI снова упали: как строить отказоустойчивые LLM-продукты при массовых сбоях API

Я — Денис Шохирев, Enterprise AI architect из Эрлангена, Германия. В DennisCraft AI Studio я за последние полгода внедрил 14 production AI-агентов для клиентов в DACH (логистика, финтех, индустриальная автоматизация), весь стек — Claude, Supabase, n8n, Doppler, self-hosted Postgres. Неделю назад — 2 часа подряд и OpenAI, и Anthropic были недоступны. Это не первый случай: 2024 год — серия массовых сбоев API для LLM, и каждый раз это прямые простои и SLA-штрафы. Почему массовые сбои LLM — это но

Denis Shokhirev
Denis Shokhirev
Enterprise AI Architect
Telegram LinkedIn

Я — Денис Шохирев, Enterprise AI architect из Эрлангена, Германия. В DennisCraft AI Studio я за последние полгода внедрил 14 production AI-агентов для клиентов в DACH (логистика, финтех, индустриальная автоматизация), весь стек — Claude, Supabase, n8n, Doppler, self-hosted Postgres. Неделю назад — 2 часа подряд и OpenAI, и Anthropic были недоступны. Это не первый случай: 2024 год — серия массовых сбоев API для LLM, и каждый раз это прямые простои и SLA-штрафы.

Почему массовые сбои LLM — это новая реальность

Если вы строите AI-проекты под DACH B2B с жесткими SLA, то массовый outage OpenAI/Claude — не теория, а статистика. За последние 6 месяцев я фиксировал в проде 4 крупных сбоя (от 20 до 90 минут), причём они затрагивали и OpenAI, и Anthropic одновременно (см. https://status.openai.com/ и https://status.anthropic.com/). Причины — перегрузка, обновления, DDoS, логистические сбои на стороне провайдеров.

Типовые сценарии отказа

  • OpenAI API (gpt-4o/gpt-4-turbo) отвечает 5XX и timeouts 20+ минут
  • Claude API (claude-3-opus, sonnet) выдаёт degraded performance, иногда silent failures
  • В пиковые моменты — массовый rate limit даже при легитимной нагрузке

В результате — у клиентов падают автоматические отчеты, не формируются счета, ломается автоматизация. Особенно чувствительно для финтеха и логистики, где SLA = деньги.

Архитектурные паттерны для отказоустойчивых LLM-продуктов

1. Multi-vendor fallback (переключение между провайдерами)

Классический паттерн — если основной API недоступен, мгновенно переключаемся на запасной. Но нюансы:

  • Должны совпадать input/output форматы. Claude и OpenAI имеют отличия в system prompt, токенизации, лимитах.
  • Проверять feature parity — поддерживаются ли функции (например, function calling).
  • В реальности оба API могут упасть одновременно.

В моих рабочих пайплайнах fallback реализован через n8n с кастомными блоками на Node.js:


const callClaude = async (input) => {
  // Anthropic SDK
  /* ... */
};
const callOpenAI = async (input) => {
  // OpenAI SDK
  /* ... */
};

let result;
try {
  result = await callClaude(payload);
} catch (e) {
  // Логируем, пробуем OpenAI
  result = await callOpenAI(payload);
}
return result;

2. Queue и повторные попытки через брокер

Вместо синхронных вызовов — ставим задания в очередь (Supabase, RabbitMQ, self-hosted Postgres LISTEN/NOTIFY). Это позволяет:

  • Не терять задачи при кратковременных сбоях
  • Повторять попытки с backoff (например, 1, 5, 15 минут)
  • Сохранять state — если задача не обработалась, можно восстановить

import time
import supabase

def process_task(task):
    try:
        # call LLM API
        pass
    except Exception as e:
        # requeue with delay
        time.sleep(300)
        process_task(task)

3. Кэширование результатов (Result cache)

Реальный кейс: 40% LLM-запросов в моих продуктах — повторяющиеся (одинаковые входные). Построив кэш на Postgres (hash input → output, TTL=7 дней), удаётся снизить нагрузку и уменьшить проблемы при сбоях. Особенно эффективно для задач генерации шаблонных писем, отчетов, FAQ.


CREATE TABLE llm_cache (
  prompt_hash VARCHAR PRIMARY KEY,
  result TEXT,
  created_at TIMESTAMP DEFAULT NOW()
);

SELECT result FROM llm_cache WHERE prompt_hash = $1 AND created_at > NOW() - INTERVAL '7 days';

4. Graceful degradation — подмена на “fallback” сценарии

В проде не все функции критичны. Если LLM недоступен — можно временно подменять генерацию на стандартные шаблоны (“Извините, сервис временно недоступен, повторите позже”), либо переключать часть пайплайна на rule-based обработку. Это лучше, чем полный отказ сервиса.

Валидация и мониторинг — что реально работает

Мониторинг API статусов

Не полагайтесь на ручное отслеживание. Я интегрирую status endpoints (https://status.openai.com/api/v2/status.json и аналог Anthropic) прямо в мониторинг через n8n и оповещения в Slack/Telegram.


const fetch = require('node-fetch');
const url = "https://status.openai.com/api/v2/status.json";

async function checkStatus() {
  const res = await fetch(url);
  const data = await res.json();
  if (data.status.indicator !== 'none') {
    // send alert
  }
}

Анализ логов ошибок

Логируйте ВСЕ ошибки и таймауты с деталями: endpoint, payload, время. Для поиска корневых причин используйте semgrep и bandit для анализа инцидентов (например, массовые 5XX из-за неправильной сериализации payload).

Реальный SLA и коммуникация с клиентом

Транслируйте клиенту реальный SLA: “LLM-компоненты могут быть недоступны 0.5–2% времени в месяц”. Не обещайте 100% uptime — иначе получите штрафы за force majeur чужого API.

ПаттернПлюсыМинусы
Multi-vendor fallbackМгновенное переключениеТребует дублирования логики, не всегда совпадает parity
Queue + retryСохраняет задачи, снижает потериУвеличивает latency, требует очереди
КэшированиеСнижает нагрузку, ускоряет ответыНе всегда применимо для custom задач
Graceful degradationСервис не падает полностьюФункционал ограничен

FAQ

Что делать, если и OpenAI, и Claude недоступны одновременно?

Готовьте “graceful degradation” — переключение на шаблоны, rule-based обработку, информирование пользователя о задержке. В критичных местах — временно отключайте автоматизацию.

Можно ли self-hosted LLM (Llama, Mistral) считать отказоустойчивым решением?

Частично. Для узкоспециализированных задач — да. Но для сложных генераций (код, документы) self-hosted LLM пока уступают по качеству (см. Stanford HELM 2024).

Как интегрировать мониторинг статусов API?

Используйте готовые endpoints статуса провайдера, интегрируйте в n8n или любой alerting-стек. Автоматизация критична — ручной мониторинг не работает.

Какую очередь использовать для ретраев?

В small-mid проектах Supabase или Postgres, в high-load — RabbitMQ, Redis Streams. Принцип: очередь должна быть доступна вне LLM API.

Что говорить клиенту о рисках?

Открыто: массовые outage — не баг вашей системы, а реальность облачных LLM. В договоре фиксируйте SLA на уровне 98–99%, не выше.

В вашей прод-архитектуре где чаще всего возникают сбои — на уровне API, очереди, кэша или бизнес-логики? Интересно услышать реальные кейсы. Я делаю бесплатный аудит архитектуры для DACH-команд, кто строит AI под строгие регуляции. Пишите в LinkedIn или @ger_dennis_ai.

Ready to build?

Turn your process into an AI system

Fixed price. Production quality. DACH B2B focus.

Start a project → ← All articles