Гайд · TNWS AI
Как создать eval для OpenAI API и измерять качество промпта до релиза
Практический 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 должен получать чёткую рубрику и примеры границ. Его оценку калибруют на человеческой разметке.
- Набор тестов нельзя оптимизировать бесконечно: держите закрытую выборку, которую автор промпта не просматривает постоянно.
Как внедрить
- Соберите минимум по нескольку примеров каждого реального сценария, включая ошибки и попытки обхода правил.
- Удалите персональные данные и разделите dataset на development и holdout.
- Добавьте deterministic graders для структуры и фактов.
- Опишите рубрику 0–2 для полезности, полноты и отсутствия выдумок.
- Установите порог релиза и запрет на деградацию критических категорий.
Как проверить результат
Измените промпт так, чтобы он заведомо ломал один enum: eval обязан покраснеть. Затем прогоните одинаковую версию повторно и оцените вариативность. Вручную пересмотрите все критические ошибки и случайную выборку успешных ответов.
Ограничения
Высокий балл действует только для распределения вашего датасета. Новые типы запросов требуют обновления набора. Автоматический судья может предпочитать многословные ответы и пропускать тонкие фактические ошибки.
Чего не делать
- Не тестируйте только счастливые примеры.
- Не меняйте порог после просмотра плохого результата ради зелёного отчёта.
- Не используйте один LLM-score как единственный критерий релиза.
FAQ
Можно ли копировать пример как есть?
Для прототипа — да. В production добавьте таймаут, обработку ошибок, лимиты, журнал request ID и защиту ключа.
Где хранить API-ключ?
В секретах серверной среды. Не в браузере, мобильном приложении, репозитории или тексте статьи.
Как проверить, что функция реально сработала?
Разбирать структурированные поля ответа и проводить контрольный тест, а не судить по убедительности текста.
Почему пример не фиксирует цену?
Тарифы и набор поддерживаемых моделей меняются; актуальные значения проверяются на официальной странице Pricing перед запуском.
Официальный источник
Документация OpenAI, проверена 11 сентября 2026 года: https://platform.openai.com/docs/guides/evals
Читайте также
Как использовать reasoning-модели OpenAI и проверить ответ на сложной задаче
Reasoning-модели OpenAI: постановка задачи, reasoning effort, проверяемый формат, инструменты и тестирование без запроса скрытой цепочки мыслей.
Как подготовить набор тестов для оценки LLM-ответов
Как подготовить набор тестов для оценки LLM-ответов: пошаговый разбор, готовый шаблон, пример и контроль ошибок.
Как добавить веб-поиск в OpenAI Responses API и сохранить источники
Практическая настройка web_search в Responses API: запрос, список источников, проверка цитат и обработка неполных данных.
Комментарии
Пока тихо. Скажите первое слово