Трассировка выполнений
Трассировка (Трейсинг) — это инструмент для наблюдения за работой ваших агентов и процессов. Он позволяет просматривать историю всех выполнений, анализировать каждый шаг, находить ошибки и оценивать производительность.
Зачем нужна трассировка
При работе с AI-агентами важно понимать, что именно происходит «под капотом»:
- Какие шаги выполнил агент и в каком порядке.
- Какие данные получил на вход и что вернул.
- Какие инструменты вызывались и с какими параметрами.
- Где произошла ошибка и почему.
- Сколько времени заняло выполнение каждого шага.
Трассировка отвечает на все эти вопросы, предоставляя подробный лог каждого выполнения.
Как открыть трассировку
Перейдите в раздел Трейсинг в боковом меню проекта (доступно после запуска воркфлоу). Откроется интерфейс с тремя панелями:
- Список сессий (левая панель) — все сессии выполнений, сгруппированные по thread_id.
- Таймлайн (центральная панель) — хронологическая последовательность событий внутри выбранной сессии.
- Детали шага (правая панель) — подробная информация о выбранном шаге.
Понятие сессии
Сессия — это группа выполнений, объединённых общим thread_id. Один thread_id соответствует одному потоку диалога: например, пользователь отправляет несколько сообщений агенту, и каждое сообщение порождает отдельное выполнение в рамках одной сессии (см. раздел Память агента).
Каждая сессия в списке показывает:
- Название процесса — к какому процессу (workflow) относится сессия.
- Статус — текущее состояние последнего выполнения.
- Thread ID — уникальный идентификатор потока (можно скопировать).
- Счётчики — количество выполнений (Exc), общее количество шагов (Stp) и количество ошибочных шагов (Fld).
- Время — когда было последнее выполнение (относительное и абсолютное время).
Статусы сессий
| Статус | Цвет | Описание |
|---|---|---|
| Running | Синий | Выполнение сейчас в процессе |
| Completed | Зелёный | Последнее выполнение завершено успешно |
| Failed | Красный | Последнее выполнение завершилось с ошибкой |
| Interrupted | Оранжевый | Выполнение было прервано (например, ожидание апрува) |
Фильтрация сессий
В верхней части страницы расположена панель фильтров, позволяющая быстро найти нужные сессии:
- Поиск по thread_id — текстовый поиск по идентификатору потока.
- Статус — фильтр по статусу (Running, Completed, Failed, Interrupted).
- Процесс — выбор конкретного процесса (workflow) из списка.
- Период — диапазон дат с готовыми пресетами: «Сегодня», «Вчера», «7 дней», «30 дней».
Нажмите кнопку поиска, чтобы применить фильтры. Кнопка сброса очищает все фильтры и обновляет список.
Если вы ищете конкретное выполнение, скопируйте thread_id из логов или из ответа API и вставьте его в поле поиска.
Таймлайн сессии
При выборе сессии в центральной панели отображается таймлайн — хронологическая последовательность всех событий:
Типы событий
- Execution Start — начало выполнения. Отображается синим значком воспроизведения с временной меткой.
- Step (Шаг) — выполнение отдельного узла процесса (агент, функция, логика, HTTP-запрос и др.). Показывает имя узла, статус и длительность.
- Approval Request — запрос на апрув. Отображается оранжевым значком с сообщением и текущим статусом (pending/approved/rejected) (см. раздел Подтверждения).
- Execution End — завершение выполнения. Показывает итоговый статус и общую длительность.
Между последовательными выполнениями в рамках одной сессии отображается визуальный разделитель.
Таймлайн загружает до 200 событий по умолчанию и отображает их в хронологическом порядке.
Навигация по таймлайну
Нажмите на карточку шага в таймлайне, чтобы увидеть его детали в правой панели. Выбранный шаг подсвечивается синей рамкой. При открытии таймлайна автоматически выбирается первый шаг.
Детали шага
Правая панель показывает полную информацию о выбранном шаге. Данные разделены на несколько секций.
Информация о шаге
Карточка «Информация о шаге» содержит:
| Поле | Описание |
|---|---|
| Step ID | Уникальный идентификатор шага |
| Sequence | Порядковый номер шага в выполнении |
| Started At | Время начала выполнения шага |
| Completed At | Время завершения шага |
| Duration | Длительность выполнения шага в миллисекундах |
| Execution | Идентификатор родительского выполнения |
| Workflow | Название процесса |
| Thread ID | Идентификатор потока |
Если шаг завершился с ошибкой, текст ошибки отображается красным цветом под основной информацией.
Данные выполнения
Секция «Данные выполнения» содержит два раскрываемых блока:
- Входные данные выполнения — JSON с данными, которые поступили на вход шагу.
- Выходные данные выполнения — JSON с результатом работы шага.
Данные отображаются в интерактивном JSON-редакторе (только для чтения) с подсветкой синтаксиса.
Состояние выполнения
Данные о состоянии доступны через входные и выходные данные каждого шага, а также через конфигурацию агента, сохранённую на момент запуска. Для анализа полного контекста используйте секцию «Данные выполнения» и «Конфигурация агента».
Для продуктовой аналитики (статистика выполнений, расход LLM, голосовые сессии) используйте подключение аналитики через ClickHouse — данные доступны в Grafana, Metabase и других BI-инструментах.
Информация о выполнении
Карточка «Информация о выполнении» показывает общие данные родительского выполнения:
- Название процесса.
- Идентификатор выполнения.
- Время начала и завершения.
- Общая длительность.
- Текст ошибки (если есть).
Статистика шагов
Блок статистики отображает четыре метрики по всем шагам текущего выполнения:
- Всего — общее количество шагов.
- Завершено — количество успешно завершённых шагов (зелёный).
- Неудачно — количество шагов с ошибкой (красный).
- Ожидает — количество шагов в ожидании (серый).
Конфигурация агента
Если выполнение связано с агентом, отображается карточка «Конфигурация агента» с параметрами, сохранёнными на момент выполнения:
- Model — используемая языковая модель.
- Temperature — параметр температуры генерации.
- Max Tokens — максимальное количество токенов.
- Instructions — системный промпт агента.
- Output Format — формат выходных данных.
- Chat History — включена ли история чата.
- Memory — включена ли долгосрочная память.
- Reasoning Effort — уровень рассуждений модели.
- Functions — список подключённых функций.
- Sub-Agents — список подчинённых агентов.
- MCP Servers — список подключённых MCP-серверов.
- Tools — список инструментов.
Конфигурация агента сохраняется как снимок (snapshot) на момент запуска выполнения. Это означает, что даже если вы позже измените настройки агента, в трассировке будут видны те параметры, которые использовались при конкретном выполнении (см. раздел Публикации для понимания версионирования конфигураций).
Временная шкала шагов
В нижней части правой панели находится раскрываемая временная шкала всех шагов текущего выполнения. Каждый шаг содержит:
- Имя узла и его тип (Agent, Logic, Function, HTTP).
- Статус выполнения.
- Длительность.
- Раскрываемое содержимое с Input и Output данными.
Вызовы инструментов (Tool Calls)
Если шаг агента выполнял вызовы инструментов, они отображаются в раскрытом виде:
- Имя инструмента — название вызванной функции или инструмента.
- Тип — AGENT (вызов суб-агента) или FUNCTION (пользовательская функция).
- Arguments — JSON с аргументами, переданными инструменту.
- Output — JSON с результатом вызова инструмента.
Вызовы инструментов могут содержать конфиденциальные данные (API-ключи, персональные данные пользователей). Будьте внимательны при предоставлении доступа к трассировке.
Анализ ошибок
Трассировка — основной инструмент для диагностики ошибок:
- Отфильтруйте сессии по статусу Failed.
- Выберите нужную сессию и найдите в таймлайне шаг с красным значком.
- Откройте детали шага — текст ошибки будет выделен красным.
- Проверьте входные данные шага, чтобы понять, что привело к ошибке.
- Изучите выходные данные предыдущего шага для понимания полного контекста на момент ошибки.
Часто ошибки возникают из-за некорректных входных данных или недоступности внешних сервисов. Входные данные шага помогут определить точную причину.
Метрики производительности
Трассировка помогает оценить производительность выполнений:
- Длительность шага — время выполнения каждого узла в миллисекундах. Позволяет выявить «узкие места».
- Общая длительность — суммарное время всего выполнения.
- Количество шагов — сколько шагов потребовалось для обработки запроса.
Обращайте внимание на шаги с аномально большим временем выполнения — это могут быть медленные вызовы LLM, внешних API или сложные вычисления в функциях.
Пагинация и загрузка данных
Список сессий поддерживает бесконечную прокрутку: при достижении конца списка автоматически загружается следующая порция данных (по 20 сессий). Таймлайн загружает до 200 событий за один запрос.
Для управления и отладки отдельных выполнений см. раздел Отладка выполнений. Для анализа подтверждений см. раздел Подтверждения.