Сначала evals, потом промпты
Полгода я правил системный промпт по жалобам из чата поддержки. Каждая правка что-то чинила и что-то ломала, но ломала тихо. Исправил это одним файлом на 60 строк.
Что было
Правило «не обещай сроков возврата» добавилось после одной жалобы. Через неделю модель стала уклоняться от любых вопросов про сроки, включая сроки доставки. Заметили через месяц по падению оценок.
Что сделал
Собрал 60 реальных обращений с эталонными ответами и критериями: «упомянул номер заказа», «не придумал срок», «предложил следующий шаг». Проверка — отдельный вызов модели с инструкцией оценить ответ по критерию и вернуть 0 или 1.
cases/
0007-refund-timing.yaml
0008-delivery-late.yaml
run_evals.py --model current --out report.html
Прогон занимает четыре минуты и около 40 рублей. Теперь любая правка промпта сначала проходит через него.
Что изменилось
| Метрика | До | После |
|---|---|---|
| Кейсов проходит | 41 / 60 | 56 / 60 |
| Регрессий за месяц | 3 | 0 |
| Время на правку | ~2 ч | ~30 мин |
Что бы сделал иначе
Начал бы с 20 кейсов, а не с 60. Первые 20 нашли 80 % проблем, остальные 40 я дописывал ещё две недели.