Сравнить две редакции инструкции честно можно только одним способом: развести на них реальный трафик, заранее назначить одну метрику и одно стоп-условие и дождаться объёма выборки, который считается до старта, а не подбирается по ходу. Всё остальное — «прогнали десять диалогов, второй вариант отвечает приятнее» — это не эксперимент, а впечатление, и оно систематически ошибается.

Ошибка выглядит невинно. Берут двадцать типовых вопросов, прогоняют на двух промптах, читают ответы, выбирают тот, который больше нравится, и выкатывают. Через месяц выясняется, что доля обращений, закрытых без оператора, не изменилась, зато выросла доля повторных обращений — новые ответы короче и приятнее, но клиенту приходится писать второй раз. Проверить это заранее было можно; для этого нужно было считать не впечатление, а два числа.

Ниже — арифметика разброса на малых выборках, таблица нужного объёма под разный размер эффекта, три пары метрик, которые нельзя смотреть по отдельности, порядок эксперимента со стоп-условиями и расчёт стоимости теста. Сквозной пример прежний для раздела: оптовая компания с интернет-магазином, 1 500 обращений в месяц. Ставки модельные: инженер подрядчика 3 000 ₽/час, методист внутри компании 900 ₽/час, руководитель направления 2 000 ₽/час.

Почему десять диалогов не показывают ничего

Возьмём агента, который закрывает без оператора 65 % обращений. Это его истинная, неизменная доля. Если прогнать десять случайных диалогов, наблюдаемый результат окажется где-то между 4 и 9 диалогами из 10 — таков обычный разброс для десяти наблюдений при доле 65 %. То есть один и тот же неизменившийся агент на двух прогонах по десять диалогов легко покажет «6 из 10» и «8 из 10».

Отсюда следует неприятное: разница в два диалога из десяти — это шум, а не эффект. Именно на таких разницах в реальности принимают решения о том, какой промпт лучше, и именно поэтому половина этих решений впоследствии не подтверждается. На сотне диалогов разброс сжимается примерно до 56–74 % — уже лучше, но всё ещё восемнадцать процентных пунктов, то есть больше любого эффекта, который вы реально ожидаете от правки формулировок.

Прогон контрольного набора — это не A/B-тест

Набор из тридцати диалогов с описанными эталонами отвечает на вопрос «не сломала ли правка то, что работало». Он проверяет соответствие эталону, а не сравнивает две редакции по результату на живом потоке. Эти два инструмента не заменяют друг друга: набор прогоняют после каждой правки, A/B запускают два-три раза в год. Как устроен набор и почему он ловит именно побочные эффекты, разобрано в материале про версионирование и регресс-тесты.

Сколько диалогов нужно на самом деле

Объём выборки не универсален — он считается от того, какой эффект вы рассчитываете увидеть. Чем меньше ожидаемая разница, тем больше наблюдений нужно, причём зависимость квадратичная: эффект вдвое меньше требует выборки вчетверо больше. Стандартное приближение для сравнения двух долей при обычных требованиях к надёжности выглядит так: количество диалогов на каждую ветку равно 16 × p × (1 − p) ÷ d², где p — исходная доля, а d — ожидаемый прирост.

Ожидаемый эффектДиалогов на веткуВсего диалоговСрок при 1 500 в месяц и делении пополам
+10 п. п.: с 65 % до 75 %3406802 недели
+5 п. п.: с 65 % до 70 %1 4002 8008 недель
+3 п. п.: с 65 % до 68 %3 9507 9005 месяцев
+2 п. п.: с 65 % до 67 %9 00018 000около года

Практический вывод из таблицы жёстче, чем кажется. Правка формулировок редко даёт больше 3–5 процентных пунктов по любой осмысленной метрике — значит, при потоке 1 500 диалогов в месяц честный тест идёт от восьми недель. Если кто-то показывает вам выигрыш промпта, полученный за три дня, он показывает разброс. И наоборот: если ожидаемый эффект действительно велик — например, вы добавили агенту доступ к системе, и он перестал отказывать в половине случаев, — двух недель хватает.

графикab-test-promtov--01
Три доверительных интервала наблюдаемой доли при истинных 65 % на 10, 100 и 1400 диалогах

Горизонтальная шкала долей от 0 % до 100 % с вертикальной пунктирной линией на отметке 65 %, подписанной «истинная доля». На шкале три горизонтальных отрезка-интервала друг под другом с подписями слева: «10 диалогов — от 35 % до 95 %», «100 диалогов — от 56 % до 74 %», «1 400 диалогов — от 62 % до 68 %». Верхний отрезок самый длинный, нижний короткий и выделен тоном. Под нижним отрезком подпись «объём, при котором прирост в 5 п. п. виден». Чертёжный стиль, подписи по-русски.

Один и тот же неизменившийся агент на десяти диалогах показывает от 4 до 9 из 10

Три пары метрик, которые тянут в разные стороны

Вторая типовая ошибка теста — назначить одну метрику и обрадоваться её росту. Почти каждая метрика качества ответов имеет пару, которая при её улучшении ухудшается, и если вторую не снимать, тест «выигрывает» ухудшением. Пары ниже — не теория: это три сюжета, которые встречаются в разборах чаще всего.

ПараЧто растёт в редакции BЧто при этом падаетКак снимать обе
Скорость и точностьСредняя длина ответа падает, отвечает быстрееИз ответов уходят оговорки, сроки и условия — то, что стояло в концеДоля ответов, содержащих обязательные элементы, по контрольному набору
Вежливость и краткостьОтветы теплее и подробнее, клиенты реже раздражаютсяОтвет разрастается, прямой ответ на вопрос уезжает в третье предложениеДоля ответов, где ответ по существу в первом предложении
Конверсия и возвратыБольше заявок доведено до счёта — агент настойчивееЧерез месяц растёт доля отказов и возвратов по этим же заявкамСчитать конверсию и долю отказов на одной когорте с лагом 30 дней

Отсюда правило: у теста одна главная метрика и одна страховочная — из той же пары. Главная решает, кто победил; страховочная имеет право отменить победу. Третья строка таблицы объясняет, почему тесты агента продаж дольше тестов агента поддержки: чтобы увидеть возвраты, нужно подождать месяц после самой конверсии. Полный перечень показателей, которые имеет смысл снимать с чат-бота поддержки, разобран в материале про метрики качества ответов, а перевод эффекта автоматизации в деньги — в отдельном материале про измерение эффекта.

Порядок эксперимента и стоп-условия

  1. 1
    Шаг 1. Гипотеза с числом

    Не «редакция B будет лучше», а «редакция B поднимет долю обращений, закрытых без оператора, с 65 % до 70 %, при неизменной доле повторных обращений в течение 7 дней». Число в гипотезе нужно не для отчётности: именно из него считается объём выборки и срок. Гипотеза без числа автоматически превращается в тест, который заканчивают тогда, когда результат нравится.

  2. 2
    Шаг 2. Деление трафика по клиенту, а не по сообщению

    Клиент должен весь диалог оставаться в одной ветке. Если делить по каждому сообщению, один и тот же человек получит ответы двух разных редакций, стиль поплывёт посреди разговора, и обе метрики испортятся. Деление пополам — самое быстрое; деление 20 на 80 безопаснее, но растягивает срок в 2,5 раза.

  3. 3
    Шаг 3. Стоп-условия, записанные до старта

    Два обязательных. Первое: любой инцидент с деньгами, персональными данными или нарушенным стоп-правилом — немедленный откат ветки без обсуждения результатов. Второе: рост доли эскалаций в ветке B более чем в полтора раза — откат и разбор. Стоп-условия не считаются проигрышем теста, они считаются его нормальной работой.

  4. 4
    Шаг 4. Срок и решение назначены заранее

    Дата снятия результата фиксируется до старта и не двигается. Подглядывать в промежуточные числа можно, принимать по ним решение — нельзя: при еженедельной проверке промежуточный перевес возникает почти всегда и почти всегда исчезает. Заранее пишется и то, что произойдёт при ничьей: обычно остаётся действующая редакция, потому что у неё есть история эксплуатации.

схема процессаab-test-promtov--02
Схема эксперимента: гипотеза, деление трафика по клиенту, две ветки, стоп-условия и решение

Горизонтальная схема слева направо из пяти блоков. Первый — «Гипотеза с числом: 65 % → 70 %, повторные обращения не растут». Второй — «Деление по клиенту, 50 на 50». Далее две параллельные дорожки: верхняя «Ветка A — действующая редакция», нижняя «Ветка B — новая редакция», обе подписаны «1 400 диалогов, 8 недель». Над дорожками красная поперечная планка с подписью «Стоп-условия: инцидент с деньгами или ПД — немедленный откат; рост эскалаций в 1,5 раза — откат». Справа блок «Снятие результата в назначенную дату: главная метрика и страховочная». Чертёжный стиль, подписи по-русски.

Стоп-условия и дата снятия результата записываются до старта, а не по ходу
Что стоит честный A/B-тест двух редакций инструкции
Подготовка второй редакции: методист 2 ч × 900 ₽ + инженер 2 ч × 3 000 ₽7 800 ₽
Деление трафика по клиенту и раздельный журнал диалогов: инженер 4 ч × 3 000 ₽12 000 ₽
Прогон контрольного набора на обеих редакциях до старта: инженер 1 ч × 3 000 ₽3 000 ₽
Еженедельная проверка стоп-условий, 8 недель: методист 0,5 ч × 8 × 900 ₽3 600 ₽
Снятие результата и решение: методист 2 ч × 900 ₽ + руководитель 1 ч × 2 000 ₽3 800 ₽
Итого30 200 ₽ и восемь недель ожидания — вдвое дороже самой правки, которую тест проверяет

Эта цифра и есть главный аргумент против того, чтобы тестировать каждую правку. Содержательная правка логики агента стоит порядка 13 600 ₽ и занимает несколько дней; тест, доказывающий её пользу, стоит 30 200 ₽ и два месяца. Экономически осмысленно запускать A/B два-три раза в год под изменения, которые затрагивают поведение агента целиком: смену модели, перевод инструкции на другой каркас, переход от свободного ответа к строгому сценарию. Остальные правки проверяются контрольным набором и выборочным разбором диалогов.

Когда A/B-тест не нужен

Есть два случая, где ответ виден на первых же примерах, и запускать эксперимент означает просто отложить очевидное решение на два месяца.

  1. 1Правка чинит явный дефект. Агент называл цену, не обращаясь к системе, — и перестал. Здесь эталон известен заранее, сравнивать нечего: достаточно прогона контрольного набора, где этот сценарий описан обязательными элементами. Список типовых дефектов, для которых это верно, разобран в материале про девять ошибок в инструкции агента.
  2. 2Одна из редакций нарушает стоп-правило. Если на двадцати примерах вторая редакция хотя бы раз пообещала скидку, назвала срок без обращения к системе или не передала диалог по жалобе — тест не нужен, нужен откат. Нарушение стоп-правила не компенсируется никаким выигрышем по главной метрике, потому что цена у него не в процентах, а в рублях и в претензиях.

И третий случай, менее приятный: поток слишком мал. При 400 диалогах в месяц даже эффект в 10 процентных пунктов собирается почти два месяца, а эффект в 5 пунктов — семь. Практический порог применимости A/B для агента — примерно 700 диалогов в месяц; ниже него эксперимент технически возможен, но его результат приедет позже, чем изменятся условия, ради которых он затевался. На таких объёмах работает связка «контрольный набор плюс сплошной выборочный разбор»: старший оператор просматривает все ответы за день примерно за двадцать минут.

Что спросить у подрядчика, который показывает результат теста

Три вопроса. Сколько диалогов было в каждой ветке — если меньше нескольких сотен, обсуждать нечего. Была ли метрика назначена до старта или выбрана после — второе означает, что из десятка показателей выбрали тот, который вырос. И какая метрика была страховочной — если её не было, вы не знаете, чем оплачен рост главной.

A/B-тест не отвечает на вопрос «какой промпт лучше». Он отвечает на вопрос «достаточно ли велика разница, чтобы её вообще было видно из-за шума».