ГАЙД 2026

Как оценивать и тестировать 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 шагов и без лишних вызововуспешность + число шагов + стоимостьна каждый коммит промпта
РегрессионныйДатасет из реальных прогонов: не стало ли хуже на прошлых кейсахдоля совпадений с эталоном, LLM-судьяперед релизом
AdversarialПромпт-инъекции, утечка системного промпта, обход ограниченийred teaming-наборы, доля пробитийраз в спринт и перед крупными изменениями
Четыре уровня закрывают разные риски: модульный ловит поломки кода, сценарный — логики, регрессионный — деградацию качества, adversarial — безопасность.
Пайплайн evals
11. ТрейсингКаждый прогон пишется целиком: вход, шаги, вызовы инструментов, токены, стоимость22. ДатасетИз трейсов выбираются реальные кейсы — успешные и провальные, с эталонным ответом33. МетрикиСчитаются правила и LLM-судья; судья валидируется на ручной разметке44. Гейт в CIСборка падает, если успешность или стоимость вышли за порог55. РазборПровалы смотрят глазами по трейсу: где именно агент ушёл не тудаОт трейса в продакшене до гейта в CI
Порог важнее среднего
Средняя успешность 82% ничего не говорит о риске. Считайте p10 по задержке и максимум по стоимости на прогон: именно эти хвосты ломают SLA и бюджет, а не медиана. Гейт ставьте на хвост, а не на среднее.

03Инструменты: что показывают цифры

Рынок разделился на три группы: платформы наблюдаемости (Langfuse, Phoenix), фреймворки тестов (promptfoo, DeepEval, OpenAI Evals) и транспорт телеметрии (OpenLLMetry на OpenTelemetry). Звёзды на GitHub — грубая, но проверяемая метрика зрелости сообщества: она показывает, куда идут контрибьюторы, и не показывает, подходит ли инструмент вашей задаче.

Звёзды на GitHub: инструменты evals и наблюдаемости★, снято 31.10.2026
020 00040 000Langfuse36 781promptfoo26 663OpenAI Evals19 681DeepEval19 209lm-eval-harness14 350Phoenix12 079OpenLLMetry7 514
GitHub API, 31.10.2026. Сравнение по звёздам не равно сравнению возможностей: у OpenAI Evals и lm-eval-harness фокус на бенчмарках моделей, а не на агентных траекториях.
ИнструментТипЛицензияSelf-hostЧто даёт
LangfuseНаблюдаемость + evalsоткрытый код (ядро)даТрейсы, промпт-менеджмент, датасеты и оценки в одном месте
promptfooТесты и red teamingMITда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 недель
075150225300н-11н-9н-7н-5н-3н-11491581971821701662029625728221090
GitHub stats/participation, снято 31.10.2026; недели начинаются с воскресенья, последняя неделя неполная. Видны релизные пики 257–282 коммита.
Под какие задачи какой инструмент
ТрейсингМетрикиRed teamSelf-hostПростота стартаLangfuseсредний балл 7,9 / 10promptfooсредний балл 8,1 / 10DeepEvalсредний балл 7,5 / 10
Редакционная оценка 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 проблемных. К проблемным добавьте эталонный ответ или критерий успеха.
terminalcopy
{
  "case_id": "c-1042",
  "input": "...",
  "expected": "...",
  "tags": ["screening", "multiturn"]
}
3
Добавьте три правила и одного судью
Правила — формат ответа, наличие обязательных полей, лимит шагов. Судья — оценка смысла. Правила дешёвые и стабильные, судья — дорогой и шумный.
4
Провалидируйте судью руками
Разметьте 30 ответов сами и сравните с оценками судьи. Совпадение ниже 80% — меняйте промпт судьи или критерий, а не порог.
5
Поставьте гейт
Сборка падает при падении успешности, роста средней стоимости или пробитии red-team набора. Начните с одного порога, иначе команда начнёт отключать проверки.
terminalcopy
-- CI: прогон набора перед деплоем
promptfoo eval -c evals/agent.yaml --max-concurrency 4
6
Разбирайте провалы раз в неделю
Пять худших трейсов в неделю, глазами, всей командой. Это единственный способ, при котором датасет растёт, а метрики не расходятся с реальностью.
Три слоя, которые нельзя смешивать
НаблюдаемостьТрейсы, токены, стоимость, задержка. Отвечает на вопрос «что произошло»данныеEvalsДатасеты и метрики. Отвечает на вопрос «стало ли лучше или хуже»оценкаКонтрольПороги, гейты в CI, алерты. Отвечает на вопрос «можно ли это выпускать»контроль
Типичная ловушка
Команды месяцами улучшают дашборд, но не заводят ни одного прогона в 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 — раз в спринт и обязательно перед крупным изменением полномочий агента (новые инструменты, доступ к данным).

Источники и документация

  • Langfuse — тарифыlangfuse.com/pricing
    Hobby/Core/Pro, юниты, хранение, self-host. Снято 31.10.2026.
  • Langfuse — репозиторийgithub.com/langfuse/langfuse
    Открытый код, релиз v4.72.0 от 29.10.2026, 36 781 ★.
  • promptfoogithub.com/promptfoo/promptfoo
    Тесты промптов, агентов и RAG, red teaming; MIT; релиз 0.125.1 от 25.10.2026.
  • DeepEvalgithub.com/confident-ai/deepeval
    Фреймворк метрик, Apache-2.0, 19 209 ★ на 31.10.2026.
  • Arize Phoenixgithub.com/Arize-ai/phoenix
    Наблюдаемость и оценки на OpenTelemetry, 12 079 ★; лицензию проверяйте в репозитории.
  • OpenAI Evalsgithub.com/openai/evals
    Фреймворк и реестр задач для сравнения моделей, 19 681 ★.
Итог гайда
8,8/ 10
Начинайте с трейсинга, а не с метрик: без логов вы не сможете объяснить ни одну оценку. Дальше — 50 реальных кейсов, три правила, один провалидированный судья и один блокирующий порог в CI. Этого достаточно, чтобы перестать выпускать регрессии «на глаз».
Сравнить инструменты под свою задачу
Каталог обзоров и мульти-сравнение: агенты, платформы и наблюдаемость по единой методике.