Какие инструменты для агентской эвалюации вы используете?
Краткий тезис
Агентская эвалюация — это процесс измерения качества работы AI-агентов: их способности выполнять многошаговые задачи, корректно использовать инструменты, не галлюцинировать и адаптироваться к изменениям. Основные инструменты включают LangSmith (эксперименты, мониторинг, baseline-сравнение), LLM Eval Toolkit (набор метрик: diversity, reliability, perturbation, cascade, consistency, grounding|factual grounding, hallucination, drift) и кастомные evaluator'ы для специфических требований (fairness, drift detection). Выбор инструмента зависит от зрелости системы: на старте — LangSmith, для глубокого анализа — Eval Toolkit|LLM Eval Toolkit, для production — комбинация встроенных и собственных метрик.
1. Термин: Агентская эвалюация (Agent Evaluation)
Агентская эвалюация — это процесс количественной и качественной оценки поведения AI-агента в контролируемых сценариях. В отличие от оценки обычного LLM (где важен только ответ), агент выполняет последовательность действий: вызывает инструменты, обрабатывает результаты, принимает решения. Поэтому метрики должны учитывать:
- Корректность шагов — правильный ли инструмент выбран, верно ли переданы параметры.
- Целостность траектории — не зацикливается ли агент, не превышает ли лимит шагов.
- Качество финального ответа — релевантность, фактологичность, полнота.
- Робастность — устойчивость к изменению формулировок запроса или состоянию окружения.
Зачем нужна агентская эвалюация
Без неё невозможно:
- сравнивать разные версии агента (baseline vs new),
- выявлять регрессии после дообучения или смены модели,
- гарантировать безопасность (агент не должен удалять данные или совершать опасные действия),
- оптимизировать промпты и конфигурацию инструментов.
2. LangSmith — платформа для экспериментов и мониторинга
LangSmith (от LangChain) — это платформа для отладки, тестирования и мониторинга LLM-приложений, включая агентов. Основные возможности для эвалюации:
2.1 Эксперименты (Experiments)
- Позволяют запускать агента на наборе тестовых запросов (dataset) и сравнивать результаты разных конфигураций.
- Автоматически логируются трассировки (traces): каждый шаг агента, вызов инструмента, промпт, ответ LLM.
- Можно задать evaluator'ы — функции, которые вычисляют метрики (например, точность ответа, время выполнения, количество шагов).
2.2 Baseline-сравнение
- В LangSmith можно зафиксировать текущую версию агента как baseline.
- При каждом новом эксперименте система показывает delta-метрики относительно baseline: улучшилось ли качество, не упала ли скорость.
- Это критично для CI/CD: перед деплоем новой версии проверяют, что метрики не ухудшились.
2.3 Monitoring Dashboards
- В production режиме LangSmith собирает реальные запросы пользователей, отображает дашборды с метриками: latency, error rate, количество шагов, частота вызовов конкретных инструментов.
- Можно настроить алерты: если доля неудачных вызовов инструмента превысила порог → уведомление.
Ограничения LangSmith
- Нет встроенного автоматического drift detection (обнаружения дрейфа данных) — нужно писать кастомный evaluator.
- Нет метрик fairness (справедливости) — агент может дискриминировать определённые группы пользователей.
- Не предоставляет метрики diversity (разнообразия ответов) из коробки.
3. LLM Eval Toolkit (Pandey, 2026)
Это специализированный набор метрик для оценки агентов, предложенный Pandey в 2026 году. Включает 8 ключевых измерений:
| Метрика | Описание | Пример измерения |
|---|---|---|
| Diversity | Разнообразие ответов/траекторий агента на один и тот же запрос (чтобы избежать заучивания одного пути) | Семантическое сходство между разными траекториями |
| Reliability | Надёжность: агент выполняет задачу без сбоев (ошибок инструментов, таймаутов) | Доля успешных завершений |
| Perturbation | Устойчивость к возмущениям: изменение формулировки запроса, добавление шума в контекст | Процент запросов, на которые ответ не изменился |
| Cascade | Оценка многошаговости: правильно ли агент выстраивает цепочку вызовов инструментов | Совпадение последовательности шагов с эталонной |
| Consistency | Согласованность: одинаковые ответы на семантически эквивалентные запросы | Косинусное сходство эмбеддингов ответов |
| Factual Grounding | Привязка к фактам: ответы основаны на предоставленных документах/инструментах, а не на внутренних знаниях LLM | Доля утверждений, подтверждённых контекстом |
| Hallucination | Галлюцинации: выдуманные факты, не соответствующие реальности или контексту | Доля вымышленных сущностей |
| Drift | Дрейф: изменение поведения агента со временем (из-за обновления модели, изменения данных) | Разница метрик между двумя временными срезами |
Как использовать
Каждая метрика реализована в виде evaluator-функции, которую можно подключить к LangSmith или другому фреймворку. Например, для измерения hallucination используется LLM-as-judge: второй LLM проверяет, подтверждается ли каждое утверждение агента контекстом.
Преимущество единый фреймворк, покрывающий все аспекты агентского поведения.
Недостаток требует дополнительной настройки (выбор LLM-судьи, пороговых значений).
4. Кастомные evaluator'ы (Custom Evaluators)
Когда встроенных метрик недостаточно, пишут собственные evaluator'ы. Типичные сценарии:
4.1 Drift Detection (обнаружение дрейфа)
- LangSmith не умеет автоматически сравнивать распределения метрик за разные периоды.
- Решение: написать evaluator, который собирает метрики за окно (например, последние 1000 запросов) и сравнивает с эталонным распределением с помощью статистических тестов (KS-тест, PSI).
- Пример кода (псевдо):
def drift_evaluator(runs, baseline_stats):
current_stats = compute_stats(runs) # среднее, std метрик
p_value = ks_test(current_stats['latency'], baseline_stats['latency'])
return {'drift_detected': p_value < 0.05, 'p_value': p_value}
4.2 Fairness Metrics (справедливость)
- Проверка, что агент не дискриминирует по полу, возрасту, региону.
- Нужно разметить тестовые запросы с атрибутами protected groups.
- Evaluator сравнивает качество ответов (например, accuracy) для разных групп и вычисляет disparity (разницу).
4.3 Специфические бизнес-метрики
- Например, для агента поддержки: «доля запросов, решённых без перевода на оператора».
- Для агента-кодировщика: «процент сгенерированного кода, прошедшего тесты».
Инструменты для кастомных evaluator'ов
- LangSmith SDK — позволяет писать evaluator'ы на Python и подключать их к экспериментам.
- Arize AI — платформа для observability ML, поддерживает кастомные метрики и drift detection.
- WhyLabs — фокус на мониторинг дрейфа данных и моделей.
5. Сравнение инструментов для агентской эвалюации
| Инструмент | Основное назначение | Встроенные метрики | Кастомные метрики | Drift detection | Fairness | Production мониторинг |
|---|---|---|---|---|---|---|
| LangSmith | Эксперименты, трассировка, baseline | Базовые (точность, latency) | Да (SDK) | Нет (нужен custom) | Нет | Да (дашборды, алерты) |
| LLM Eval Toolkit | Набор метрик для агентов | 8 метрик (diversity, hallucination и др.) | Можно расширять | Да (метрика drift) | Частично (через consistency) | Нет (только офлайн) |
| Arize AI | Observability ML | Drift, performance, data quality | Да | Да (встроенный) | Да (disparity) | Да |
| WhyLabs | Мониторинг дрейфа | Drift, data quality | Да | Да | Нет | Да |
| DeepEval | Оценка LLM-приложений | Faithfulness, relevancy, hallucination | Да | Нет | Нет | Нет (офлайн) |
6. Процесс настройки эвалюации для агента
- Определить цели — что важнее: точность, скорость, безопасность, разнообразие?
- Собрать тестовый датасет — 100–500 запросов с эталонными ответами и ожидаемыми траекториями.
- Выбрать инструмент — для старта LangSmith + LLM Eval Toolkit.
- Написать evaluator'ы — подключить метрики из Toolkit, добавить кастомные (drift, fairness).
- Запустить эксперимент — прогнать агента на датасете, получить метрики.
- Сравнить с baseline — зафиксировать текущую версию как baseline.
- Внедрить production мониторинг — LangSmith дашборды + алерты на дрейф.
- Итеративно улучшать — на основе метрик менять промпты, инструменты, модель.
7. Метрики для разных типов агентов
- Single-agent (один агент с инструментами): reliability, factual grounding, hallucination, cascade.
- Multi-agent (несколько агентов координируются): дополнительно consistency (согласованность между агентами), diversity (разные стратегии).
- Tool-use агент (вызывает API): perturbation (устойчивость к изменению ответов инструментов), drift (изменение API).
- Agent с памятью (long-term memory): consistency (не противоречит ли себе в разных сессиях).
8. Вызовы и лучшие практики
Вызовы
- Отсутствие ground truth — для многих задач нет единственного правильного ответа.
- Стоимость — запуск evaluator'ов на LLM-судье дорог.
- Нестабильность — агент может вести себя по-разному при одинаковых входных данных (из-за температуры LLM).
Лучшие практики
- Использовать детерминированные evaluator'ы (проверка формата, вызова инструмента) где возможно.
- Для LLM-as-judge выбирать более сильную модель (GPT-4, Claude 3.5), чем сам агент.
- Автоматизировать запуск эвалюации в CI/CD (например, GitHub Actions + LangSmith).
- Мониторить дрейф в production — агент может деградировать незаметно.
Пет-проект для закрепления
Задача Создать агента для бронирования переговорных комнат (вызов календаря, проверка доступности, подтверждение) и настроить его эвалюацию.
Инструменты
- LangChain (агент с инструментами: Google Calendar API, проверка конфликтов)
- LangSmith (эксперименты, мониторинг)
- LLM Eval Toolkit (метрики: reliability, cascade, hallucination)
- Python (кастомный evaluator для проверки, что агент не бронирует на прошедшие даты)
Шаги:
- Реализовать агента на LangChain с двумя инструментами:
check_availabilityиbook_room. - Создать тестовый датасет из 20 запросов (например, «Забронируй переговорку на завтра на 2 часа с 14:00»).
- В LangSmith создать проект, загрузить датасет, запустить эксперимент.
- Подключить evaluator'ы из LLM Eval Toolkit: reliability (успешность бронирования), cascade (правильная последовательность: сначала проверка, потом бронь), hallucination (агент не выдумывает комнаты).
- Написать кастомный evaluator: проверка, что дата бронирования > текущей даты.
- Сравнить две версии агента (с разными промптами) — зафиксировать baseline.
- Настроить production мониторинг: дашборд с количеством успешных бронирований, средним числом шагов, алерт при падении reliability ниже 90%.
Ожидаемый результат Полностью автоматизированный пайплайн эвалюации агента, который позволяет безопасно деплоить новые версии.
Связь с другими вопросами
| Вопрос | Тема |
|---|---|
| 170 | Какие метрики вы используете для оценки RAG-системы? |
| 172 | Как вы оцениваете качество ответов LLM? |
| 174 | Что такое LLM-as-judge и как его использовать? |
| 175 | Как вы тестируете AI-агентов в production? |
| 177 | Как вы детектируете дрейф в поведении агента? |
| 180 | Какие инструменты для observability AI-агентов вы знаете? |
Навигация
- Предыдущий: 175
- Следующий: 177
- Индекс: 00. Индекс разборов