Как оценивать качество промпта
Как оценивать качество промпта
Ты написал промпт, получил ответ — он выглядит хорошо. Но «выглядит хорошо» — не метрика. Чтобы системно улучшать промпты, нужны критерии оценки. В этом уроке разберём, как измерять качество промпта объективно, а не «на глаз».
Субъективная vs объективная оценка
Субъективная: «Ответ выглядит нормально» или «Мне нравится». Проблема: тебе нравится, а пользователю — нет. Или сегодня нравится, а завтра нет.
Объективная: оцениваем по конкретным критериям с измеримыми показателями.
Три критерия качества промпта
1. Точность (accuracy) — насколько ответ соответствует истине и требованиям.
Для задач классификации: сколько ответов совпало с правильными?
Проверил 20 отзывов:
- Правильно классифицировано: 18
- Ошибок: 2
- Точность: 18/20 = 90%
Для генеративных задач: все ли затребованные элементы присутствуют?
Проверил ответ на наличие 5 требуемых полей:
- name ✓
- date ✓
- amount ✓
- parties ✗ (не указаны)
- terms ✓
Полнота: 4/5 = 80%
2. Консистентность (consistency) — насколько стабильно модель отвечает на одинаковые запросы.
Один и тот же промпт с одними данными должен давать одинаковый результат. Проверь: отправь промпт 3 раза с одними данными. Сильно ли отличаются ответы?
Запуск 1: {"sentiment": "negative"}
Запуск 2: {"sentiment": "negative"} ← консистентно
Запуск 3: {"sentiment": "negative"} ← консистентно
✓ Консистентность 100%
Если ответы разнятся — проблема. Возможно, нужна более жёсткая инструкция или пониженный temperature (о нём — в уроке 10.3).
3. Форматная корректность — соответствует ли ответ ожидаемому формату.
Ожидался JSON → пришёл JSON → валидный? → да/нет
Ожидалась таблица Markdown → пришла таблица → корректная? → да/нет
Форматная корректность — самый простой для измерения критерий. Считай долю ответов, которые парсятся без ошибок.
Метод: eval set
Eval set (оценочный набор) — это коллекция входных данных с известными ожидаемыми ответами. Ты прогоняешь промпт на всём наборе и считаешь долю правильных.
Пример eval set для классификации тональности:
| ID | Текст отзыва | Ожидаемая тональность |
|---|---|---|
| 1 | «Всё отлично, спасибо!» | positive |
| 2 | «Ужасно, деньги списали, заказ не прислали» | negative |
| 3 | «Нормально, но доставка долгая» | neutral |
| 4 | «Не знаю, пока не пользовался» | neutral |
| 5 | «Лучший сервис!» | positive |
Прогоняем промпт на 5 отзывах, сравниваем ответы с ожидаемыми:
Отзыв 1: модель → positive, ожидалось → positive ✓
Отзыв 2: модель → negative, ожидалось → negative ✓
Отзыв 3: модель → negative, ожидалось → neutral ✗
Отзыв 4: модель → neutral, ожидалось → neutral ✓
Отзыв 5: модель → positive, ожидалось → positive ✓
Точность: 4/5 = 80%
Ошибка на отзыве 3: модель не разглядела нейтральность за негативным словом «долгая». Это сигнал улучшить промпт — например, добавить пример с похожей ситуацией.
Создание eval set
- Собери 10–20 примеров из реальных данных (или придумай реалистичные).
- Разметь их вручную — запиши, какой ответ ожидается.
- Включи краевые случаи: пустые данные, неоднозначные формулировки, ошибки во входных данных.
- Прогони промпт и сравни с ожидаемым.
- Считай метрику (точность, полноту, форматную корректность).
Проверь себя
Ты создал промпт для извлечения цены из описания товара. Какой eval set соберёшь? Какие краевые случаи включишь?
Ответ: минимум 10 описаний: с ценой в формате «1000 руб.», «1 000 ₽», «цена: 500», «999 рублей», без цены, с диапазоном «от 1000 до 2000», со скидкой «1500 (было 3000)», с валютой «$50», с опечаткой «ц ена 200».
Итог
- Качество промпта измеряется, а не оценивается «на глаз».
- Три критерия: точность (соответствие истине), консистентность (стабильность), форматная корректность.
- Eval set — набор примеров с известными ожидаемыми ответами.
- Создай eval set из 10–20 примеров, включи краевые случаи.
- Измеряй метрику ДО и ПОСЛЕ изменений промпта — только так поймёшь, улучшил ты его или ухудшил.
Что дальше
Теперь ты знаешь, КАК измерять качество. В следующем уроке — процесс: итеративный подход к улучшению промпта на основе метрик. Цикл «измерил → улучшил → измерил → ...» как основа инженерии промптов.