Версионирование и тестирование промптов

Промпт — это код, влияющий на поведение продукта; меняя его «на глаз», легко устроить тихую регрессию.

Eval-набор — набор тестовых входов с ожидаемыми (или оцениваемыми) выходами, на котором измеряют качество промпта при каждом изменении.

Почему «работает на моём примере» недостаточно

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

Eval-набор

Соберите 20–100 репрезентативных входов с эталонами или критериями оценки. Покройте обычные случаи и краевые. Прогоняйте на нём каждую новую версию промпта и сравнивайте метрику.

[
  {"input": "Кнопка оплаты не работает", "expected": "баг"},
  {"input": "Хочу тёмную тему", "expected": "фича"},
  {"input": "Как сменить пароль?", "expected": "вопрос"},
  {"input": "", "expected": "другое"}
]

Как мерить качество

Тип задачиМетрика
Классификация/извлечениеТочность (совпадение с эталоном)
Формат (JSON)Доля валидных ответов
Свободный текстОценка по рубрике или LLM-судья
БезопасностьДоля корректных отказов

Для текста без единственно верного ответа применяют LLM-as-a-judge: другая модель оценивает ответ по заданным критериям (точность, полнота, тон). Это масштабируемо, хотя и требует калибровки.

Версионирование

Храните промпты в системе контроля версий (или в хранилище промптов) с понятными версиями. Тогда вы можете: сравнить v3 и v4 на eval-наборе, откатиться при регрессе, привязать версию к релизу и понять, какое изменение что улучшило. Документируйте, зачем менялся промпт.

Регрессионная проверка

При каждом изменении прогоняйте eval-набор и сравнивайте с предыдущей версией. Падение метрики хотя бы на части кейсов — повод не катить изменение. Это превращает «магию промптов» в инженерную дисциплину.

Итог

  • Тестировать на одном примере недостаточно — нужен eval-набор из десятков входов.
  • Выбирайте метрику под задачу: точность, валидность формата, LLM-судья.
  • Версионируйте промпты, чтобы сравнивать, откатывать и привязывать к релизам.
  • Прогоняйте регрессии на каждое изменение — это инженерная дисциплина.
Проверьте себя
1. Почему проверки промпта на одном примере недостаточно?
AОдин пример всегда репрезентативен
BУлучшение на одном входе может скрывать ухудшение на других — нужна выборка и метрика
CМодели детерминированы
DПромпты не влияют на качество
2. Что такое LLM-as-a-judge?
AМодель, которая пишет промпты
BДругая модель, оценивающая ответ по заданным критериям, когда нет единственно верного эталона
CЮридический помощник
DСпособ снизить температуру
3. Зачем версионировать промпты?
AЧтобы они занимали больше места
BЧтобы сравнивать версии на eval-наборе, откатываться при регрессе и привязывать к релизам
CЭто требование модели
DЧтобы запретить изменения
Поддержать проект