Реклама. ИП Ахунов Александр Раисович, ИНН 665911236854
Prompt regression suite для sales/ops-агентов: gate и drift за 30 дней

Prompt regression suite для sales/ops-агентов: gate и drift за 30 дней

Prompt regression suite для sales/ops-агентов за 30 дней — это набор golden dialogs + автоматический gate перед деплоем + еженедельный drift-report и жёсткое rollback-правило. Без suite «улучшили промпт» часто ломает то, что уже работало в квалификациях, follow-up и эскалациях.

Я отделяю это от canary/eval-gates на уровне рантайма и от red-team scorecard. Здесь ось проще и больнее для бизнеса: изменили system prompt / tool-инструкции → прогнали suite → либо релиз, либо стоп.


Подробнее о том, как мы это делаем, — в разделе студия разработки AI-агентов.

Зачем suite, если «в чате всё ок»

В чате с разработчиком агент вежливый. В проде он:

  • пропускает обязательный вопрос квалификации;
  • обещает скидку, которой нет в прайсе;
  • создаёт задачу не тому owner;
  • «забывает» запрет писать клиенту без HITL.
Без suiteС suite
Релиз по ощущениюРелиз по порогу score
Регрессии ловят клиентыРегрессии ловят до merge
Drift модели незаметен неделямиWeekly drift-report на тех же кейсах
Откат «когда совсем плохо»Откат по правилу, не по настроению

Архитектура suite за 30 дней

Неделя 1: golden dialogs (минимум 25–40)

Я собираю кейсы из реальных логов, не из фантазии:

  1. Happy path — идеальный диалог до next step / задачи.
  2. Edge — клиент уходит в сторону, мало данных, смена ЛПР.
  3. Policy fail — попытка обойти прайс, PII, запрещённый tool.
  4. Handoff — когда агент обязан отдать человеку.
  5. Idempotency — повтор того же события не плодит дубли.

Формат одного кейса:

id: SALES-014
input: user/system turns + context (deal stage, price list version)
expect:
  - must_include: ["бюджет", "срок"]
  - must_not: ["гарантирую ROI 300%"]
  - tool_calls: allowlist + порядок
  - output_schema: valid JSON fields
  - judge: rubric 0–2 (fact, tone, policy)

Чеклист наполнения:

  • ≥10 sales-кейсов (квалификация / возражение / next step)
  • ≥10 ops-кейсов (статус заявки, эскалация, «где мой заказ»)
  • ≥5 policy-negative
  • Версия прайса/скрипта зафиксирована в метаданных кейса

Неделя 2: runner + gate before deploy

Gate — это CI-шаг, не «прогон у себя на ноутбуке иногда».

ПроверкаПорог (старт)Действие при fail
Schema/JSON valid100%block deploy
must_include / must_not≥95% кейсовblock deploy
Tool allowlist100%block deploy
LLM-judge rubric (avg)≥1.6 / 2.0block или warn+HITL
Latency p95 suiteв бюджетеwarn

Правила gate:

  1. Промпт, tools, model id — версионируются (prompt_version, model, suite_version).
  2. Gate гоняется на фиксированной suite; «подкрутить кейс под новый промпт» = отдельный PR с ревью.
  3. Секреты и live CRM в gate не торчат: dry-run / mock tools.

Неделя 3: weekly drift-report

Раз в неделю один и тот же runner на prod-модели (и shadow candidate, если есть):

  • delta score vs baseline недели −1;
  • топ-5 просевших case_id;
  • новые fail по policy;
  • стоимость прогона (токены) — чтобы suite сам не стал бездонным.

Drift ≠ «модель стала глупее обязательно». Часто виноваты: сменился default temperature, подтянули другой endpoint, обновили tool-описание в одном месте и забыли в другом.

Неделя 4: rollback-правило и ownership

Без правила suite превращается в отчёт, который все читают и никто не жмёт rollback.

Rollback-правило (пример, который я ставлю в проде):

  1. Если gate red — не деплоим, точка.
  2. Если после деплоя weekly drift: avg rubric < baseline −0.25 или policy-fail ≥1 на critical-кейсах — откат на previous prompt_version в течение 1 часа.
  3. Owner: конкретный человек (не «команда AI»), oncall-слот на неделю релиза.
  4. Postmortem 15 минут: кейс → причина → фикс в suite, не только в промпте.

Минимальный стек (без overengineering)

  • Хранилище кейсов: git (YAML/JSON), не Google Doc.
  • Runner: pytest/скрипт + вызов API модели + mock tools.
  • Артефакты: report.json + краткий markdown в CI.
  • Промпты: monorepo или отдельный prompts/ с тегом версии.
  • Алерты: в тот же канал, куда падают ошибки бота (TG/Slack).

Я специально не смешиваю suite с полным canary-трафиком: suite ловит регрессии промпта дешево; canary ловит рантайм и данные. Оба нужны, но это разные контуры.


Типичные ошибки

  1. 10 «красивых» кейсов и ноль policy-negative — suite врёт.
  2. Живой Bitrix в CI — flaky + риск порчи данных.
  3. Judge без рубрики — «LLM сказал ok» не метрика.
  4. Правили golden под новый промпт молча — регрессии маскируются.
  5. Нет владельца rollback — красный drift висит неделями.

Часто задаваемые вопросы

Сколько кейсов достаточно на старте?
25–40 качественных лучше 200 синтетики. Потом +5–10 из реальных инцидентов в месяц.

Нужен ли отдельный LLM-as-judge?
Для tone/policy — да, с короткой рубрикой. Для schema и must_not — обычные ассерты, они дешевле и стабильнее.

Это заменяет red-team?
Нет. Red-team ищет новые дыры. Suite не даёт сломать уже закрытые.

Как часто гонять?
На каждый PR с промптом/tools/model + полный weekly drift. Не только «перед большим релизом».


Читайте также

Собрать gate и suite под ваш sales/ops-агент — на raisovich.ru.

Чем prompt regression suite отличается от canary в проде?

Suite дёшево ловит регрессии промпта и tool-инструкций на golden dialogs до merge; canary проверяет рантайм и живые данные — это разные контуры, оба нужны.

Когда по weekly drift делают rollback промпта?

Если avg rubric падает ниже baseline примерно на 0.25 или на critical-кейсах появляется policy-fail — откат на previous prompt_version в течение часа, с named owner.

Можно ли подкрутить golden-кейсы под новый промпт без ревью?

Нет: правка suite под релиз маскирует регрессии. Изменение кейса — отдельный PR с ревью, gate гоняется на фиксированной версии suite.

Р
Команда экспертов по AI-автоматизации бизнеса, созданию сайтов и продвижению нейросетями. Помогаем бизнесу расти с помощью современных технологий.

Часто задаваемые вопросы

Чем prompt regression suite отличается от canary в проде?

Suite дёшево ловит регрессии промпта и tool-инструкций на golden dialogs до merge; canary проверяет рантайм и живые данные — это разные контуры, оба нужны.

Когда по weekly drift делают rollback промпта?

Если avg rubric падает ниже baseline примерно на 0.25 или на critical-кейсах появляется policy-fail — откат на previous prompt_version в течение часа, с named owner.