Главное

Соберите versioned набор реальных задач, заранее опишите допустимый итог и запрещённые действия, а затем проверяйте outcome, trajectory и side effects. Критическое нарушение прав не должно компенсироваться красивым средним score.

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

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

Оценивайте результат, путь и побочные эффекты

У обычного чатбота часто проверяют текст ответа. У агента этого мало. Он может написать идеальное сообщение после неправильного изменения в CRM.

Минимум три слоя:

  1. Outcome: задача действительно завершена или корректно передана человеку.
  2. Trajectory: выбраны допустимые инструменты, порядок и параметры.
  3. Side effects: не создано дублей, не затронуты чужие данные, не выполнено лишних действий.

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

Соберите контрольный набор из реальной работы

Начните не с тысячи искусственных вопросов, а с 50–100 репрезентативных задач. Включите:

  • частые и простые случаи;
  • редкие, но дорогие ошибки;
  • неполные и противоречивые данные;
  • недоступную интеграцию;
  • повтор одного и того же запроса;
  • запрос пользователя без нужных прав;
  • попытку заставить агента игнорировать правила;
  • ситуацию, где единственный правильный результат — отказ или handoff.

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

Не смешивайте все ошибки в один score

Средние 92 балла могут скрывать один перевод денег не тому получателю. Разделите метрики:

СлойЧто измерять
Выполнениеtask success, корректный конечный статус
Инструментыправильность выбора и параметров tool call
Безопасностьнарушения прав, лишние действия, утечки
Handoffобязательные и ложные передачи человеку
Надёжностьповторы, таймауты, восстановление после сбоя
Опытпонятность ответа и усилие пользователя
Экономикатокены, вызовы внешних API, время, стоимость задачи

Критические нарушения должны быть отдельным release gate. Их нельзя компенсировать красивым стилем в других примерах.

Проверяйте систему, а не только модель

Anthropic отдельно подчёркивает, что агентные eval сложнее обычных: диалог многошаговый, агент меняет состояние и использует инструменты. Ошибка может находиться в описании инструмента, политике, API, состоянии очереди или данных — а не в самой модели.

Поэтому в трассировке нужны версия модели, prompt и policy, входные данные, tool calls, ответы интеграций и конечное состояние. Без версий регрессию невозможно воспроизвести.

Добавьте независимую проверку результата

LLM-as-a-judge полезен для смысла и качества текста, но не должен единолично подтверждать права доступа или факт внешней операции. Где возможно, используйте детерминированный oracle: запись существует, сумма совпадает, запрещённый документ не извлечён, письмо осталось черновиком, задача появилась в очереди один раз.

Для субъективных критериев задайте короткую рубрику и периодически сверяйте автоматическую оценку с человеком.

Отдельно прогоните негативные сценарии

Позитивный тест спрашивает: «Сможет ли агент создать задачу?» Негативный: «Сможет ли он создать её от имени другого пользователя, дважды, без обязательного поля или после истечения подтверждения?»

Нужны проверки:

  • prompt injection в письме или документе;
  • подмена идентификатора ресурса;
  • чрезмерно большой ввод;
  • секрет в логе или сообщении об ошибке;
  • неизвестный статус внешнего API;
  • повтор после таймаута;
  • превышение бюджета шагов;
  • исчезновение оператора после handoff.

Зафиксируйте baseline и запускайте регрессию

Eval имеет смысл, если запускается снова после изменения модели, промпта, схемы инструмента, базы знаний или политики. Сравнивайте не только общий процент успеха, но и категории ошибок, стоимость и latency.

В проекте RAG-помощника ГрГМУ контрольный прогон после исправлений дал 99 ответов с оценкой «отлично», один — «хорошо», проблемных — 0 из 100 вопросов. Это результат конкретного набора и версии, а не универсальная «точность 99%» или независимый тест на новых вопросах. Для интерпретации нужны дата, рубрика оценки, состав источников и повтор после изменений.

Когда агент готов к ограниченному запуску

  • Все критические сценарии проходят без нарушения прав и лишних действий.
  • Для важных отказов и handoff нет потерянных задач.
  • Ретрай не создаёт дубль.
  • Установлены бюджеты времени, шагов и стоимости.
  • Ошибку можно воспроизвести по трассировке.
  • Есть владелец метрик и расписание повторного eval.
  • Пилот ограничен группой пользователей и обратимым набором инструментов.

Первый production — не финальный экзамен, а начало наблюдения. Но без контрольного набора наблюдать будет не с чем сравнивать.

Сравнение

Слои оценки AI-агента

СлойВопросСигнал
OutcomeЗадача действительно завершена?Корректный конечный статус
TrajectoryДопустимы ли инструменты и параметры?Проверка трассировки
SafetyНе нарушены ли права?Pass/fail release gate
OperationsСистема выдерживает сбой?Повторы, timeout, recovery

Что проверить

Что включить в контрольный набор

  1. Частые, редкие и дорогие ошибки.
  2. Неполные, противоречивые и устаревшие данные.
  3. Вопросы без ответа и ожидаемый handoff.
  4. Разные роли пользователя и попытки обойти правила.
  5. Повтор после timeout, лимиты бюджета и недоступный API.

Как мы подходим к задаче

В кейсе RAG-помощника ГрГМУ результат 99/100 относится к одному контрольному прогону. CENTURY фиксирует версию набора и повторяет его после изменений модели, prompt, инструментов или базы знаний.

Источники и ссылки