Гайд · TNWS AI

Как создать eval для OpenAI API и измерять качество промпта до релиза

2 мин

Практический eval для промпта: датасет, эталон, точные graders, LLM-судья, пороги релиза и разбор регрессий.

Соберите реальные обезличенные примеры, определите правильный результат и запускайте eval при каждом изменении модели или промпта. Сначала используйте точные проверки — JSON Schema, enum, числа, обязательные ссылки. LLM-судью подключайте только для качественных критериев и регулярно сверяйте с людьми.

Рабочий пример

// Концепция одной строки датасета JSONL
{
  "input": "Верните заказ 5412",
  "expected_intent": "return",
  "expected_order_id": "5412"
}

// Точная проверка результата
function grade(output, expected) {
  return Number(
    output.intent === expected.expected_intent &&
    output.order_id === expected.expected_order_id
  );
}

Конкретные факты и поля

  • Eval без эталона измеряет впечатление, а не качество. Для классификации нужен ожидаемый класс или допустимый набор ответов.
  • Средняя оценка скрывает критические ошибки; отдельно считайте false positive для опасных действий и результаты по категориям.
  • LLM-as-a-judge должен получать чёткую рубрику и примеры границ. Его оценку калибруют на человеческой разметке.
  • Набор тестов нельзя оптимизировать бесконечно: держите закрытую выборку, которую автор промпта не просматривает постоянно.

Как внедрить

  1. Соберите минимум по нескольку примеров каждого реального сценария, включая ошибки и попытки обхода правил.
  2. Удалите персональные данные и разделите dataset на development и holdout.
  3. Добавьте deterministic graders для структуры и фактов.
  4. Опишите рубрику 0–2 для полезности, полноты и отсутствия выдумок.
  5. Установите порог релиза и запрет на деградацию критических категорий.

Как проверить результат

Измените промпт так, чтобы он заведомо ломал один enum: eval обязан покраснеть. Затем прогоните одинаковую версию повторно и оцените вариативность. Вручную пересмотрите все критические ошибки и случайную выборку успешных ответов.

Ограничения

Высокий балл действует только для распределения вашего датасета. Новые типы запросов требуют обновления набора. Автоматический судья может предпочитать многословные ответы и пропускать тонкие фактические ошибки.

Чего не делать

  • Не тестируйте только счастливые примеры.
  • Не меняйте порог после просмотра плохого результата ради зелёного отчёта.
  • Не используйте один LLM-score как единственный критерий релиза.

FAQ

Можно ли копировать пример как есть?

Для прототипа — да. В production добавьте таймаут, обработку ошибок, лимиты, журнал request ID и защиту ключа.

Где хранить API-ключ?

В секретах серверной среды. Не в браузере, мобильном приложении, репозитории или тексте статьи.

Как проверить, что функция реально сработала?

Разбирать структурированные поля ответа и проводить контрольный тест, а не судить по убедительности текста.

Почему пример не фиксирует цену?

Тарифы и набор поддерживаемых моделей меняются; актуальные значения проверяются на официальной странице Pricing перед запуском.

Официальный источник

Документация OpenAI, проверена 11 сентября 2026 года: https://platform.openai.com/docs/guides/evals

Читайте также

Комментарии

Пока тихо. Скажите первое слово