Guardrails - атоматический стоп эксперимента
6.1 Цель
Section titled “6.1 Цель”Guardrails — это страховка: эксперимент может “побеждать” по целевой метрике и одновременно ломать продукт. Это нельзя пропускать. Иногда эксперимент улучшает целевую метрику (например, конверсию), но при этом ухудшает стабильность или производительность: растут ошибки или задержки.
Guardrails — это правила безопасности, которые автоматически останавливают или откатывают эксперимент при деградации, чтобы ограничить ущерб для пользователей и бизнеса.
6.2 Что такое guardrail
Section titled “6.2 Что такое guardrail”В истории: если заметно выросла задержка или количество ошибок увеличилось — эксперимент должен остановиться автоматически, без героизма и ручного мониторинга. Guardrail — это правило, которое определяется четырьмя параметрами:
- метрика безопасности — выбранная метрика из каталога метрик эксперимента;
- порог — значение, после превышения которого считаем, что есть деградация.
- окно наблюдения — окно наблюдения (например, “последние 10 минут”), за которое пересчитывается метрика.
- действие при срабатывании:
- поставить эксперимент на паузу,
- «откат к контрольному варианту» — откатить эксперимент к контрольному варианту.
Примеры guardrail-метрик: «доля ошибок», «95-й перцентиль задержки», пользовательские quality-метрики, если они описаны в каталоге.
6.3 Как работает проверка
Section titled “6.3 Как работает проверка”Здесь важна человеческая логика: guardrail — это правило уровня “если стало хуже, чем порог — сделай действие”, а не просто график в дашборде. Пока эксперимент находится в запущенном состоянии, платформа периодически проверяет guardrails:
- Накапливаются и атрибутируются события, нужные для расчёта соответствующих guardrail-метрик по решениям («идентификатор решения») этого эксперимента.
- На каждом шаге проверки платформа пересчитывает выбранную guardrail-метрику за последние «окно наблюдения».
- Если значение метрики превышает порог — считается, что guardrail сработал, и платформа выполняет выбранное действие.
Цель: автоматическая реакция в близком к real‑time режиме без участия человека.
6.4 Действия при срабатывании
Section titled “6.4 Действия при срабатывании”В истории: минимальный набор действий — поставить на паузу и уведомить. Дальше уже команда решает: откатываем или фиксим.
6.4.1 Действие = пауза
Section titled “6.4.1 Действие = пауза”Платформа переводит эксперимент в состояние «на паузе». Бизнес‑смысл: остановить раздачу экспериментального значения и прекратить дальнейшее ухудшение, сохранив возможность ручного анализа и последующего решения.
6.4.2 Действие = откат к контрольному варианту
Section titled “6.4.2 Действие = откат к контрольному варианту”Платформа выполняет откат к контрольному варианту. Бизнес‑смысл: быстро вернуть базовое (ожидаемое) поведение.
Важно: точная трактовка “rollback” должна быть единообразной в продукте. На бизнес‑уровне это означает прекращение выдачи деградирующего варианта и возвращение к базовому варианту эксперимента (control). Как именно это выражается в статусах/выдаче — реализационная деталь.
6.5 Фиксация факта срабатывания
Section titled “6.5 Фиксация факта срабатывания”В истории: потом всегда спрашивают “почему выключили?”. Поэтому нужен аудит: что сработало, когда, по каким данным. Когда guardrail срабатывает, платформа обязана:
-
Выполнить выбранное действие (пауза или откат к контрольному варианту).
-
Добавить запись в историю срабатываний guardrails со следующими полями:
- метрика
- порог
- «окно наблюдения»
- действие
- «фактическое значение метрики» — фактическое значение метрики на момент срабатывания
- «время срабатывания» — время срабатывания