Практические разборы l3_builders
Как тестировать траекторию AI-агента, а не только финальный ответ
Практический выпуск CodeVibers: собираем минимальный trajectory eval для AI-агента. Показываю, какие шаги агента нужно проверять, как описать expected tools и stop conditions, и как локально запустить validator.\n\nМатериалы и чеклист: будет добавлено после публикации в Академии CodeVibers. Telegram: https://t.me/code_vibers Сайт: https://codevibers.ru Академия Code Vibers: https://codevibers.ru/academy/как-тестировать-траекторию-ai-агента-а-не-только-финальный-ответ.html
Видео по теме
Практический выпуск CodeVibers: собираем минимальный trajectory eval для AI-агента. Показываю, какие шаги агента нужно проверять, как описать expected tools и stop conditions, и как локально запустить validator.\n\nМатериалы и чеклист: будет добавлено после публикации в Академии CodeVibers. Telegram: https://t.me/code_vibers Сайт: https://codevibers.ru Академия Code Vibers: https://codevibers.ru/academy/как-тестировать-траекторию-ai-агента-а-не-только-финальный-ответ.html
Таймкоды
- 00:00 Зачем проверять траекторию
- 00:35 Контракт trajectory eval
- 01:19 Пишем YAML и validator
- 02:06 Запускаем проверку
- 02:23 Правило для команды
Shorts
Практический материал из выпуска
Артефакт: Файл trajectory_eval.yaml и локальный validate_trajectory.py для проверки шагов AI-агента.
Что должно получиться: Зритель может скопировать структуру YAML, описать свой агентный сценарий и запустить проверку pass/fail.
Видимый результат: На экране создан trajectory_eval.yaml, затем терминал показывает validation_pass=true.
Вход для демо: Сценарий: AI-агент готовит patch plan по issue и должен проверить policy file до действия.
Выход демо: YAML-contract с expected_steps, stop_conditions, evidence_fields и успешный вывод validator.
Проверка результата: validate_trajectory.py проверяет наличие goal, expected steps, required stop condition и evidence fields; успешный запуск печатает validation_pass=true.
Как собрать
- Создать trajectory_eval.yaml с goal и scenario input.
- Добавить expected_steps: read_issue, inspect_policy, propose_patch_plan.
- Добавить stop_conditions и evidence_fields.
- Запустить validate_trajectory.py и проверить validation_pass=true.
Шаблон: approval gate и журнал решений
Используйте этот фрагмент как минимальную политику для действий, которые видит клиент или которые меняют учетную систему.
approval_rule: if action.external_visible == true or action.crm_write == true -> require_human_approval
decision_log: request_id, source_data, ai_recommendation, human_edit, final_action, rejection_reason
Чеклист перед пилотом
- YAML содержит goal, scenario_input, expected_steps, stop_conditions и evidence_fields.
- Validator завершает работу с exit code 0 и печатает validation_pass=true.
Требования и рекомендации
Требования
- У eval должен быть входной сценарий, а не абстрактная фраза.
- У каждого ожидаемого шага должен быть observable marker: tool, file, log или state.
- Проверка должна падать, если агент пропустил stop condition или использовал запрещенный инструмент.
Рекомендации
- Проверять не только final answer, но и последовательность tool calls или рабочих шагов.
- Отдельно описывать stop conditions: когда агент обязан просить человека, а не продолжать автономно.
- Сохранять evidence log: какие входы, инструменты и решения привели к результату.
Суть темы
Практический выпуск CodeVibers: собираем минимальный trajectory eval для AI-агента. Показываю, какие шаги агента нужно проверять, как описать expected tools и stop conditions, и как локально запустить validator.\n\nМатериалы и чеклист: будет добавлено после публикации в Академии CodeVibers. Telegram: https://t.me/code_vibers Сайт: https://codevibers.ru Академия Code Vibers: https://codevibers.ru/academy/как-тестировать-траекторию-ai-агента-а-не-только-финальный-ответ.html
Что важно забрать
- Создать файл trajectory_eval.yaml, описать expected tool sequence, stop conditions и запустить локальную проверку.
- После выпуска зритель сможет собрать минимальный trajectory eval для AI-агента и проверить не только финальный ответ, но и цепочку действий.
- Фокус не на абстрактных evals и не на выборе observability tool, а на маленьком воспроизводимом контракте траектории: какие шаги агент обязан пройти и где он должен остановиться.
- Снизить долю скрытых ошибок агентного workflow, которые не видны при проверке только финального текста.
Как применять на практике
Используйте материал как отправную точку: сформулируйте задачу, ограничьте область применения, выберите метрику качества и проверьте результат на небольшом сценарии до внедрения в production.
Практические шаги
- Создать trajectory_eval.yaml с goal и scenario input.
- Добавить expected_steps: read_issue, inspect_policy, propose_patch_plan.
- Добавить stop_conditions и evidence_fields.
- Запустить validate_trajectory.py и проверить validation_pass=true.
Рекомендации
- Проверять не только final answer, но и последовательность tool calls или рабочих шагов.
- Отдельно описывать stop conditions: когда агент обязан просить человека, а не продолжать автономно.
- Сохранять evidence log: какие входы, инструменты и решения привели к результату.
Требования и ограничения
- У eval должен быть входной сценарий, а не абстрактная фраза.
- У каждого ожидаемого шага должен быть observable marker: tool, file, log или state.
- Проверка должна падать, если агент пропустил stop condition или использовал запрещенный инструмент.
Примеры
- Агент должен сначала прочитать issue, затем проверить policy file, затем предложить patch plan.
- Если задача требует внешней публикации или удаления данных, validator должен требовать human approval step.
Антипримеры
- Проверять только то, что финальный ответ звучит уверенно и содержит правильные слова.
Как проверить готовность
- Validator возвращает validation_pass=true для корректной траектории.
- Validator возвращает validation_pass=false, если отсутствует required stop condition или evidence field.
Навигация по выпуску
- 00:00 Зачем проверять траекторию
- 00:35 Контракт trajectory eval
- 01:19 Пишем YAML и validator
- 02:06 Запускаем проверку
- 02:23 Правило для команды