A/B-тестирование промптов
A/B-тестирование промптов
Итеративный подход (урок 10.2) улучшает промпт шаг за шагом. Но иногда нужно сравнить ДВЕ версии промпта и решить, какая лучше. Для этого есть A/B-тестирование: берёшь промпт A и промпт B, прогоняешь на одном eval set и сравниваешь метрики.
Что такое A/B-тестирование промптов
A/B-тест — это контролируемый эксперимент:
- Версия A (контроль) — текущий промпт.
- Версия B (вариант) — новый промпт с одним отличием.
- Оба прогоняются на ОДИНАКОВОМ eval set.
- Сравниваются метрики.
Eval set (20 примеров)
↓
├── Промпт A → 20 ответов → точность 75%
└── Промпт B → 20 ответов → точность 85%
B лучше A на 10%. Внедряем B.
Пример A/B-теста
Задача: классификация обращений клиентов.
Промпт A (zero-shot с инструкцией):
Классифицируй обращение: жалоба, вопрос, предложение, другое.
Ответь одним словом.
Промпт B (few-shot с примерами):
Классифицируй обращение: жалоба, вопрос, предложение, другое.
Примеры:
"Курьер опоздал на час!" → жалоба
"Как оформить возврат?" → вопрос
"Было бы здорово добавить доставку в выходные" → предложение
"Спасибо!" → другое
Ответь одним словом.
Результаты на eval set (30 примеров):
| Промпт | Точность | Ошибки |
|---|---|---|
| A | 73% (22/30) | 8 ошибок: 5 — путает «вопрос» и «жалобу» |
| B | 93% (28/30) | 2 ошибки: краевые случаи |
Вывод: few-shot (B) даёт +20% точности. Внедряем B.
Что можно сравнивать
- Разные формулировки инструкции: «Будь вежлив» vs «Ответь как сотрудник поддержки».
- Zero-shot vs few-shot: только инструкция vs инструкция + примеры.
- Разные роли: «Ты — бухгалтер» vs «Ты — финансовый аналитик».
- Разные форматы: «Ответь текстом» vs «Ответь JSON».
- Разные параметры модели: temperature 0.2 vs 0.6.
Правила A/B-теста
1. Одно отличие
Промпт A и B должны отличаться ТОЛЬКО в одном аспекте. Если B отличается и примерами, и ролью, и форматом — ты не узнаешь, что именно дало прирост.
2. Одинаковые условия
Оба промпта тестируются на одном eval set, с одинаковыми параметрами модели.
3. Достаточный размер выборки
На 5 примерах разница в 1 ошибку — это 20% точности. Случайность. Минимум 15–20 примеров для осмысленного сравнения.
4. Статистическая значимость
Если точность A = 80%, а B = 85% на 20 примерах — разница в 1 правильный ответ. Это может быть шум. Чем больше eval set, тем надёжнее вывод.
Когда A/B-тест, а когда итерация
| Итеративный подход | A/B-тест |
|---|---|
| Улучшаем один промпт шаг за шагом | Сравниваем два варианта |
| Не знаем заранее, что лучше | Есть конкретная гипотеза («few-shot лучше zero-shot?») |
| Процесс | Эксперимент |
Часто они комбинируются: итеративно улучшил промпт до версии 3, потом сделал A/B-тест между версией 2 и версией 3 — действительно ли стало лучше?
Проверь себя
Ты хочешь проверить, улучшит ли XML-разметка точность извлечения данных из договоров. У тебя есть промпт A (без XML) и промпт B (с XML). Eval set — 20 договоров. Как проведёшь A/B-тест?
Пример ответа: (1) Прогнать оба промпта на одних и тех же 20 договорах. (2) Для каждого ответа проверить точность извлечения 5 полей. (3) Посчитать среднюю точность для A и B. (4) Если разница > 5% в пользу B — внедрить XML. (5) Задокументировать результат: «XML-разметка повысила точность с 78% до 91%».
Итог
- A/B-тест — это контролируемое сравнение двух версий промпта на одном eval set.
- Промпты должны отличаться только в ОДНОМ аспекте.
- Минимум 15–20 примеров в eval set для осмысленного сравнения.
- A/B-тест дополняет итеративный подход: итерация для улучшения, A/B для сравнения.
- Результат A/B-теста — это не мнение, а данные: «B точнее A на 12%».
Что дальше
Ты освоил метрики, итерации, параметры модели и A/B-тестирование. В финальном уроке модуля — практика: пройдём полный цикл итеративного улучшения промпта с измерением метрик на каждом шаге.