Degraded Mode Exit Criteria в 2026: когда систему можно считать вышедшей из ослабленного режима

Degraded mode exit criteria в 2026: как задавать явные условия выхода из degraded mode, чтобы продукт не оставался в полубольном состоянии дольше нужного и не выходил из него слишком рано.

Degraded mode exit criteria в 2026 нужны потому, что для многих систем войти в degraded mode проще, чем выйти из него правильно. Tool path снова отвечает, latency вроде нормализовалась, часть alerts погасла, и команда спешит вернуть normal routing. Но если evidence quality, approval integrity, retrieval health или fallback rates ещё не восстановились, ранний выход только создаёт новую волну проблем. Обратная крайность тоже вредна: система остаётся в ограниченном режиме дольше, чем нужно, и тратит лишний человеческий ресурс.

Exit criteria — это явные условия, при которых продукт можно безопасно перевести из degraded mode обратно в normal mode.
Самый вредный anti-pattern - выходить из degraded mode по одному сигналу вроде "сервис снова отвечает". Для реального recovery обычно нужно несколько подтверждений сразу.

Короткая версия

Хорошие exit criteria в 2026 обычно определяют:

  1. Какие recovery signals обязательны
  2. Какие risky paths нужно проверить отдельно
  3. Сколько времени система должна быть стабильной
  4. Кто подтверждает выход
  5. Что делать, если часть signals восстановилась, а часть нет

Что особенно важно

  • recovery != single metric green;
  • exit criteria должны учитывать risk class сценариев;
  • safe exit полезно подтверждать не только health, но и quality;
  • слишком ранний exit часто хуже чуть более долгого degraded mode.
Без техники
API снова отвечает, поэтому команда сразу возвращает full autonomy.
С техникой
Перед выходом проверяются tool health, evidence quality, fallback rate и stability window на risky flows.
ПромптExit-criteria intuition
Почему нельзя выходить из degraded mode только потому, что сервис снова доступен?
Ответ модели

Потому что доступность не гарантирует восстановление качества, безопасности и корректного routing на чувствительных сценариях.

1. Exit criteria должны смотреть на качество, а не только на uptime

Полезно проверять:

  • tool confirmation health;
  • retrieval evidence quality;
  • fallback auto-show rate;
  • approval integrity;
  • error and latency stability.

Так команда не путает partial recovery с full recovery.

2. Risky flows лучше проверять отдельно

Например:

  • money movement;
  • customer-visible actions;
  • policy exceptions;
  • sensitive tenant workflows;
  • manual-review bypass paths.

Они не должны автоматически считаться восстановленными вместе со всем остальным.

Если degraded mode вводился из-за риска для конкретного action class, выход из него должен подтверждаться именно на этом action class, а не только на общей метрике сервиса.

3. Нужен stability window

Полезно задавать:

  • minimum healthy duration;
  • max fallback rate during window;
  • max unresolved alerts;
  • max manual override usage;
  • no new high-risk incidents.

Без этого система может "выйти" из degraded mode на коротком колебании.

4. Exit должен быть route-aware

Часть путей может вернуться раньше:

  • low-risk informational flows;
  • read-only tools;
  • non-customer-visible features.

А часть позже:

  • auto-actions;
  • approval-sensitive paths;
  • high-trust retrieval flows.

Это лучше, чем общий toggle для всего продукта.

5. Что особенно часто ломают команды

Exit on availability only

Health green трактуется как полное восстановление.

No stability window

Recovery не подтверждается во времени.

One global exit for all paths

Risky и low-risk flows включаются одновременно.

No explicit approver

Непонятно, кто принимает решение о возврате.

No rollback-on-regression

Повторный срыв не возвращает систему обратно в degraded mode быстро.

6. Какие метрики полезны

Полезно считать:

  • time spent in degraded mode;
  • false exits followed by re-entry;
  • stability-window pass rate;
  • fallback rate before and after exit;
  • risky-flow incidents after exit;
  • percent of paths recovered progressively instead of globally.

Плюсы

  • Exit criteria делают recovery управляемым, а не интуитивным
  • Снижают риск раннего возврата в unsafe normal mode
  • Помогают восстанавливать продукт по risk-aware стадиям
  • Связывают operational health с реальным quality state

Минусы

  • Нужно поддерживать дополнительные recovery checks
  • Чрезмерно строгие criteria могут затягивать degraded mode
  • Разные пути требуют разной логики выхода
  • Без observability трудно честно доказать recovery

Пример exit criteria

degraded_exit:
  min_stability_minutes: 30
  max_fallback_rate: 0.05
  require_tool_health: true
  require_quality_checks: true

Простой exit gate

def can_exit_degraded(state):
    return (
        state["tool_health_ok"]
        and state["quality_checks_ok"]
        and state["stability_window_passed"]
    )

Практический совет: хороший выход из degraded mode подтверждает не только "сервис ожил", но и "система снова принимает приемлемые решения на нужном уровне риска".

Проверьте себя

1. Почему availability сама по себе недостаточна для выхода из degraded mode?

2. Какой anti-pattern особенно вреден?

3. Что полезно делать для recovery?