TGViewer
Python/ django Python/ django @pythonl · 58.8K subscribers
Post #5672 4K
Как нормально тестировать AI-агента, если правильный ответ ещё ничего не доказывает

У обычного чат-бота можно проверить финальный ответ. С агентами этого уже мало: модель может выдать вполне убедительный текст, но перед этим выбрать не тот skill, вызвать неправильный tool, потерять контекст на втором сообщении или выполнить только половину задачи.

Ed Crewe описал, как они строили eval-фреймворк для агентного чат-бота вокруг Postgres AI Hybrid Manager.

Начали с простого routing eval: для каждого запроса проверяется, выбрал ли агент нужный skill или tool. Это быстро, детерминированно и удобно гонять в CI.

Следующий слой- Task Completion Rate. Здесь уже оценивается сам результат: выполнил ли агент задачу, использовал ли нужные данные, предложил ли адекватный следующий шаг. Для таких проверок используется LLM-as-a-judge и заранее заданная rubric.

Но и этого оказалось мало. Реальные задачи часто состоят из нескольких сообщений, поэтому тестировать приходится уже целые диалоги с сохранением conversation state и отдельными проверками каждого шага.

Финальный уровень — trajectory testing: смотреть не только на ответ, а на весь путь агента к нему: маршрутизацию, выбор skills, tool calls, промежуточные действия, состояние диалога и итоговый результат.

Получается уже почти классическое E2E-тестирование, только объект проверки здесь не HTTP-запрос или UI, а поведение AI-агента целиком.

В основе автор использует deepeval, поверх которого добавлены YAML goldens, CI, плагины, multi-turn evals и телеметрия через Langfuse.

https://edcrewe.blogspot.com/2026/08/from-routing-checks-to-trajectory.html
  • 👍 6
  • ❤ 5
  • 🔥 2
  • 😁 1
  • 🎉 1
More from @pythonl
  1. Sep 20, 2026🐍 Ruff доволен, mypy молчит, тесты зелёные. А в коде четыре одинаковых функции Автор стат…
  2. Sep 19, 2026🐍 В CPython одно чтение `__dict__` может навсегда замедлить доступ к атрибутам конкретног…
  3. Sep 18, 2026🔥 Qwen представила Qwen3.8-Omni-Flash - свою первую мультимодальную модель, изначально за…
  4. Sep 17, 2026🔥 Package Doctor - необычный security-сканер для Python-зависимостей Он отвечает не тольк…
  5. Sep 17, 2026🔥 Один из лучших обучающих курсов на StepiK по SQL SQL можно знать годами и всё равно тер…
  6. Sep 16, 2026🔥 Django Q() objects — один из самых полезных инструментов ORM, который многие используют…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →