"Evaluation AI-Агентов: метрики LLM штука капризная и ненадёжная. Как и человек в целом. Поэтому неплохо бы любой проект с LLM под капотом начинать с вопроса: ""А как мы будем оценивать результат?"". Заказчику нужно понимать, в какой момент агент готов к внедрению. Менеджеру проекта, когда проект готов к сдаче. А команда в процессе разработки принимает множество инженерных решений: — А что если заменить модель на более дорогую/дешёвую? Или дообучить? — А что если поменять системный промпт? — А что если переделать RAG-пайплайн? Очевидно, что нужна: 1️⃣ Правильная система метрик оценки качества. 2️⃣ Бенчмарк (эталонные данные входов и выходов пайплайна). 3️⃣ Формальная процедура оценки. Полностью автоматизированная. Сегодня про первый пункт. Метрики. Большинство задач в AI-агентах можно свести к задачам классификации. Продажи (скоринг лидов, подбор предложений, ответы на типовые вопросы покупателя), HR (подбор кандидатов), Саппорт (эскалировать ли на человека, подбор типовых решений из базы знаний), Финансы (разнесение транзакций по статьям) и т.д. А у таких задач есть типовые метрики: Recall, Precision, F1. Recall (Полнота) отвечает на вопрос: сколько мы нашли того, что должны были найти? Например, наш агент ищет завышения цен на госзакупках. Тогда Recall 80% означает, что из 100 реальных случаев завышения цен он находит 80. Precision (Точность) отвечает на вопрос: из найденных сколько корректны? В этом примере, Precision 80% говорит о том, что из 100 закупок, которые агент пометил как ""завышение цены"", только 80 были реальным завышением, а остальные 20 оказались ложными срабатываниями. Высокая метрика Recall важна там, где опасно что-то пропустить (медицина, анти-фрод). Высокая метрика Precision критична, если каждая ложная тревога дорога (например, судебные решения). Часто, повышая Recall у нас одновременно становится больше ложных срабатываний и уменьшается Precision. И наоборот. Поэтому я обычно смотрю на метрику F1. Это среднее гармоническое между Precision и Recall. По сути, это баланс между ними. Micro vs Macro В реальном мире данные распределены криво. Клиенты делятся по полу, возрасту, региону, среднему чеку; товары делятся по категориям. И почти всегда мы сталкиваемся с дисбалансом классов. Например, в закупках у нас может быть 1 000 договоров на поставку бумаги и всего 10 на закупку компьютеров. И если наш агент хорошо научился определять завышения цен для бумаги А4 (F1 = 80%), но плохо определяет завышения для компьютеров (F1 = 20%). То мы всё равно получим F1 = 79%. То есть мы не заметим проблемы с компьютерами. Тут на помощь приходят два подхода к расчету: 1️⃣ Micro-metrics: считаем всё в одной куче. Пример выше это как раз Micro F1. 2️⃣ Macro-metrics: считаем метрики отдельно для каждой категории и только потом усредняем. Здесь бумага и компьютеры имеют равный вес. Если мы видим разрыв в микро и макро-метриках, например: Micro F1 = 80% Macro F1 = 30% Это говорит, нам о том, что агент хорошо научился определять завышения цен для популярных товаров, которых много в выборке. Но есть много не столь популярных категорий, где мы явно отрабатываем плохо. Поэтому я почти всегда считаю макро-метрики и больше внимания обращаю на них."