Canary и eval-gates для AI-агента: golden-set и rollback за 30 дней
Canary + eval-gates для AI-агента в проде за 30 дней — это golden-set, жёсткие score thresholds, поэтапный трафик, auto-rollback и именной on-call. Без ворот «модель обновили — посмотрим в чате» превращается в инцидент с клиентами.
Я не путаю это с общим observability-пакетом «логи + red-team + scorecard на 14 дней» и не свожу к очередям/retry. Здесь ось — как безопасно катить новую версию агента и кто откатывает, когда score падает.
Больше о составе работ и сроках — в услуге как мы делаем AI-агентов.
Зачем canary AI-агенту, а не только микросервису
У классического API canary смотрит latency/5xx. У агента ломается ещё и качество решений:
| Сигнал | Что значит | Реакция |
|---|---|---|
| p95 latency / error rate | инфра | rollback / scale |
| task success rate | агент не закрывает задачу | rollback + ticket |
| policy violation | tool вне whitelist, PII leak | hard stop |
| eval score vs golden | регрессия промпта/модели/tools | block promote |
| human override rate | HITL «спасает» слишком часто | freeze canary |
Правило: прод-версия = артефакт с номером (prompt+tools+model+policy), а не «то, что вчера в n8n поправили».
30 дней: от golden-set до on-call
Дни 1–10: golden-set и пороги
- Собираю 40–120 кейсов: happy path, edge, adversarial, «пустой ввод», эскалация.
- Каждый кейс: вход, ожидаемый класс ответа / tool calls / must-include / must-not.
- Метрики score:
exact_slot(поля CRM, статусы);rubric0–5 (экспертная оценка sample);safetypass/fail;tool_trace(разрешённые вызовы).
- Thresholds до canary, не после инцидента.
| Gate | Пример порога | Блокирует |
|---|---|---|
| G0 offline | safety 100%, rubric ≥ 4.0 median | merge в main |
| G1 shadow | drift vs prod baseline ≤ 8% | canary 5% |
| G2 canary | success ≥ baseline−3pp, override ≤ +5pp | 25% / 50% |
| G3 full | 72ч стабильности + 0 Sev-1 | 100% |
Golden-set версионирую (golden_v3.json + owner). Устаревшие кейсы не удаляю молча — помечаю deprecated.
Дни 11–20: canary-контур
Схема трафика, которую я ставлю чаще всего:
| Этап | Доля | Длительность min | Kill-switch |
|---|---|---|---|
| shadow | 0% write, 100% compare | 3–5 дней | — |
| canary A | 5% | 48ч | auto |
| canary B | 25% | 48ч | auto |
| canary C | 50% | 72ч | auto + manual approve |
| full | 100% | — | on-call |
Auto-rollback срабатывает, если за скользящее окно (например 2ч):
- safety fail ≥ 1;
- error rate > 2× baseline;
- eval sample score < threshold;
- tool policy deny spike.
Откат = предыдущий immutable release, не «откатить один промпт руками в проде».
Дни 21–30: ownership on-call
Без имени в календаре canary — театр.
| Роль | Ответственность | SLA |
|---|---|---|
| Release owner | номер релиза, changelog, gates | до выкладки |
| On-call AI | rollback, triage, клиентский Sev | 15 мин ack |
| Domain expert | rubric sample, false positive | next business day |
| Eng tools | whitelist/tools/infra | по runbook |
Runbook на одну страницу:
- Как посмотреть score dashboard.
- Как force-rollback (одна кнопка / один workflow).
- Кому писать при PII/safety.
- Что не делать (не «чуть подкрутить temperature в проде»).
Чеклист eval-gates перед promote
- Release id: model + prompt hash + tools schema + policy version
- Golden-set прогнан offline, отчёт сохранён
- Shadow diff просмотрен (не только average score)
- Canary % и длительность записаны в change ticket
- Auto-rollback thresholds задеплоены до трафика
- On-call в календаре, эскалация РОП/support известна
- Feature flag / router умеет sticky session (один клиент — одна версия)
- Логи tool-calling и HITL пишутся с
release_id
| Антипаттерн | Почему больно | Замена |
|---|---|---|
| «Прогнали 10 примеров глазами» | не ловит регрессии | golden + CI gate |
| Canary без rollback | 5% тоже клиенты | auto + manual |
| Один score «accuracy» | safety и slot-ошибки разные | multi-gate |
| Промпт правит дежурный в UI | нет артефакта | PR + release |
Что измерять в первые 30 дней
| Метрика | Зачем |
|---|---|
| % релизов, заблокированных G0/G1 | ворота работают |
| MTTA / MTTR rollback | on-call реален |
| false rollback rate | пороги не истеричные |
| delta success canary vs control | есть ли смысл катить |
| override rate by release | качество vs нагрузка людей |
Цель пилота: хотя бы один полный цикл shadow → canary → full → (учебный) rollback на staging/prod-flag без потери данных.
Часто задаваемые вопросы
Чем это отличается от observability eval/red-team scorecard?
Scorecard и red-team — про видимость и атаки. Canary + eval-gates — про процедуру выкладки и отката конкретной версии агента. Можно иметь логи и всё равно катить «в лоб» без ворот.
Нужен ли отдельный staging-агент?
Да, минимум: те же tools с dry-run/песочницей CRM. Shadow на проде без write — следующий слой, не замена staging.
Что если golden-set маленький?
На старте 40 кейсов лучше 400 мусорных. Расширяю из реальных fail/HITL раз в неделю. Каждый Sev-1 → новый кейс в golden до следующего релиза.
Кто жмёт rollback ночью?
On-call AI по runbook. Бизнес-owner не «согласовывает 40 минут», если сработал safety-gate. Postmortem — утром.
Читайте также
- Observability AI-агентов: eval, логи, red-team, scorecard 14 дней
- Production AI-контур: очереди, retry, идемпотентность, HITL
- Пакет AI shadow→prod 45/75/110 за 14 дней
Нужен canary-контур и eval-gates под вашего агента: https://raisovich.ru
Что такое eval-gates перед promote AI-агента?
Это жёсткие пороги по golden-set, safety, rubric и tool-trace, которые блокируют merge и canary до падения score. Прод-версия — immutable артефакт prompt+tools+model+policy, а не правка в UI.
Какой процент трафика ставить на canary в первые 48 часов?
Типичный старт — 5% после shadow, затем 25% и 50% при стабильных метриках. Auto-rollback и sticky session по release_id включают до первого живого трафика.
Когда auto-rollback должен сработать без согласования?
При safety fail, error rate выше 2× baseline, падении eval sample ниже threshold или spike policy deny. Откат идёт на предыдущий immutable release, а не «подкрутить temperature» руками.
Подпишитесь на @raisovich_news
Первыми получайте новые статьи об AI-автоматизации, нейросетях для бизнеса и создании сайтов. Без спама — только полезный контент.
Часто задаваемые вопросы
Что такое eval-gates перед promote AI-агента?
Это жёсткие пороги по golden-set, safety, rubric и tool-trace, которые блокируют merge и canary до падения score. Прод-версия — immutable артефакт prompt+tools+model+policy, а не правка в UI.
Какой процент трафика ставить на canary в первые 48 часов?
Типичный старт — 5% после shadow, затем 25% и 50% при стабильных метриках. Auto-rollback и sticky session по release_id включают до первого живого трафика.