Planet Python на русском
Подписаться
Эд Крю: От проверки маршрутизации до тестирования траектории: оценка агентивного чат-бота
Компания разрабатывает фреймворк тестирования ИИ для Postgres AI Hybrid Manager — продукта, который интегрирует традиционное управление Postgres с инструментами ИИ, такими как Langflow. Этот чат-бот стремится объединить функции продукта, справочную документацию и рабочие процессы ИИ в единый разговорный интерфейс. Тестирование такого агента, поддерживаемого LLM, сложно, поскольку его ответы недетерминированы и могут быть немного ошибочными даже при беглом владении. Фреймворк эволюционировал, чтобы решить эту проблему, сосредоточившись на тестировании всей траектории чата, а не только на окончательных ответах.Вводятся ключевые понятия, включая «Золотые» (идеальные желаемые результаты) и «Рубрики» (качественные контрольные списки для хороших ответов). Для тестирования ИИ LLM используются в качестве судей для оценки результатов по Golden или Rubrics, преобразуя сложные ответы в результаты «сдал/незавал». Коэффициент выполнения задач (TCR) используется для агрегирования нескольких проходов оценки. Стратегия тестирования начиналась с простых оценок маршрутизации, проверки, направляет ли чатбот подсказки к нужному специализированному агенту или навыку.По мере эволюции системы от агентов по инструменту к консолидированному агенту с навыками, оценки маршрутизации адаптировались для проверки видимости и выбора нужного навыка. Впоследствии были внедрены оценки TCR для оценки того, выполнил ли полный ответ чат-бота задачу пользователя, используя LLM-as-a-judge с определёнными рубриками. Это привело к появлению двух режимов выполнения: прямой режим для разработки запросов и рубрик, и режим прокси для тестирования полного производственного пути.Фреймворк также должен был работать с многоступенчатыми разговорами, где тестовый блок становился всем разговором, а не только одиночными ходами. Это требовало сохранения состояния разговора между несколькими вызовами API в режиме прокси или имитации его в режиме Direct. Теперь оценивание включает проверку по шагу и общий балл за разговор. Базовая тестовая библиотека — deepeval, на которой компания построила свой конвейер, систему плагинов, интеграцию CI и Langfuse push. Маршрутизация реализована в виде кастомной «BaseMetric» в deepeval, демонстрируя, как конкретные бизнес-правила могут быть интегрированы в процесс оценки LLM.