Оценка качества LLM-системы: тестовый набор, метрики и приёмка на ваших данных

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

Набор строится из ваших вопросов, а не из чужихКритерии приёмки пишутся до первого замераПрогон остаётся у вас и запускается в сборке

С чем приходят

Когда оценку нужно строить отдельно

Прототип понравился, запускать страшно

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

После правки стало «как будто хуже»

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

Нужно выбрать между моделями или вариантами

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

Приёмка требует доказательства

Служба безопасности, руководитель направления или заказчик просят показать, как проверялось качество. Нужен документ с набором, критериями и результатом.

Метрики

Что считаем для разных систем и чем обманывает каждая цифра

Универсальной метрики «качество ответа» нет. Выбор зависит от того, что система делает. Устройство самой системы описано на странице разработки LLM-приложений.

Тип системы
Что считаем
Чем цифра обманывает
Что смотрим дополнительно
Тип системыОтветы по документампоиск и ответ
Что считаемНужный фрагмент среди найденных и верность ответа по отдельности
Чем цифра обманываетОтвет угадан по общим знаниям модели, а плохой поиск остался незамеченным
Что смотрим дополнительноСсылка на источник и отказ на вопросах, ответа на которые в базе нет
Тип системыКлассификация и маршрутизациязаявки, обращения
Что считаемПолнота и точность по каждому классу, матрица ошибок
Чем цифра обманываетОбщая точность высока за счёт большого класса, а редкий дорогой класс не находится
Что смотрим дополнительноДоля неуверенных ответов, отправленных человеку
Тип системыИзвлечение полейдоговоры, письма, счета
Что считаемВерность каждого поля и документа целиком
Чем цифра обманываетСреднее по полям прячет ошибки в самом дорогом поле
Что смотрим дополнительноКакие ошибки проверяющий человек не замечает
Тип системыГенерация текстовответы клиентам, резюме
Что считаемОценка по критериям: факты, полнота, тон, запрещённые обороты
Чем цифра обманываетГладкий текст выглядит верным, даже когда факт выдуман
Что смотрим дополнительноСверка утверждений с источником, просмотр экспертом
Тип системыАгент с действиямивызов инструментов
Что считаемВыбрано ли нужное действие, верны ли параметры и порядок шагов
Чем цифра обманываетПравильный итог получен опасным путём или с лишними вызовами
Что смотрим дополнительноПопытки выйти за права, подтверждения, повторные вызовы
Тестовый набор

Тестовый набор: из чего он состоит и как его не испортить

Набор — главный актив оценки. Модели и шаблоны меняются, набор остаётся и растёт.

Что в строке набора

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

Какие случаи обязательны

  • Обычные запросы в той пропорции, в какой они приходят.
  • Трудные случаи, которые эксперты назвали сами: двусмысленные, с устаревшим документом, с противоречием между источниками.
  • Вопросы без ответа в базе. Правильный ответ на них — отказ, и по этой части видно, можно ли системе доверять.
  • Провокации: просьбы выйти за рамки роли, подмена инструкции внутри документа, запрос чужих данных.
  • Редкие, но дорогие случаи. Их мало в потоке, поэтому добавляем нарочно, иначе по ним не будет ни одной цифры.

Два набора вместо одного

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

Сколько случаев нужно

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

Источники

Откуда берём случаи для набора

Источник
Что даёт
Чем рискует
Как используем
ИсточникЖурналы реальных запросовпочта, чат, заявки
Что даётНастоящее распределение и настоящие формулировки
Чем рискуетПерсональные данные, опечатки, обрывки; журнал нужно обезличить
Как используемОснова набора после обезличивания и отбора
ИсточникВопросы экспертовнаписаны для проверки
Что даётТрудные случаи и редкие темы, о которых знает только специалист
Чем рискуетВопросы сформулированы слишком грамотно и не похожи на живой поток
Как используемДобавка к журналам, с пометкой источника
ИсточникОшибки в эксплуатациижалобы, исправления
Что даётСамые болезненные случаи, которые уже случились
Чем рискуетНабор смещается в сторону прошлых ошибок
Как используемКаждая ошибка пополняет рабочий набор
ИсточникВопросы, сгенерированные модельюбыстро и много
Что даётШирокое покрытие документов при небольших затратах
Чем рискуетВопросы повторяют язык документа и слишком лёгкие, а ответ придуман тем же способом
Как используемТолько как добавка и только после просмотра человеком
Оценщик

Кто решает, что ответ верен: правила, эксперт или модель-судья

Способы не конкурируют, а делят работу. Дешёвые проверки отсеивают очевидное, дорогие проверяют то, что остальные не умеют.

Способ
Когда годится
Сколько стоит труда
Главное ограничение
СпособПравила и точное сравнениеклассы, поля, формат
Когда годитсяОтвет можно сверить с заранее известным значением
Сколько стоит трудаОдин раз написать проверки, дальше почти бесплатно
Главное ограничениеНе работает для свободного текста, где верных формулировок много
СпособПроверка кодом по источникуссылки и цитаты
Когда годитсяЕсть ли указанный источник среди найденных и содержит ли он цитату
Сколько стоит трудаОдин раз написать, потом бесплатно
Главное ограничениеПоказывает выдуманную ссылку, но не понимает, верен ли вывод
СпособЭксперт по критериямсмысл, тон, полнота
Когда годитсяКонтрольный набор, спорные категории, калибровка судьи
Сколько стоит трудаДорого по часам специалиста
Главное ограничениеУстаёт, оценивает по-разному; нужна шкала и примеры
СпособМодель-судья в вашем контуремного прогонов
Когда годитсяРабочий набор и регрессии: сравнить две версии по критериям
Сколько стоит трудаОдин раз откалибровать, дальше быстро
Главное ограничениеСклонна предпочитать длинные и уверенные ответы; её нужно сверять с людьми
Судья

Как проверяем модель-судью, прежде чем ей верить

Модель, которая оценивает ответы другой модели, полезна, пока известно, насколько она согласна с вашими экспертами. Порядок такой:

  1. Берём часть набора и просим оценить её и судью, и экспертов независимо друг от друга.
  2. Смотрим, где оценки расходятся, и правим критерии.
  3. Проверяем известные смещения: судья предпочитает длинные ответы, ответы в своём стиле и ответ, показанный первым. Меняем порядок и смотрим, поменялась ли оценка.
  4. Не используем в качестве судьи ту же модель, которую оцениваем, и фиксируем версию судьи. Сменили судью — калибровку повторяем.
  5. Контрольный набор остаётся за экспертами. Судья нужен для частых прогонов в сборке, а не для приёмки.

Если согласие судьи с экспертами недостаточно, судью не выбрасывают целиком: оставляют на тех критериях, где он согласен с людьми, а остальное проверяют правилами и вручную.

Приёмка

Критерии приёмки пишутся до замера

Пороги по категориям

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

Обязательные нули

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

Отказ как отдельный результат

Система, которая отвечает на всё, хуже системы, которая честно говорит «в базе нет». Доля обоснованных отказов и доля необоснованных считаются раздельно.

Кто подписывает

Владелец процесса, а не разработчик. Он видит набор, цифры по категориям и разобранные ошибки, и сам решает, достаточно ли этого для запуска.

Регрессии

Что запускаем при каждой смене и как читаем шум

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

Шум и как с ним жить

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

После запуска

Часть реальных ответов просматривает человек по выборке, оценки пользователей и правки операторов превращаются в новые случаи набора, а изменения в потоке запросов видны по доле отказов и неуверенных ответов. За самой моделью в работе следят отдельно, это описано на странице MLOps.

Что делаем

Из чего состоит работа и сколько она стоит

Цены совпадают со страницей «Тарифы». Цена называется по итогам обследования, остановиться можно после любой ступени: сделанное остаётся у вас по акту.

Обследование: одна система

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

200 000 ₽ · 2–3 недели

Обследование: несколько систем

Несколько LLM-систем или система, подключённая к учётным: схема источников случаев и общий набор правил оценки.

350 000 ₽ · 3–4 недели

Лёгкий пилот: набор и первый замер

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

150 000–400 000 ₽ · 2–8 недель

Тяжёлый пилот: автоматический контур оценки

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

400 000–1 200 000 ₽ · 2–3 месяца

Вывод в эксплуатацию

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

от 1 500 000 ₽ этапами по 300 000–700 000 ₽ · от 3 месяцев

Сопровождение

Прогоны после смены моделей, пополнение набора, проверка судьи; плановые доработки с пакета на 60 000 ₽. Сверх пакета — 5 000 ₽ в час.

20 000 / 60 000 / 120 000 ₽ в месяц
Процесс

Как идёт работа

2–3 недели — Обследование

Выясняем, что система делает, какие ошибки дороги и что считается приемлемым. Собираем первые случаи из журналов и от экспертов.

Перед замером — Критерии и категории

Фиксируем категории, цену ошибки, обязательные нули и пороги.

От 2 недель — Набор и правила проверки

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

Дальше — Первый замер и разбор ошибок

Прогоняем систему, считаем по категориям, разбираем каждую ошибку: поиск, шаблон, модель или данные.

Параллельно — Судья и регрессии

Калибруем модель-судью по оценкам экспертов и встраиваем прогон в сборку вашей системы.

Дальше — Приёмка или сопровождение

Финальный замер на контрольном наборе, протокол и решение.

Цена

Что двигает цену внутри вилки

Цена ошибки и число категорий

Чем дороже ошибка, тем больше категорий и тем строже проверка.

Доступность экспертов

Эталонные ответы и оценка контрольного набора занимают часы специалистов. Если их нет, срок растёт, а не цена исполнителя.

Контроль

Что остаётся у вас и чего мы не делаем

Остаётся у вас

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

Мы этого не делаем

  • Не обещаем безошибочность: набор показывает, где система ошибается и насколько часто, а не исключает ошибки.
  • Не выдаём заключений для надзорных органов и не проводим аттестацию. Лицензии ФСТЭК у нас нет.
  • Не заменяем проверку безопасности: стойкость к подмене инструкций и утечкам оцениваем отдельно, это аудит безопасности ИИ.
  • Не оцениваем чужие внешние сервисы по общедоступным рейтингам: считаем на вашей выборке.
  • Не берём работы дешевле 150 000 ₽ и не дежурим круглосуточно.
Граница

Оценка качества, RAG, MLOps и аудит безопасности: где проходит граница

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

За моделью в эксплуатации следит MLOps: дрейф, версии, откат, сигналы. Это отдельная услуга, но она использует тот же набор. Стойкость к подмене инструкций, утечкам и злоупотреблению действиями проверяет аудит безопасности ИИ, а подготовку и разметку данных для обучения описывает страница «Разметка данных для ИИ».

Практический порядок самостоятельной оценки разобран в статье «Как оценить качество LLM-системы».

Инструменты

На чём собираем

Наборы и прогон
  • Python: прогон набора, подсчёт метрик по категориям, отчёт
  • Наборы в таблицах и JSON в вашем репозитории, версии привязаны к коммитам
  • PostgreSQL для результатов прогонов и истории оценок
  • GitLab CI или ваша сборка: запуск при изменениях
Оценщики
  • Правила и проверки кодом для полей, классов и ссылок
  • Языковая модель в вашем контуре как судья, с калибровкой по экспертам
  • Интерфейс для оценки экспертами
  • Журнал версий моделей, шаблонов и индекса
Материалы

Материалы по теме

Статья

Как оценить качество LLM-системы: тестовый набор и метрики

Пошаговый порядок самостоятельной оценки: набор, критерии, способ оценки, разбор ошибок и регрессия.

  • Тестовый набор
  • Способы оценки
  • Разбор ошибок
Читать →
Статья

Как устроен RAG-пайплайн: от загрузки до оценки

Пять этапов и симптомы по этапам: помогает понять, в какой части системы искать причину плохого ответа.

  • Пять этапов
  • Оценка поиска и ответа
  • Симптом и причина
Читать →
Статья

Чек-лист безопасности LLM-системы перед запуском

Что проверить помимо качества ответов: данные, права, подмена инструкций, действия агента.

  • Права и данные
  • Prompt injection
  • Критерии провала
Читать →
Заявка

Покажите систему и вопросы, которые вас беспокоят

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

Спасибо, заявка отправлена. Ответим в течение рабочего дня.

Не удалось отправить. Напишите в телеграм или позвоните.

Вопросы

Частые вопросы: оценка качества LLM-систем

Сколько стоит оценка качества LLM-системы?

Обследование стоит 200 000 ₽ за одну систему (2–3 недели) и 350 000 ₽ при нескольких системах (3–4 недели); сумма вычитается из первого этапа, если продолжаете с нами. Лёгкий пилот с тестовыми наборами и первым замером — 150 000–400 000 ₽ за 2–8 недель, автоматический контур оценки — 400 000–1 200 000 ₽ за 2–3 месяца.

Можно ли оценить систему, которую сделали не вы?

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

Сколько вопросов нужно в тестовом наборе?

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

Можно ли доверять оценке, которую делает другая языковая модель?

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

Зачем отдельный контрольный набор?

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

Как часто повторять оценку?

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

Входит ли оценка безопасности?

Частично. В набор входят провокации и вопросы на чужие данные, и один такой случай в контрольном наборе означает «не принято». Полная проверка защиты от подмены инструкций и утечек — отдельная работа: аудит безопасности ИИ; мы не атакуем боевые системы и не проводим аттестацию.

Вы работаете только в Ростове-на-Дону?

Мы в Ростове-на-Дону, работаем с заказчиками по всей России: удалённо и в вашем контуре. Доступ к системам и обследование согласуем на старте с вашей службой безопасности.