Обзор трассировки агента

Важно

Элементы, помеченные (предварительная версия) в этой статье, в настоящее время находятся в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или могут иметь ограниченные возможности. Дополнительные сведения см. в разделе Supplemental Terms of Use for Microsoft Azure Previews.

Примечание

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

Microsoft Foundry предоставляет платформу наблюдения для мониторинга и отслеживания агентов ИИ. Он записывает ключевые детали во время выполнения агента, такие как входные данные, выходные данные, использование инструментов, повторные попытки, задержки и затраты. Понимание логики выполнения действий вашего агента важно для устранения неполадок и отладки. Однако понимание сложных агентов представляет проблемы по нескольким причинам:

  • Существует большое количество шагов, связанных с созданием ответа, что затрудняет отслеживание всех из них.
  • Последовательность шагов может отличаться в зависимости от входных данных пользователя.
  • Входные и выходные данные на каждом этапе могут быть длинными и заслуживают более подробной проверки.
  • Каждый шаг среды выполнения агента также может включать вложение. Например, агент может вызвать средство, которое использует другой процесс, который затем вызывает другое средство. Если вы заметите странные или неправильные результаты работы верхнеуровневого агента, может быть сложно точно определить, где в процессе выполнения возникла проблема.

Результаты трассировки позволяют просматривать входные и выходные данные каждого примитива, связанного с определенным запуском агента, отображаемым в том порядке, в котором они были вызваны, что упрощает понимание и отладку поведения агента ИИ.

Необходимые условия

Чтобы использовать сквозную трассировку, вам потребуется:

  • Проект Foundry с включенной трассировкой. См. раздел Как настроить трассировку в Microsoft Foundry.
  • Доступ к ресурсу Application Insights, подключенного к проекту. Дополнительные сведения см. в разделе Azure Monitor Application Insights.
  • Роль читателя Log Analytics для просмотра трассировок, аналитических сведений и визуализаций в Foundry.

Примечание

Трассировка хранит данные телеметрии в Azure Monitor Application Insights, что может повлечь расходы в зависимости от объема данных и настроек хранения. Сведения о ценах см. в разделе "Цены на Application Insights".

OpenTelemetry в Foundry

OpenTelemetry (OTel) предоставляет стандартные протоколы для сбора и маршрутизации данных телеметрии. Foundry использует семантические соглашения OpenTelemetry, чтобы трассировки соответствовали поддерживаемым средствам и интеграции.

Отслеживание ключевых концепций

Ниже приведен краткий обзор ключевых понятий перед началом работы:

Основные понятия Описание
Следы Трассировки фиксируют путь запроса или рабочего процесса через ваше приложение путем фиксации событий и изменений состояния (вызовы функций, значения, системные события). См. OpenTelemetry Traces.
Диапазоны Спаны — это основные элементы трассировок, представляющие собой отдельные операции в рамках одной трассировки. Каждый диапазон фиксирует время начала и окончания, атрибуты и может быть вложен для отображения иерархических связей, что позволяет увидеть полный стек вызовов и последовательность операций.
Атрибуты Атрибуты — это пары "ключ-значение", присоединенные к трассировкам и диапазонам, предоставляющие контекстные метаданные, такие как параметры функции, возвращаемые значения или пользовательские заметки. Эти обогащения данных трассировки делают их более информативными и полезными для анализа.
Семантические соглашения OpenTelemetry определяет семантические соглашения для стандартизации имен и форматов атрибутов данных трассировки, что упрощает интерпретацию и анализ между инструментами и платформами. Дополнительные сведения см. в семантических соглашениях OpenTelemetry.
Экспортеры трассировки Экспортеры трассировки отправляют данные трассировки в серверные системы для хранения и анализа. В Foundry трассировки хранятся в Azure Monitor Application Insights. Сведения о том, как включить и просмотреть трассировки, смотрите в статье Как настроить трассировку в Microsoft Foundry.

Как работает трассировка в Foundry

Трассировка помогает ответить на такие вопросы, как "Откуда пришел этот ответ?" и "Какой шаг представил ошибку или пик задержки?"

На высоком уровне трассировка фиксирует:

  • Входные данные пользователя и выходные данные агента.
  • Использование инструментов, включая вызовы и результаты инструментов.
  • Использование токенов
  • Сигналы времени, такие как длительность и задержка.

После включения трассировки для проекта можно проверить трассировки на портале Foundry и в Azure Monitor Application Insights. Пошаговую настройку и параметры просмотра см. в разделе Настройка трассировки в Microsoft Foundry.

Расширение OpenTelemetry с поддержкой мультиагентного наблюдения

Microsoft в сотрудничестве с Cisco Outshift ввели новые семантические соглашения для многоагентных систем, созданных на основе OpenTelemetry и Контекста трассировки W3C. Эти соглашения стандартизуют данные телеметрии для рабочих процессов с несколькими агентами, обеспечивая согласованное ведение журнала метрик для качества, производительности, безопасности и затрат, включая вызовы инструментов и совместную работу.

Эти усовершенствования интегрируются в:

  • литейное производство
  • платформа агента Microsoft
  • LangChain
  • LangGraph
  • Пакет SDK для агентов OpenAI

Дополнительные сведения см. в статье об интеграции трассировки.

В следующей таблице описаны семантические соглашения для наблюдаемости нескольких агентов. Диапазоны фиксируют дискретные операции, дочерние диапазоны показывают вложенные операции в рамках родительского диапазона, атрибуты предоставляют метаданные, а события помечают значительные события во время выполнения.

Тип Контекст или родительский диапазон Имя/Атрибут/Событие Цель
Промежуток выполнить_задачу Записывает планирование задач и распространение событий, предоставляя аналитические сведения о том, как задачи декомпоируются и распределяются.
Дочерний диапазон invoke_agent взаимодействие_агент_с_агентом Трассирует коммуникацию между агентами.
Дочерний диапазон invoke_agent agent.state.management Эффективное использование контекста, кратковременное или долгосрочное управление памятью.
Дочерний диапазон invoke_agent планирование агента Регистрирует внутренние шаги планирования агента.
Дочерний диапазон invoke_agent оркестрация агента Осуществляет координацию между агентами.
Атрибут invoke_agent определения_инструмента Описывает назначение или конфигурацию средства.
Атрибут invoke_agent llm_spans Записывает интервалы вызова модели.
Атрибут execute_tool tool.call.arguments Регистрирует аргументы, передаваемые во время вызова средства.
Атрибут execute_tool Инструмент.вызов.результаты Записывает результаты, возвращаемые средством.
Событие Оценка (имя, error.type, метка) Включает структурированную оценку производительности агента и принятия решений.

Лучшие практики

  • Используйте согласованные атрибуты диапазона: применяйте одинаковые имена и форматы атрибутов ко всем агентам и средствам, чтобы упростить запросы и анализ.
  • Сопоставьте идентификаторы запусков оценки: Свяжите данные трассировки с запусками оценки, чтобы анализировать качество и производительность в едином представлении.
  • Редактировать конфиденциальное содержимое: удалите или маскируйте персональные данные, секреты и учетные данные из запросов, аргументов инструментов и атрибутов диапазона, прежде чем они достигают данных телеметрии.

Безопасность и конфиденциальность

Трассировка может записывать конфиденциальную информацию (например, входные данные пользователя, выходные данные модели и аргументы и результаты инструментов). Используйте следующие методики для снижения риска:

  • Не сохраняйте секреты, учетные данные или токены в запросах, аргументах инструментов или атрибутах области.
  • Перед появлением в телеметрии редактируйте или сведите к минимуму персональные данные и другое конфиденциальное содержимое.
  • Обрабатывать данные трассировки как рабочую телеметрию и применять те же политики управления доступом и хранения, которые используются для журналов и метрик.

Устранение неполадок

Если трассировки не отображаются на портале Foundry или Application Insights:

  • Убедитесь, что проект Foundry подключен к ресурсу Application Insights.
  • Убедитесь, что у вашей учетной записи есть необходимые разрешения для запроса телеметрии.
  • Убедитесь, что код агента включает всю необходимую инструментацию. Сведения о настройке для конкретной платформы см. в разделе "Интеграция трассировки".

Совет

Трассировка доступна во всех регионах, где поддерживается Foundry. Отслеживание хранения и выборки данных следует конфигурации Application Insights. Для получения подробной информации см. раздел Хранение данных и архивирование в журналах Azure Monitor.