Эвалуация ИИ-агентов: Phoenix, LangSmith и DeepEval
Автоматический перевод
Эта статья была автоматически переведена с оригинальной английской версии.
Ни один инструмент для эвалуации агентов не заменит проектирование тестов. Начните с ошибок, которые продукт должен выявлять: неправильных ответов, неверного выбора инструментов, некорректных аргументов или небезопасных побочных эффектов. Также проверяйте лишние шаги и регрессии латентности и стоимости. Затем выберите инструмент, соответствующий среде, где должны выполняться эти тесты.
Используйте Phoenix, если важны открытый трейсинг и самостоятельное размещение. Выбирайте LangSmith, если датасеты, трейсы, аннотация и эксперименты должны работать в едином управляемом процессе. Используйте DeepEval, если эвалуация должна выглядеть как тесты в Python CI-пайплайне. Добавьте Promptfoo для локального CLI, матричных тестов и red-team-кейсов.
Выбирайте с учётом того, где запускаются тесты, какие шаги нужно проверять и должны ли данные эвалуации оставаться в вашей среде.
Таблица решений
| Потребность | С чего начать | Почему |
|---|---|---|
| Трейсы OpenTelemetry и самостоятельное размещение | Phoenix | Трейсинг, эвалуация, датасеты и эксперименты с открытым исходным кодом используют соглашения OpenTelemetry и OpenInference. |
| Управляемые трейсы, датасеты и ревью | LangSmith | Поддерживает эвалуацию траекторий и финальных ответов, а также может работать с агентами вне LangChain. |
| Python-тесты и проверки CI | DeepEval | Эвалуация агентов на уровне end-to-end и отдельных компонентов хорошо вписывается в тестовый процесс. |
| Локальные матричные тесты и red teaming | Promptfoo | CLI с открытым исходным кодом и библиотека запускают воспроизводимые эвалуации и проверки безопасности в CI. |
| Специфичные для продукта проверки политик или инструментов | Специализированные эвалуаторы | Универсальные джаджи не знают о ваших разрешениях, необратимых действиях, бюджетах и бизнес-инвариантах. |
Оценивайте шаги и результат
Траектория — это последовательность решений модели и tool calls в рамках одного запуска. Корректный финальный ответ может скрывать ошибки на этих шагах. Агент может вызвать не тот инструмент, без необходимости повторить операцию, раскрыть конфиденциальные аргументы или прийти к правдоподобному ответу без доказательств. И наоборот, другая, но корректная последовательность вызовов инструментов не должна считаться ошибкой только потому, что отличается от эталонного трейса.
Разделяйте следующие проверки:
- корректность финального ответа и подтверждение его доказательствами
- выбор инструмента и валидность аргументов
- обязательные, запрещённые или повторяющиеся действия
- решения по политикам и границы согласования
- эффективность траектории, латентность и стоимость
- восстановление после ошибок инструментов или частичных результатов
По возможности используйте детерминированные проверки. Джаджей на основе моделей оставляйте для семантических вопросов, калибруйте их на проверенных примерах и сохраняйте модель джаджа и промпт вместе с каждым результатом.
Например, протестируйте агента проверки статуса заказа с пользователем, у которого нет доступа к запрошенному заказу. Проверьте, что агент не возвращает сведения о заказе и не вызывает инструмент записи. Даже вежливый отказ в финальном ответе не пройдёт тест, если предыдущий шаг раскрыл конфиденциальную запись.
Практический стартовый стек
- В коде приложения, который запускает модель и инструменты, записывайте ID запроса, выбранный инструмент, аргументы с удалёнными конфиденциальными данными, результат и длительность.
- Превращайте ошибки из продакшена в небольшой регрессионный датасет.
- Добавьте детерминированные проверки схем, запрещённых действий, бюджетов и обязательных доказательств.
- Добавьте одного откалиброванного семантического джаджа для результатов, которые нельзя оценить правилами.
- Запускайте быстрые кейсы при каждом изменении, а расширенный набор — перед релизом.
- Выбирайте из продакшен-трейсов новые типы ошибок и превращайте их в тесты.
Дополнительные материалы
- Эвалы агентов: от трейсов к наборам тестов объясняет принципы проектирования эвалуации для этих инструментов.
- Безопасность ИИ-агентов рассматривает проверки политик, за которыми эвалуатор должен следить, но не может самостоятельно обеспечивать их соблюдение.
- Рантайм для длительной работы ИИ-агентов описывает трейсы и чекпоинты, необходимые для воспроизведения ошибок.