Главная/Блог/Аналитика/Golden Eval: Сбор датасета из…
Аналитика4 мин чтения · 30 сентября 2026 г.

Golden Eval: Сбор датасета из продакшена для LLM

Как создать надежный набор для тестирования LLM на реальных данных пользователей, а не на синтетике. Пошаговый процесс от сбора логов до CI/CD.

Golden Eval: Сбор датасета из продакшена для LLM

Обновление промпта или новая версия модели часто приводят к скрытой регрессии. Публичные бенчмарки вроде MMLU измеряют общую эрудицию, но не показывают, как модель справляется с вашим конкретным трафиком. Golden Eval Dataset (золотой набор для оценки) закрывает этот пробел: это курируемая выборка реальных запросов пользователей с проверенными ожидаемыми ответами, которая запускается перед каждым деплоем.

В отличие от A/B тестов, которые измеряют бизнес-метрики, Golden Set проверяет безопасность изменений. Это регрессионный тест для поведения модели, где ожидаемый результат — это не просто строка, а экспертная оценка качества.

01Почему продакшен-данные лучше синтетики

Синтетические данные создаются на основе того, что разработчики предполагают, спросят пользователи. Реальные данные отражают то, что они спрашивают на самом деле. Использование продакшен-трафика дает три ключевых преимущества:

  • Правильное распределение: Если 70% ваших обращений касаются цен, 70% датасета должны составлять примеры по ценам. Синтетика часто искажает этот баланс, фокусируясь на «краевых случаях», которые редко встречаются.
  • Реальные режимы отказа: Пользователи генерируют сложные запросы: смешение языков, вставка полных логов ошибок, ссылки на устаревшие функции. Синтетика редко воспроизводит такие специфичные сценарии без глубокого понимания контекста.
  • Отслеживание эволюции продукта: Бот поддержки, который полгода назад решал только вопросы сброса паролей, сегодня обрабатывает возвраты и скриншоты конкурентов. Golden Set, собранный из актуальных логов, фиксирует этот дрейф. Статичная синтетика устаревает сразу после создания.
💡
Золотое правило объема. Для исследования одной проблемы достаточно ~10 примеров. Для полного регрессионного набора в CI/CD требуется от 100 до 1000 примеров. Покрытие режимов отказа важнее объема.

02Процесс создания: 5 шагов

Шаг 1: Сбор и анонимизация трафика

Начните с выборки логов за 1-2 недели. Если функционал сезонный, увеличьте окно. Важно логгировать все метаданные: intent (намерение), feature area, сегмент пользователя, версию модели и промпта. Восстановить их позже будет невозможно.

Обязательно пропустите данные через пайплайн очистки PII (Personally Identifiable Information). Соблюдайте Terms of Service и логируйте этапы трансформации данных для воспроизводимости.

Шаг 2: Дедупликация и кластеризация

Продакшен-данные часто повторяются. Вопрос «как сбросить пароль» может приходить сотни раз в разной формулировке. Вам нужен один репрезентативный пример, а не пятьдесят.

  1. Точное совпадение: Удалите дубликаты по нормализованному тексту.
  2. Эмбеддинг-симулярность: Используйте векторное сравнение для выявления парафразов, которые не ловятся точечным сравнением.
  3. Взвешенная выборка: Сохраните пропорции долей интентов, но добавьте вес редким, но критичным сценариям отказа.

Шаг 3: Создание ожидаемых ответов (Rubric)

Для каждого входа нужен «правильный» ответ. Это может быть эталонная строка или, что чаще, рубрикатор (rubric). Используйте аналитические рубрики, где каждый критерий оценивается отдельно (MET/UNMET), а не одна общая оценка. Это позволяет точно локализовать, что именно ухудшилось.

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

Шаг 4: Первичная оценка и очистка

Запустите текущую продакшен-модель против набора. Разделите ошибки на три категории:

  • Реальные ошибки модели: Модель ошиблась, рубрикатор верен. Оставляем.
  • Проблемы рубрикатора: Модель дала разумный ответ, который не был учтен в эталоне. Исправляем эталон.
  • Неоднозначные примеры: Не могут быть оценены ни одним разумным рубрикатором. Исключаем из набора.

Ожидайте, что часть набора будет отброшена на этом этапе. Это нормальный процесс «настройки» датасета.

Шаг 5: Интеграция в CI/CD

Разделите набор на две части:

  • PR Gate (10-100 примеров): Быстрый запуск при каждом Pull Request. Должен выполняться за секунды.
  • Full Regression (100-1000+ примеров): Полное тестирование на ветках релизов или ночных билдах.
⚠️
Версионирование. Храните датасет, рубрикатор и базовую модель (baseline) в Git вместе. Иначе вы не сможете отличить регрессию модели от ошибки в самом датасете.

03Кросс-модельное сравнение через единый API

Главное преимущество готового Golden Set — возможность сравнить разных провайдеров на ваших данных. Вместо того чтобы полагаться на лидерборды, вы запускаете один и тот же набор запросов через единый API (например, OpenRouter) к разным моделям.

Это позволяет выбрать модель на основе доказательств из вашего трафика, а не абстрактных метрик. Если модель A лучше справляется с вашими специфичными запросами, чем модель B, даже если B выше в MMLU, выбор очевиден для вашего продукта.

04Кому подойдёт / что запустится

Этот подход критически важен для команд, выпускающих LLM-продукты в продакшен. Он подходит для:

  • Customer Support Bots: Где важна точность фактов и тон общения.
  • Code Assistants: Где регрессия в генерации кода может сломать сборку.
  • Контентные генераторы: Где важна структура и соблюдение гайдлайнов бренда.

Для запуска потребуется инфраструктура для хранения логов, инструмент для эмбеддингов (например, Langchain или LlamaIndex) и система оценки (LLM-as-a-judge или rule-based проверки). Начните с малого: 50-100 тщательно аннотированных примеров из вашего реального трафика дадут больше пользы, чем 10 000 синтетических вопросов.

Источник: OpenRouter ↗