Просмотр и анализ LLM-трейсов
В интерфейсе Monium Traces трейсы, содержащие спаны с атрибутами GenAI, отображаются в специализированном режиме LLM-мониторинга. Интерфейс предназначен для анализа и отладки AI-агентов: акцент сделан на больших текстах (промпты, ответы модели, системные инструкции), а не на сырых атрибутах. Это упрощает диагностику — ключевая информация, влияющая на логику агента, вынесена на передний план.
Основные возможности:
- поиск и фильтрация спанов по атрибутам GenAI и другим параметрам;
- визуализация иерархии вызовов в рамках трейса (дерево спанов);
- детальный просмотр промптов и ответов LLM в структурированном виде.
Открыть трейс можно из результатов поиска или по известному trace_id. Если в трейсе есть спаны с атрибутами GenAI, интерфейс автоматически переключается в режим LLM-просмотра.
Поисковая выдача LLM-спанов
В режиме поиска спанов в результатах отображаются только те спаны, которые относятся к работе с LLM — это определяется по наличию атрибута gen_ai.response.model. Для каждого такого спана в выдаче показывается:
- Название агента и спана — формируется как
service.name/ имя спана (например,my-ai-agent/openai.chat). - Input модели — входные данные, переданные в LLM в рамках этого спана.
- Output модели — ответ, сгенерированный LLM.
- Токены — количество входных и выходных токенов.
- Длительность — время выполнения операции.
По этим данным можно быстро оценить содержание и производительность вызова и выбрать спан для детального просмотра.
Структура страницы просмотра LLM-трейса
На странице просмотра отображаются только спаны тех сервисов, в которых есть атрибуты с маской gen_ai.*. Спаны остальных сервисов (бекенды, базы данных и т. п.) на этой странице скрыты — так интерфейс фокусируется на диалоге с моделью. Чтобы увидеть полный трейс со всеми спанами, нажмите Показать полный трейс в верхней части страницы — откроется стандартный просмотр трейса.
Интерфейс разделен на две области:
- Дерево спанов — иерархическое представление всех LLM-спанов в трейсе. Позволяет увидеть структуру запроса и длительность каждой операции.
- Лента спанов — каждый спан представлен развернутым блоком с ключевой информацией в заголовке (время выполнения, количество токенов, используемая модель) и сгруппированным содержимым ниже.
Спаны без атрибутов с текстами диалога (например, при отключенном захвате содержимого сообщений) по умолчанию отображаются свернутыми. Все атрибуты спана в исходном виде можно посмотреть на вкладке Детали.
Лента промптов и ответов
В ленте спанов каждый спан генерации содержит сгруппированные блоки:
- Системные инструкции — промпт, определяющий поведение агента (например: «Ты — полезный ассистент. Отвечай кратко.»).
- Диалог — история сообщений между пользователем и агентом: входные сообщения (промпты пользователя, результаты вызова инструментов) и ответ модели.
- Доступные инструменты — см. ниже.
Сообщения в блоке «Диалог» выводятся в хронологическом порядке. Роль (user, assistant, system, tool) и тип части сообщения (text, tool_call, tool_call_response) отображаются явно, чтобы можно было быстро проследить цепочку: запрос пользователя → ответ модели с вызовом инструмента → результат инструмента → следующий запрос к модели → финальный ответ.
Если при инструментации не передавались тексты сообщений (например, переменная OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT отключена), в ленте будут видны структура и роли, но не содержимое.
Доступные инструменты
В каждом спане генерации отображается блок Доступные инструменты: список функций или API, которые агент может вызвать в этом вызове (например, get_weather, search_menu, place_order). Данные берутся из атрибута gen_ai.tool.definitions — обычно это имена и описания инструментов в формате JSON Schema.
По этому блоку видно, какой набор инструментов видел агент в момент вызова. Если модель вызвала один из инструментов, соответствующий дочерний спан с типом операции execute_tool отображается ниже спана генерации; в нем видны параметры вызова и результат (атрибуты gen_ai.tool.call.arguments и gen_ai.tool.call.result). Подробнее о том, какие атрибуты нужны для отображения инструментов, см. в разделе «Спаны вызова инструментов».
Показатели спана
Рядом с лентой диалога и блоком инструментов выводятся ключевые показатели вызова:
- Модель — значение атрибута
gen_ai.request.modelилиgen_ai.response.model. - Токены — количество входных и выходных токенов (
gen_ai.usage.input_tokens,gen_ai.usage.output_tokens). - Длительность — время выполнения операции (длительность спана).
По ним можно быстро оценить примерную стоимость и задержку вызова, сравнить разные шаги одного трейса или разные трейсы между собой.
Фильтрация и поиск
В поиске трейсов и спанов можно использовать атрибуты GenAI так же, как любые другие: по модели, по длительности спана, по наличию ошибки. Примеры запросов для LLM-сценариев:
- по имени модели:
gen_ai.request.model="gpt-4o-mini"; - по длительности вызова:
span.duration>=5s; - по статусу:
span.status=ERROR.
Синтаксис и полный список поддерживаемых ключей приведены в разделе Язык запросов.