Метрики для AI-агентов
Привет, охотники!🏹
В технологическом блоге NVIDIA прочитала статью «How to Evaluate AI Agents From Tool Calls to Task Completion», решила поделиться с вами основными мыслями оттуда и сделать саммари с примерами. Ссылка на статью: https://developer.nvidia.com/blog/how-to-evaluate-ai-agents-from-tool-calls-to-task-completion/
Если кратко, то проверка эффективности работы ИИ-агентов стандартными бенчмарками больше не работает, поэтому они предлагают другие метрики
Раньше тестирование ограничивалось проверкой правильности вызова конкретной функции, но агент может не учесть важные промежуточные шаги (проверка значений), отчего итоговая задача будет выполнена некорректно
Для более точной оценки агента нужно отслеживать состояние системы на протяжении всего процесса выполнения задачи
Смотрим на логи: Пошаговый trace: оценивает каждый отдельный шаг (был ли вызов полезным, валидным и своевременным)
E2E trace: игнорирует сам путь и проверяет только финальное состояние среды. Это главный критерий готовности агента к релизу, так как именно его результат видит пользователь
Основные термины: Бенчмарк - весь тестовый набор, в котором проверяем конкретные навыки агента
Прогон (Trial) - один независимый проход по всему бенчмарку (с зафиксированной конфигурацией системы)
Задача (Task) - изолированный пример задачи из бенчмарка с конкретным ID
Ход (Turn) - диалоговый шаг, обмен репликами между пользователем и агентом
Шаг (Step) - действие агента внутри текущего хода (вызов инструмента/генерация плана)
Например, робот-повар сдает квалификационный экзамен на работу в ресторан
- Бенчмарк: Весь экзамен целиком Например, список из 50 разных блюд, которые робот обязан уметь готовить - Прогон (Trial): Одна полная попытка сдать весь экзамен Робот сдает тест из 50 блюд в понедельник, затем точно такой же тест во вторник, чтобы проверить стабильность его работы - Задача (Task): Одно конкретное блюдо из списка Например, задание приготовить борщ под номером ID: 12 - Ход (Turn): Один круг общения «замечание > исправление» Шеф-повар говорит: «Суп слишком густой», робот исправляет и отвечает: «Готово, проверяйте» - Шаг (Step): Каждое мелкое действие робота внутри одного Хода Пока шеф ждал ответа, робот успел сделать три шага: 1) открыл рецепт, 2) взял половник, 3) долил воды)
Ключевые метрики: Точность (Accuracy): Task success rate - процент успешного достижения финального состояния среды Consistency - стабильность результатов (при 3–5 повторных прогонах одного теста) Tool-call precision / Argument accuracy - точность выбора инструмента и корректность заполнения его аргументов (позволяет выявить галлюцинации)
Избыточность (Verbosity): Steps per success - сколько шагов тратит агент на успешное выполнение задачи. Меньше шагов - выше эффективность
Стоимость (Cost):
Cost per success - экономическая единица (затраты токенов и GPU-секунд на одну успешно решенную задачу)
Метрики разных бенчмарков нельзя сравнивать в один к одному, так как есть ряд факторов, от которых они зависят Сложность задач: проверяется ли один вызов или длинная цепочка из 15 шагов с обработкой ошибок?
Наличие состояния среды: обновляется ли среда на каждом шагу? В динамичной среде агент сталкивается с «эффектом бабочки». Если на 2-м шаге он совершил маленькую глупость, к 10-му шагу весь его рабочий мир «сломается»
Методология верификации: компьютерный код оценивает результат задачи со 100% точностью. LLM-as-a-Judge часто бывает субъективной и требует постоянной перепроверки людьми