Что такое evals и почему десяти красивых ответов недостаточно

Evals - это набор входных примеров, ожидаемых свойств результата, процедур проверки и правил принятия решения. Он отвечает не на вопрос «умная ли модель», а на гораздо более полезный: решает ли эта версия нашей системы конкретную задачу в допустимых границах качества, риска, скорости и стоимости.

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

1
задача и аудитория на один eval
3
слоя: данные, проверка, решение
0
релизов по одному среднему баллу

Оценивайте всю цепочку: системную инструкцию, модель, retrieval, инструменты, фильтры и постобработку. Замена любого звена способна улучшить одни случаи и незаметно сломать другие.

Начинайте с полезного результата, а не со списка метрик

Сначала опишите работу пользователя: что он передаёт системе, какое решение принимает по ответу и какой ущерб принесёт ошибка. Только после этого переводите ожидания в наблюдаемые критерии.

Корректность
Факты, вычисления и вывод соответствуют данным задачи.
Полнота
Покрыты обязательные пункты без опасных пропусков.
Безопасность
Нет запрещённых действий, утечек и неподтверждённых советов.
Экономика
Задержка и стоимость укладываются в бюджет сценария.

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

Карта качества: от бизнес-цели к проверяемому признаку

ОжиданиеНаблюдаемый признакПодходящая проверка
Ответ основан на документахКаждое существенное утверждение поддержано фрагментомПроверка цитат плюс экспертная выборка
Данные готовы к импортуВалидная схема, типы и обязательные поляJSON Schema и бизнес-валидаторы
Письмо соответствует тонуНет канцелярита, давления и запрещённых обещанийРубрика и парное сравнение
Агент безопасенНе выполняет действие без нужного подтвержденияСценарии и анализ trace
Функция выгоднаКачество достигнуто в бюджетеКачество, задержка и стоимость вместе

Не используйте расплывчатое «ответ хороший». Два разметчика понимают его по-разному. Рабочий критерий содержит объект проверки, шкалу, примеры границ и правило для неоднозначного случая.

Ты помогаешь проектировать eval для ИИ-функции.
Сценарий: [что делает пользователь].
Вход: [данные].
Результат: [что система должна вернуть].
Риски: [что нельзя допустить].
Составь дерево качества. Для каждого критерия укажи: наблюдаемый признак, блокирующая ли ошибка, способ проверки, пример успешного и провального ответа. Не придумывай численные пороги: пометь их как параметры, которые нужно определить на размеченных данных.

Как собрать eval-набор, похожий на реальную работу

Хороший набор отражает распределение задач, но не ограничивается средними случаями. Возьмите обезличенные производственные примеры, обращения поддержки, типовые шаблоны и ошибки, найденные при пилоте. Добавьте редкие, но дорогие сбои.

Состав набора
  1. Частые стандартные запросы основных сегментов.
  2. Короткие, длинные, неполные и неоднозначные входы.
  3. Разные языки, форматы, каналы и типы файлов.
  4. Пограничные значения, пустые поля и конфликтующие источники.
  5. Исторические ошибки из обращений и инцидентов.
  6. Провокационные и adversarial-запросы.
  7. Случаи, когда система должна отказаться или задать вопрос.
  8. Случаи с несколькими допустимыми ответами.

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

Golden set, regression set и свежая контрольная выборка

Один файл с примерами быстро превращается в смесь разных назначений. Разделите данные. Golden set содержит тщательно проверенные примеры и эталонные свойства. Regression set фиксирует важные сценарии и уже найденные ошибки. Challenge set собирает крайние и атакующие случаи. Свежая контрольная выборка помогает заметить подгонку под известный тест.

Не обязательно иметь единственный идеальный текст. Для суммаризации или письма полезнее сохранить обязательные факты, запрещённые утверждения и рубрику. Для классификации, вычислений и структурированного извлечения эталон обычно строже.

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

Детерминированные graders: сначала проверяйте то, что можно вычислить

Не поручайте модели-судье задачу, которую надёжнее решает код. Автоматические проверки дешевле, повторяемее и понятнее при разборе сбоя.

РезультатПроверкаЧто ловит
JSONПарсинг, schema, enum, типыСломанный контракт и лишние значения
РасчётПовторное вычислениеОшибочную арифметику
КодИзолированные unit-тестыНеверное поведение
ЦитатыСуществование источника и фрагментаНесуществующие ссылки
ПолитикаЗапрещённые поля и действияЯвное нарушение ограничений

По документации OpenAI graders могут включать проверки строк, сходство текста и model graders. Это варианты инструментов, а не доказательство качества сами по себе: конкретный grader нужно проверить на ваших примерах.

Человеческая оценка: рубрика важнее впечатления

Человек нужен там, где важны уместность, ясность, тон, полезность и допустимость вывода. Дайте разметчикам одинаковый контекст, запретите додумывать отсутствующие сведения и опишите границы шкалы.

Оцени ответ только по предоставленному входу и источникам.
Критерий: [один критерий].
Шкала:
0 - нарушено обязательное условие;
1 - существенная ошибка мешает использованию;
2 - результат применим после заметной правки;
3 - результат применим без существенной правки.
Сначала приведи конкретное доказательство из ответа, затем балл и короткую причину. Если данных недостаточно, верни «неопределимо», а не угадывай.

Перед массовой разметкой несколько экспертов независимо оценивают общую порцию примеров и обсуждают расхождения. Если правило читается по-разному, исправляют рубрику, а не усредняют путаницу.

Pointwise, pairwise и LLM-as-a-judge

Pointwise оценивает один ответ по шкале. Он удобен для абсолютного порога, но шкала может дрейфовать. Pairwise выбирает лучший из двух ответов и полезен для сравнения кандидата с текущей версией. Порядок вариантов следует менять, чтобы обнаруживать позиционное смещение.

Модель-судья масштабирует семантическую проверку, но не является объективным арбитром. Google рекомендует оценивать и калибровать judge-модель по ground truth с человеческими оценками. Судья может предпочитать многословие, знакомый стиль или ответы родственной модели.

Калибровка судьи
  1. Собрать независимую человеческую разметку.
  2. Сравнить решения судьи по каждому классу и сегменту.
  3. Проверить перестановку ответов в pairwise-тесте.
  4. Добавить трудные контрпримеры и краткие корректные ответы.
  5. Разобрать ложные пропуски критических ошибок.
  6. Зафиксировать модель, промпт, температуру и формат.
  7. Повторить калибровку после изменения судьи.

Как оценивать RAG: поиск и ответ - разные задачи

Если RAG вернул неверный ответ, причина может быть в отсутствии нужного документа, плохом разбиении, ранжировании, генерации или правах доступа. Один показатель «качество ответа» не покажет место поломки.

Retrieval
Попал ли нужный фрагмент в выдачу и насколько он релевантен.
Grounding
Следуют ли утверждения из полученного контекста.
Citation
Ведёт ли ссылка к правильному подтверждающему месту.
Доступ
Не извлечены ли документы, закрытые для пользователя.

Добавьте вопросы без ответа в базе: корректное поведение - признать нехватку данных, а не собирать правдоподобную догадку.

Как оценивать ИИ-агента: финального ответа недостаточно

Агент взаимодействует с внешним миром, поэтому оценивайте не только текст, но и траекторию: выбранный инструмент, аргументы, порядок шагов, подтверждения и побочные эффекты. В документации Vertex AI для оценки агентов отдельно выделяются качество ответа, использование инструментов, галлюцинации, безопасность и traces.

СлойВопросБлокирующий пример
ПланУчитывает ли ограничения задачи?Игнорирует запрет на изменение данных
ИнструментВыбран ли разрешённый вызов?Отправляет письмо вместо черновика
АргументыПравильны ли адресат, объект и область?Изменяет чужую запись
ПодтверждениеЗапрошено ли оно перед необратимым действием?Удаляет без согласия
ИдемпотентностьБезопасен ли повтор после сбоя?Создаёт дубль платежа

Для тестов используйте sandbox или mock-инструменты. Проверка не должна случайно отправлять реальные сообщения, менять рабочие записи или совершать платежи.

Средний балл скрывает критические провалы

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

  • Ни одной новой блокирующей ошибки на обязательном наборе.
  • Не ухудшены критические сегменты.
  • Кандидат выигрывает или не уступает текущей версии по целевому критерию.
  • Задержка и стоимость остаются в согласованном бюджете.
  • Результат воспроизводится при повторном прогоне или разброс явно показан.

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

Regression-тесты и релизный отчёт

Каждая подтверждённая производственная ошибка должна превращаться в воспроизводимый кейс. Перед изменением зафиксируйте, что текущая версия действительно падает; после исправления сохраните пример в regression-наборе.

Подготовь релизный отчёт по двум прогонам eval.
Текущая версия: [результаты].
Кандидат: [результаты].
Сегменты и критичность: [данные].
Пороговые правила: [правила].
Покажи: общий результат, изменения по сегментам, новые блокирующие ошибки, исправленные регрессии, стоимость, задержку и неопределённые случаи. Не усредняй блокирующие ошибки с улучшением стиля. В конце выдай одно решение: release, hold или manual review - со ссылками на конкретные кейсы.

Храните рядом версии модели, промпта, инструментов, индекса, данных, grader и кода. Иначе через месяц невозможно объяснить, почему два отчёта различаются.

Offline eval и онлайн-наблюдение дополняют друг друга

Offline-тесты быстры, повторяемы и безопасны для сравнения версий. Но они не полностью воспроизводят поведение пользователей и изменения данных. В продакшене отслеживайте отказы, исправления, эскалации, повторные запросы, задержку, стоимость и подтверждённые инциденты.

Не принимайте клик или отсутствие жалобы за истинную корректность. Пользователь может не заметить ошибку. Связывайте продуктовые сигналы с выборочной экспертной проверкой и постепенно добавляйте проверенные случаи в offline-набор. Доступ к логам и срок хранения должны соответствовать политике данных.

План внедрения evals за четыре недели

Неделя 1
Сценарий, риски, критерии, владельцы и источники данных.
Неделя 2
Разметка набора, рубрика и детерминированные проверки.
Неделя 3
Baseline, калибровка судьи и разбор расхождений.
Неделя 4
Релизный gate, отчёт, мониторинг и процесс новых кейсов.

Начните с одного важного сценария. Универсальная платформа оценки до появления понятной задачи часто создаёт много инфраструктуры и мало решений.

Финальный чек-лист системы оценки ИИ

Готовность к релизу
  1. Задача, аудитория и полезный результат описаны.
  2. Критические ошибки отделены от желательных свойств.
  3. Набор покрывает сегменты, края и реальные инциденты.
  4. Персональные данные удалены или защищены.
  5. Эталон допускает несколько правильных ответов там, где это нужно.
  6. Формат, схема и вычисления проверяются кодом.
  7. Рубрика содержит границы и примеры.
  8. Модель-судья сверена с человеческой разметкой.
  9. RAG проверяется на retrieval и grounding отдельно.
  10. У агента проверяются инструменты, аргументы и побочные эффекты.
  11. Результаты разложены по сегментам и рискам.
  12. Есть неизменный regression-набор и свежая контрольная выборка.
  13. Зафиксированы версии всех компонентов.
  14. Релизный gate учитывает качество, риск, задержку и стоимость.
  15. Производственные ошибки возвращаются в тестовый набор.

Сильная eval-система не обещает, что ИИ никогда не ошибётся. Она делает качество измеримым, изменения сравнимыми, а решение о релизе - объяснимым.

Что такое evals для нейросетей?
Это воспроизводимые проверки ИИ-системы на наборе примеров с заранее определёнными критериями, способами оценки и правилами принятия решения. Они измеряют пригодность конкретной версии для конкретной задачи.
Сколько примеров нужно для eval-набора?
Универсального числа нет. Оно зависит от разнообразия сценариев, частоты событий и цены ошибки. Начните с покрытия основных сегментов и критических краёв, показывайте размер каждого сегмента и расширяйте набор подтверждёнными производственными случаями.
Можно ли полностью доверить оценку другой нейросети?
Нет. LLM-as-a-judge полезна для масштабирования семантической оценки, но её нужно калибровать по человеческой разметке, проверять по сегментам и повторно тестировать после смены модели или промпта.
Что лучше: pointwise или pairwise eval?
Pointwise удобен для оценки по абсолютной рубрике, pairwise - для прямого сравнения кандидата с текущей версией. На практике их сочетают с детерминированными проверками и меняют порядок вариантов в парном тесте.
Как оценить качество RAG-системы?
Раздельно проверяйте, найден ли нужный фрагмент, релевантен ли контекст, следует ли ответ из него, корректны ли цитаты и соблюдены ли права доступа. Добавляйте вопросы, ответа на которые в базе нет.
Как тестировать ИИ-агента безопасно?
Используйте sandbox или mock-инструменты и проверяйте план, выбор инструмента, аргументы, необходимость подтверждения, результат и побочные эффекты. Тест не должен отправлять реальные сообщения или менять рабочие данные.
Что такое regression-набор?
Это стабильный набор важных сценариев и ранее найденных ошибок, который прогоняют перед изменениями. Новая версия не должна возвращать исправленные дефекты и создавать новые критические провалы.
Какие метрики нужны кроме качества ответа?
Обычно также контролируют критические ошибки, результат по сегментам, задержку, стоимость, отказы, эскалации и подтверждённые инциденты. Точный набор зависит от сценария и риска.
← Все статьи блога