АгентеоАгентео
Качество

Как оценить качество AI-агента: тесты, метрики и приёмка перед запуском

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

Опубликовано

Три уровня проверкиТест-набор из ваших случаевРегрессия перед любой правкой

Как оценить качество AI-агента: почему одних ответов мало

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

  • Верный ответ неверным путём. Агент назвал правильный статус заказа, не проверив, что пишет владелец заказа. Совпало случайно: по тексту случай «пройден», а в работе это утечка.
  • Неверный ответ при верных шагах. Агент сделал всё по инструкции, но в учётной системе устаревшие данные. Править нужно данные (подготовка данных), а не инструкцию, и без разбора по шагам это не отличить.
  • Опасное действие вне текста. Агент вежливо ответил клиенту, но создал лишний документ. Текст безупречен, система испорчена.
  • Хороший результат за плохую цену. Задача решена, но с лишними запросами и обращениями к модели; на потоке это расходы и ожидание.

Вторая причина — изменчивость: агент может ответить на один запрос по-разному и пойти разными путями. Даже при нулевой «температуре» (настройке случайности) одинаковый результат на каждом запуске не гарантирован: это зависит от модели и поставщика, и обещать его нельзя. Поэтому один удачный прогон — случайность, а не проверка: случай гоняют несколько раз и смотрят на долю успешных прогонов.

Здесь речь о качестве агента, бизнес-эффект измеряется отдельно (как измерить эффект от внедрения ИИ): агент может работать корректно и не окупаться.

Тестирование AI-агентов на трёх уровнях: шаг, траектория, итог

В англоязычных источниках такие проверки называют evals (от evaluations); по сути это тесты, которые учитывают, что агент действует шагами.

1

Шаг: вызов инструмента

Нужный ли инструмент, верные ли аргументы (идентификатор, дата, формат), как обработан ответ системы: ошибка, пустой результат, таймаут. Проверяется кодом и заглушками вместо боевых систем.

2

Траектория: цепочка шагов

Порядок (сначала идентификация клиента, потом данные), нет ли запрещённых шагов, зацикливания и лишних повторов, передан ли диалог человеку там, где нужно. Смотрим журнал шагов.

3

Итог: решена ли задача

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

Зачем разделять: когда итог неверен, нужно знать, где сломалось. Ошибки шага чаще лечатся описанием инструмента (об инструментах агента), траектории — инструкцией и порядком шагов, итога — данными или процессом. Без уровней всё сводится к «агент плохой», и правят наугад.

Иллюстрация, а не описание проекта: агент отвечает на вопрос «где мой заказ?». Шаг: вызвал инструмент статуса с номером, который назвал клиент, а не вывел из контекста. Траектория: убедился, что пишет владелец заказа, запросил статус один раз и при сбое системы не стал повторять запрос бесконечно. Итог: клиент получил статус из системы, в карточке заказа ничего не изменено. «Зелёный» итог не отменяет красной траектории.

Тест-набор из ваших реальных случаев: четыре группы

Тестируют на запросах вашего процесса: письмах, обращениях и заявках за последний стабильный период. Придуманные примеры чище настоящих, и агент проходит их легче. Персональные данные в тестовых случаях маскируют или заменяют вымышленными; кто и как это делает, оговаривают заранее, оператор данных — заказчик (ИИ и 152-ФЗ; юридических заключений мы не даём).

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

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

  • Эталон пишет владелец процесса, тот, кто знает, как правильно. Подрядчик предлагает формат, но не решает, что верно у вас.
  • Часть случаев контрольная: на ней ничего не подгоняют. Иначе на тесте результат будет лучше, чем в работе: инструкцию подогнали под экзамен.
  • Ожидания устаревают. Сменился прайс — обновляют и эталоны (сопровождение агента).
  • Набор растёт: каждая реальная ошибка становится новым случаем. Размер зависит от процесса; важнее покрыть все типы запросов и четыре группы, чем набрать число.

Группу «нужно отказаться» легко упустить, а она проверяет умение сказать «не знаю» (галлюцинации ИИ в бизнесе). Провокационные случаи проверяют устойчивость к обману (безопасность AI-агентов).

Метрики качества ИИ-агента: что считать

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

МетрикаЧто считаемПодвох
Успех задачиДолю прогонов, где итог и состояние системы совпали с записанным ожиданиемСчитать по группам: среднее может скрывать провал на провокационных случаях
Корректность отказаДве доли: отказался или передал человеку там, где должен; не отказался там, где мог ответитьАгент, передающий всё человеку, безопасен и бесполезен: нужны обе половины
Число шаговШаги и вызовы инструментов на задачу, в среднем и в худших случаяхРезкий рост после изменения говорит о зацикливании или потерянном инструменте
Ошибки инструментовДолю вызовов с неверными аргументами или необработанным ответом системыРазделять вину агента и сбои самих систем
Опасные действияЧисло запрещённых или необратимых действий: запись без подтверждения, чужие данные, шаг вне полномочийСчётчик, а не доля: любое срабатывание разбирается, а правило остановки задано заранее
СтоимостьОбращения к модели и вызовы инструментов на задачу, с повторамиСчитать на задачу, а не на вызов; тарифы меняются, проверяйте актуальные условия
ЗадержкаВремя от запроса до результата; отдельно работа агента и ожидание человекаОжидание человека не вина агента, но клиент видит его целиком
  • Долю считают по нескольким прогонам одного случая. Метрики не усредняют между собой: быстрый ответ не компенсирует опасное действие. О стоимости — расход на модель.
  • Для опасных действий нужен не «допустимый процент», а правило: что делаем при срабатывании. Какие шаги нельзя оставлять без человека, разбирает статья про человека в контуре.

Способы оценки результата: эталон, правила, человек и LLM-проверяющий

Способов четыре. Чем проще способ, тем он дешевле и надёжнее, начинают с простого.

  • Эталон. Для того, что имеет один верный ответ: категория, номер документа, сумма, статус. Сравнение с ответом владельца процесса точное и бесплатное, но для свободного текста не годится.
  • Правила в коде. Вызван ли запрещённый инструмент; нет ли в ответе внешнему адресату чужого телефона или адреса; совпадает ли сумма с суммой из системы; шла ли идентификация раньше запроса данных. Такие проверки детерминированы и запускаются при каждом изменении: что можно записать правилом, лучше записать правилом.
  • Проверка человеком. Для свободного текста, спорных случаев и тона. Владелец процесса читает выборку по короткой анкете. Это дорого по времени, но только человек знает, что значит «правильно» у вас; его оценки нужны и для калибровки четвёртого способа.
  • LLM-проверяющий. Другая модель (в англоязычных источниках LLM-as-a-judge, по-русски также «LLM-судья») оценивает ответ агента по критериям. Он масштабируется и берёт свободный текст, но с ограничениями.
  • В исследованиях описаны смещения таких проверяющих: склонность предпочитать более длинные, гладкие ответы, ответы своей же модели и вариант, стоящий первым в паре. Выраженность зависит от модели и задачи, проверяйте на своих данных.
  • Оценки плывут между запусками. Смена модели-проверяющего или формулировки критериев меняет «измерительный прибор», и его калибруют заново.
  • Он не знает, что верно у вас: без источника и эталона в запросе оценивает правдоподобие, а не правду. Если модели родственны, он может ошибаться так же, как агент.

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

Регрессионный прогон: проверка перед любым изменением

Регрессия — это когда после правки перестаёт работать то, что работало. У агента её вызывает почти любое изменение:

  • правка инструкции: чинили один случай, сломали два других;
  • смена модели или её версии, в том числе обновление у поставщика под тем же названием (некоторые поставщики так делают, проверяйте политику версий);
  • изменение описания инструмента или API системы: обновили 1С или CRM, поменялось поле;
  • обновление базы знаний или параметров поиска по ней; новый инструмент или тип запросов.

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

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

Как проверить ИИ-агента перед запуском: условный протокол приёмки

Условный пример, не описание проекта: агент отвечает о статусе заказа и готовит черновик возврата. Пороги записывают в техзадание по вашим цифрам.

  1. До работы. Владелец процесса и подрядчик собирают набор по четырём группам, записывают ожидания, делят его на рабочую и контрольную части. Набор, метрики и пороги входят в техзадание. Настройка идёт по рабочей части, контрольная не открывается.
  2. Приёмочный прогон. Замороженная версия (инструкция, модель, инструменты и база не меняются) проходит контрольную часть на тестовой копии систем, а не на боевых данных; каждый случай гоняют несколько раз.
  3. Отчёт: таблица по группам и метрикам и разбор каждого проваленного случая по журналу шагов и причине (данные, инструкция, инструмент, модель).
  4. Решение владельца: запускаем; запускаем с суженной зоной (агент берёт два типа запросов из пяти, остальное идёт человеку); не запускаем. «Не запускаем» — нормальный исход, как и отказ по итогам аудита.
  5. Боевой режим с подтверждением. На старте человек подтверждает каждое решение агента; подтверждения снимают по отдельным операциям, когда данные показывают, что агент справляется.
ПроверкаКак смотримУсловие приёмки
Типичные запросы о статусеЭталон (статус из системы), правило (один запрос к системе)Доля успешных прогонов не ниже порога из техзадания
Запрос по чужому заказуПравило: данные не раскрыты, диалог передан человекуВсе прогоны, без исключений
Система статусов недоступнаПравило и человек: агент сообщил, что не смог проверить, и не назвал статусВсе прогоны, без исключений
Вопрос вне задачиЧеловек по анкетеВежливый отказ или передача, без выдуманного ответа
Оформление возвратаПравило: создан только черновик, записи без подтверждения нетНи одного опасного действия
Стоимость и задержкаАвтоматически по журналуВ пределах значений из техзадания

После запуска: мониторинг и обратная связь

Тест-набор — это то, что вы предусмотрели. Клиенты формулируют иначе, поэтому проверка продолжается в работе.

  • Журнал шагов: что агент запросил, что получил, что ответил. Без него нельзя разобрать жалобу и пополнить набор. Какие персональные данные хранить, решает заказчик как оператор.
  • Выборочное чтение: сотрудник читает случайные диалоги по той же анкете, что на приёмке, и диалоги с жалобами.
  • Сигналы: доля передач человеку, ошибки инструментов, рост числа шагов, отметки «не помогло».
  • Каждая найденная ошибка идёт в набор: владелец указывает верный ответ, случай добавляют, после правки запускают регрессию.

Что собирать и что вывести на панель, разбирает статья как мониторить AI-агента.

Приёмка фиксирует, что агент умеет на момент запуска; мониторинг и регрессия показывают, что это сохраняется.

Как мы строим проверку в проектах

Метрику пилота записываем в договор до начала работ, критерии приёмки и выборку для проверки фиксируем в техзадании. Экспресс-аудит (50 000 ₽, 5-7 рабочих дней, засчитывается в проект) показывает, есть ли что мерить: собирается ли показатель и есть ли тот, кто напишет эталон. Если измерить результат нельзя, это тоже результат аудита. Нулевых ошибок мы не обещаем, мы закладываем способ видеть ошибки и сравнивать версии. Об услуге — разработка AI-агентов.

Чек-лист: что проверить перед запуском

  • Для каждого типа запросов словами записано, что считается успехом.
  • Набор собран из реальных обращений, включает четыре группы и контрольную часть; эталоны писал владелец процесса.
  • Каждый случай прогоняется несколько раз; проверены шаг, траектория, итог и состояние системы.
  • Для опасных действий есть правило остановки, запись и необратимые шаги идут через человека.
  • Оценки LLM-проверяющего сверены с оценками людей, и он не единственный судья.
  • Записано, после каких изменений прогон обязателен; после запуска есть журнал шагов и выборочное чтение.
  • Назначен тот, кто решает «запускаем, сужаем или не запускаем», и решает по отчёту.

Частые вопросы

Как оценить качество AI-агента и проверить его перед запуском?

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

Чем тестирование AI-агента отличается от тестирования обычной программы?

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

Что такое evals для AI-агентов?

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

Сколько тестовых случаев нужно и какая точность допустима?

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

Можно ли доверять оценке ответов агента другой нейросетью?

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

Кто должен составлять тестовый набор: заказчик или подрядчик?

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

Как часто перепроверять агента после запуска и что делать при провале?

Полный прогон нужен после любого изменения инструкции, модели, инструментов или базы знаний; выборочное чтение диалогов идёт постоянно. При провале ищут причину по журналу (данные, инструкция, инструмент, модель), правят и повторяют прогон. Если не получается, зону сужают, а остальное отдают человеку: «не запускаем» дешевле запуска наугад.

Проверим агента до запуска, а не после жалобы

Поможем собрать тест-набор из ваших обращений и записать критерии приёмки. Первый шаг — экспресс-аудит: 50 000 ₽, 5-7 рабочих дней, сумма засчитывается в проект.

Оставить заявку

Готовы начать?

Проще всего написать нам в Telegram: разберём задачу и скажем, есть ли смысл в аудите. Ответим в течение часа.

Написать в Telegram

или оставьте контакты

Оставьте телефон или Telegram - что вам удобнее. Достаточно одного.

Спасибо! Заявка отправлена - свяжемся с вами в ближайшее время.
Не удалось отправить заявку. Напишите нам в Telegram @dimax_web.

Или позвоните: +7 (949) 365-03-18 · dimaxeod@gmail.com