Как оценивать и тестировать AI-агентов: evals, трейсы и метрики
Агент, который «вроде работает» на демо, ломается на десятом реальном запросе. Разбираем, как построить проверяемый цикл: собрать датасет из реальных прогонов, считать метрики, ловить регрессии в CI и не путать красивый дашборд с качеством.
ГайдEvals2026
Уровень СреднийВремя чтения 16 минутОбновлено 31.10.2026
Оценка агента отличается от оценки модели: у агента есть инструменты, память и несколько шагов, поэтому один и тот же промпт даёт разные результаты в разных прогонах. Тестировать приходится не ответ, а траекторию: какие инструменты вызваны, в каком порядке, сколько стоил прогон и где он остановился. Ниже — рабочая схема из четырёх уровней, набор инструментов с проверяемыми метриками и порядок внедрения, при котором evals становятся частью CI, а не разовым отчётом.
Короткий ответ
Минимальный рабочий контур в 2026 году: трейсинг (Langfuse, Phoenix или OpenLLMetry) + датасет из реальных прогонов + 3–5 метрик (правильность ответа, успешность задачи, стоимость, задержка, безопасность) + прогон в CI на каждый коммит промпта. Без трейсинга любая оценка превращается в гадание: вы не увидите, на каком шаге агент ушёл не туда.
7
Инструментов разобрано
открытые и SaaS
36 781
Звёзд у Langfuse
снято 31.10.2026
$29
Тариф Core
в месяц, облако
4
Уровней проверки
от unit до red team
01Почему обычные тесты не ловят проблемы агентов
Юнит-тест проверяет детерминированную функцию: вход → ожидаемый выход. Агент недетерминирован: та же задача может быть решена двумя разными цепочками вызовов, а третий прогон упадёт на таймауте инструмента. Поэтому в оценке агентов появляются три вещи, которых нет в классическом тестировании.
Траектория важнее ответа. Агент может вернуть правильную цифру, но получить её вызовом платного API 40 раз. Такой прогон считается неуспешным по стоимости и задержке, хотя ответ формально верный.
Метрика — тоже модель. Оценка «правильно ли агент ответил» часто делается LLM-судьёй, и судья ошибается. Его нужно валидировать на размеченной людьми выборке, иначе вы измеряете мнение другого промпта.
Данные приходят из продакшена. Тест-сет собирается из реальных трейсов: то, что придумано в блокноте, почти всегда легче реальности.
Регрессия тихая. Смена версии модели или системного промпта может незаметно ухудшить 3% кейсов — без автоматического прогона это всплывёт через месяц в поддержке.
Отсюда практическое правило: сначала включается трейсинг (он даёт данные), потом строится датасет, и только затем добавляются метрики и гейты. Команды, которые начинают с дашборда метрик без трейсов, через месяц обнаруживают, что не могут объяснить ни одну цифру.
02Четыре уровня проверки
Уровень
Что проверяет
Чем мерить
Когда запускать
Модульный
Отдельный инструмент или промпт: парсинг, извлечение полей, формат ответа
юнит-тесты + детерминированные assert'ы
на каждый коммит
Сценарный (e2e)
Задачу целиком: агент дошёл до результата за N шагов и без лишних вызовов
успешность + число шагов + стоимость
на каждый коммит промпта
Регрессионный
Датасет из реальных прогонов: не стало ли хуже на прошлых кейсах
Четыре уровня закрывают разные риски: модульный ловит поломки кода, сценарный — логики, регрессионный — деградацию качества, adversarial — безопасность.
Пайплайн evals
Порог важнее среднего
Средняя успешность 82% ничего не говорит о риске. Считайте p10 по задержке и максимум по стоимости на прогон: именно эти хвосты ломают SLA и бюджет, а не медиана. Гейт ставьте на хвост, а не на среднее.
03Инструменты: что показывают цифры
Рынок разделился на три группы: платформы наблюдаемости (Langfuse, Phoenix), фреймворки тестов (promptfoo, DeepEval, OpenAI Evals) и транспорт телеметрии (OpenLLMetry на OpenTelemetry). Звёзды на GitHub — грубая, но проверяемая метрика зрелости сообщества: она показывает, куда идут контрибьюторы, и не показывает, подходит ли инструмент вашей задаче.
Звёзды на GitHub: инструменты evals и наблюдаемости★, снято 31.10.2026
GitHub API, 31.10.2026. Сравнение по звёздам не равно сравнению возможностей: у OpenAI Evals и lm-eval-harness фокус на бенчмарках моделей, а не на агентных траекториях.
Инструмент
Тип
Лицензия
Self-host
Что даёт
Langfuse
Наблюдаемость + evals
открытый код (ядро)
да
Трейсы, промпт-менеджмент, датасеты и оценки в одном месте
promptfoo
Тесты и red teaming
MIT
да
YAML-наборы тестов для промптов, агентов и RAG, сравнение моделей
DeepEval
Фреймворк метрик
Apache-2.0
да
Метрики в стиле pytest: ответ, релевантность, токсичность, галлюцинации
OpenAI Evals
Бенчмарки моделей
своя лицензия
да
Реестр задач и фреймворк для сравнения моделей между собой
lm-evaluation-harness
Бенчмарки моделей
MIT
да
Стандартные замеры качества LLM, а не агентных сценариев
Phoenix (Arize)
Наблюдаемость
проверяйте в репозитории
да
Трейсы по OpenTelemetry и оценки, ориентирован на RAG
OpenLLMetry
Телеметрия
Apache-2.0
да
Экспорт трейсов в любой OTel-совместимый бэкенд
Лицензии и возможности — по данным GitHub API и README на 31.10.2026. Для Phoenix и OpenAI Evals условия отличаются от MIT: читайте файл лицензии перед внедрением в продукт.
Активность разработки Langfuseкоммитов в неделю, 12 недель
GitHub stats/participation, снято 31.10.2026; недели начинаются с воскресенья, последняя неделя неполная. Видны релизные пики 257–282 коммита.
Под какие задачи какой инструмент
Редакционная оценка Qantcore по документации и README, 0–10. Это не бенчмарк: для своей задачи прогоните один и тот же набор кейсов в двух инструментах.
04Сколько стоит облако и когда хватает self-host
На 31.10.2026 у Langfuse опубликован прайс и две модели развёртывания: облако с бесплатным тарифом и self-hosted, который вы ставите сами (Docker Compose, Kubernetes или Terraform). Единица тарификации — «юнит»: в него складываются трейсы и оценки, а не только запросы. Для пилота из пары тысяч прогонов в месяц бесплатного тарифа обычно достаточно, для продакшена смотрите на число юнитов и срок хранения данных.
Hobby
$0бесплатно, без карты
Все функции с лимитами
50k юнитов в месяц
Хранение 30 дней
2 пользователя
оптимально
Core
$29в месяц
100k юнитов включено
+$8 за каждые 100k
Хранение 90 дней
Пользователи без ограничений
Pro
$199в месяц
Полная история
Повышенные лимиты запросов
Все функции платформы
Поддержка в приложении
Self-hosted
своя инфраструктуравы хостите
Ядро — открытый код
Часть функций — коммерческая лицензия
Данные не покидают ваш контур
Цены — с официальной страницы langfuse.com/pricing, снято 31.10.2026. Курс и рублёвая стоимость зависят от способа оплаты; для российских команд self-hosted часто единственный вариант без внешнего платежа.
Для self-hosted считайте не подписку, а сервер и время инженера: трейсинг растёт быстро — тысяча прогонов в день на длинных трейсах даёт заметный объём хранилища.
У платформы есть отдельный сигнал зрелости: в 2026 году Langfuse вошёл в состав ClickHouse — об этом заявлено прямо на странице тарифов. Для пользователя это означает ставку на хранение и запросы к большим объёмам трейсов, а не на «ещё один дашборд». Практический вывод: если у вас уже есть опыт с ClickHouse, self-hosted вариант предсказуем по эксплуатации.
05Порядок внедрения: от нуля до гейта в CI
Шесть шагов
1
Включите трейсинг на одном сценарии
Один агент, один инструмент. Пишите вход, шаги, вызовы инструментов, токены и стоимость. Без этого дальнейшие шаги бессмысленны.
terminalcopy
# OpenTelemetry-экспорт: трейсы уходят в выбранный бэкенд
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
OTEL_SERVICE_NAME=hr-agent
2
Соберите 50 реальных кейсов
Возьмите прогоны из логов за две недели: 25 удачных и 25 проблемных. К проблемным добавьте эталонный ответ или критерий успеха.
Правила — формат ответа, наличие обязательных полей, лимит шагов. Судья — оценка смысла. Правила дешёвые и стабильные, судья — дорогой и шумный.
4
Провалидируйте судью руками
Разметьте 30 ответов сами и сравните с оценками судьи. Совпадение ниже 80% — меняйте промпт судьи или критерий, а не порог.
5
Поставьте гейт
Сборка падает при падении успешности, роста средней стоимости или пробитии red-team набора. Начните с одного порога, иначе команда начнёт отключать проверки.
Пять худших трейсов в неделю, глазами, всей командой. Это единственный способ, при котором датасет растёт, а метрики не расходятся с реальностью.
Три слоя, которые нельзя смешивать
Типичная ловушка
Команды месяцами улучшают дашборд, но не заводят ни одного прогона в CI. Красивая картинка не мешает выпустить регрессию: проверка должна быть автоматической и блокирующей, иначе через две недели её перестанут открывать.
Частые вопросы
Что такое evals простыми словами?
Это набор проверок качества для LLM-системы: датасет реальных задач, метрики (правильность, стоимость, задержка, безопасность) и автоматический прогон при каждом изменении. Для агента дополнительно проверяется траектория: какие инструменты вызывались и за сколько шагов получен результат.
Чем оценка агента отличается от оценки модели?
Модель оценивают на статических наборах задач, агента — на траекториях. У агента есть инструменты и память, поэтому важны число шагов, стоимость прогона, обработка ошибок инструментов и поведение при неполных данных. Один и тот же промпт в агенте может дать разные результаты.
Можно ли доверять LLM-судье?
Только после валидации на ручной разметке. Разметьте 30–50 ответов людьми, сравните с оценками судьи и зафиксируйте расхождение. Если совпадение ниже 80%, судья измеряет не то, что вы хотите проверить, — правьте критерий.
Langfuse или LangSmith: что выбрать?
Langfuse можно развернуть у себя, у него опубликованный прайс (бесплатный Hobby, $29 Core, $199 Pro на 31.10.2026) и открытое ядро. LangSmith — облачный продукт LangChain, удобный, если вы уже на LangChain; цены и условия смотрите на официальном сайте. Для российских команд решающим обычно становится self-host.
Сколько кейсов нужно в датасете для старта?
Пятьдесят — рабочий минимум: 25 удачных и 25 проблемных прогонов из реальных логов. Датасет растёт из еженедельного разбора провалов. Набор «на 500 кейсов», собранный до запуска в продакшен, почти всегда проверяет не то, что ломается в реальности.
Как часто прогонять evals?
Модульные и сценарные — на каждый коммит промпта или кода агента. Регрессионные — перед релизом. Adversarial и red teaming — раз в спринт и обязательно перед крупным изменением полномочий агента (новые инструменты, доступ к данным).
Фреймворк и реестр задач для сравнения моделей, 19 681 ★.
Итог гайда
8,8/ 10
Начинайте с трейсинга, а не с метрик: без логов вы не сможете объяснить ни одну оценку. Дальше — 50 реальных кейсов, три правила, один провалидированный судья и один блокирующий порог в CI. Этого достаточно, чтобы перестать выпускать регрессии «на глаз».