📊 Оценка качества AI-систем

Главное правило зрелой AI-разработки: вы не можете улучшить то, что не измеряете. Демо выглядит блестяще — на двух примерах, которые вы сами подобрали. В production система встретит тысячи разных входов, и без систематической оценки вы не узнаете, где она ломается, пока не станет поздно. Эта статья — про то, как построить измеримую обратную связь.

Почему eval — это базовый навык

В вакансиях AI Solution Architect прямо стоит: «оценивать эффективность внедрения AI и обеспечивать качество решений». Без eval вы не защитите проект (17-strategiya-i-roadmap) и не поймёте, стало ли лучше после доработки.


Два слоя оценки

flowchart LR
    subgraph OFF["🔍 Offline-оценка (до релиза)"]
        GS["📋 Golden set<br/>(тестовые кейсы)"] --> METRICS["📐 Метрики"]
        METRICS --> JUDGE["🧑‍⚖ LLM-as-Judge<br/>(авто-оценка)"]
    end
    subgraph ON["📈 Online-оценка (в production)"]
        LIVE["real-time<br/>запросы"] --> MON["📊 Мониторинг<br/>(дрифт, дизлайки)"]
        LIVE --> SAMPL["🎲 Выборочная<br/>человеческая проверка"]
    end
Offline (до релиза)Online (в production)
КогдаПри каждом изменении промпта/моделиПостоянно, на живых данных
На чёмGolden set — размеченные тестовые кейсыРеальные запросы, метрики использования
ЦельНе пустить регресс в продЗаметить деградацию «в поле»

Golden set — основа основ

Golden set (золотой набор / тестовая выборка) — это коллекция из ~50–500 реальных примеров «вход → правильный ответ/ожидаемое поведение», собранных из ваших данных, а не придуманных.

Как собрать

  • Берите реальные входы (письма, договоры, обращения), а не выдуманные.
  • Покрывайте граничные случаи: пустые поля, необычные форматы, неоднозначные ситуации.
  • Размечайте эталон (правильный ответ) и/или критерии (что должно быть верно).
  • Обновляйте набор: нашли ошибку в проде → добавьте этот кейс в golden set, чтобы не повторить.

Не оценивайте «на глаз»

«Я проверил пять ответов — выглядит ок» — это не оценка. Пять удачных примеров ничего не говорят о тысяче неудачных, которые вы не видели. Регресс прячется в хвосте, и ловит его только систематический прогон golden set.

Метрики — какие и зачем

Универсальных «процентов качества» для LLM почти нет — метрики зависят от задачи.

Тип задачиЧто мерить
Извлечение данныхТочность (precision) и полнота (recall) по полям; F1
КлассификацияAccuracy, precision/recall по классам, confusion matrix
Summary / генерацияРелевантность, фактологичность, следование формату
RAGRetrieval hit-rate, faithfulness, RAGAS-метрики (09-rag)
АгентыДоля корректно завершённых задач, число шагов, стоимость (06-stoimost-i-ekonomika)

Precision и recall — на пальцах

  • Precision (точность): из того, что система назвала «да», сколько реально «да». Важно, когда ложное срабатывание дорого.
  • Recall (полнота): из всех реальных «да», сколько система нашла. Важно, когда пропуск дорог (например, пропустить рискованный пункт договора).
  • Всегда есть trade-off: поднимая одно, опускаешь другое. Выбирайте под цену ошибки.

LLM-as-Judge

LLM-as-Judge — это оценка ответов вашей системы другой (часто более сильной) LLM по заданным критериям. Дёшево, масштабируемо, и для многих задач коррелирует с человеческой оценкой.

flowchart LR
    In["Вход"] --> Sys["🧠 Ваша система"] --> Ans1["Ответ"]
    Crit["📋 Критерии<br/>(что правильно)"] --> Judge["🧑‍⚖ Модель-судья<br/>(флагман)"]
    Ans1 --> Judge
    Judge --> Score["📊 Оценка +<br/>объяснение"]

Ловушки LLM-as-Judge

  • Собственные предвзятости: судья может предпочитать длинные ответы, ответы в своём стиле и т. д.
  • Не всесильна: на фактах, требующих внешней проверки, судья может ошибаться — там нужна программная валидация (08-gallyutsinatsii-i-nadezhnost).
  • Лучше всего работает в связке с golden set и выборочной человеческой проверкой.

Мониторинг в production

После релиза оценка не заканчивается — она переходит в наблюдаемость:

  • Доли апрутов/дизлайков от пользователей.
  • Распределения входов/выходов (резкий сдвиг = сигнал тревоги).
  • Дрифт: данные или поведение со временем «уплывают» от того, на чём систему проверяли.
  • Трассировка: какие шаги агент делал, какие инструменты вызывал (10-agent-architecture, 11-tools-mcp) — без этого не отладить.
  • Сбор «плохих» кейсов → обратно в golden set.

Что выводить на дашборд руководителя

  • Доля автоматических ответов без участия человека.
  • Доля потребовавших эскалации / правок.
  • Стоимость на единицу результата (06-stoimost-i-ekonomika).
  • Тренд качества во времени (не «уплыл» ли).

CI/CD для промптов и моделей

Зрелая команда относится к промптам как к коду (07-prompt-engineering): любое изменение проходит через автоматический прогон golden set, и регресс не попадает в прод. То же — при смене модели или обновлении версии вендора.

flowchart LR
    Change["✏ Изменение промпта/модели"] --> Eval{"Прогон<br/>golden set"}
    Eval -- регресс --> Block["❌ Не пускаем"]
    Eval -- ок --> Stage["🚀 В прод (пилот)"]
    Stage --> Mon["📊 Мониторинг"]

📌 Что запомнить

  • Без eval нет управления качеством; «пять примеров на глаз» — не оценка.
  • Основа — golden set из реальных кейсов с эталонами, обновляемый.
  • Метрики зависят от задачи; для извлечения — precision/recall; для RAG — faithfulness/relevancy.
  • LLM-as-Judge — дешёвая авто-оценка, но с предвзятостями; в связке с человеческой проверкой.
  • В production — наблюдаемость: дизлайки, дрифт, трассировка, сбор плохих кейсов.
  • Промпты как код: изменения — через eval-гейт (CI/CD).

Дальше: 🛡 Комплаенс, безопасность и AI governance → — что можно и нельзя с данными, и как управлять рисками AI на уровне компании.