你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

代理跟踪概述(预览版)

重要

本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

Microsoft Foundry 提供了监视和跟踪 AI 代理的可观测性平台。 它捕获代理运行期间发生的所有内容:输入、输出、工具使用情况、重试、延迟和成本。 了解代理执行背后的原因对于故障排除和调试非常重要。 但是,由于多种原因,这对于复杂的代理而言可能很困难。这些原因包括:

  • 生成响应所涉及的步骤可能很多,因此很难跟踪所有这些步骤。
  • 步骤序列可能因用户输入而异。
  • 每个阶段的输入/输出可能很长,需要进行更详细的检查。
  • 代理运行时的每个步骤还可能涉及嵌套。 例如,代理可能会调用一个工具,后者又会使用另一个进程,然后该进程又调用另一个工具。 如果发现顶级代理运行的输出异常或不正确,则很难确切地确定是在执行中的哪个环节引入了问题。

跟踪结果可让你查看特定代理运行中涉及的每个基元的输入和输出,这些基元按调用顺序显示,从而轻松理解和调试 AI 代理的行为。

注释

代理跟踪仅在瑞典中部的 Foundry(新)可用。

Foundry 中的 OpenTelemetry

OpenTelemetry (OTel) 提供用于收集和路由遥测数据的标准化协议。 无论是使用 Foundry 基础设施还是供应商中立设置,Foundry 都支持多种用于从 OpenTelemetry 检测的智能体中收集和分析跟踪数据的方法。

跟踪关键概念概述

下面是入门前关键概念的简要概述:

重要概念 Description
跟踪 跟踪通过记录事件和状态变化(函数调用、值和系统事件)来捕获请求或工作流在应用程序中的历程。 请参阅 OpenTelemetry 跟踪
跨度 区段是跟踪的基本构建块,表示跟踪中的单个操作。 每个范围捕获开始和结束时间、属性,并且可以嵌套以显示分层关系,使你能够看到完整的调用堆栈和作序列。
特性 属性是附加到跟踪和范围的键值对,提供上下文元数据,例如函数参数、返回值或自定义注释。 这些扩充跟踪数据,使其更具信息性,并可用于分析。
语义约定 OpenTelemetry 定义语义约定,以标准化跟踪数据属性的名称和格式,以便更轻松地跨工具和平台进行解释和分析。 若要了解详细信息,请参阅 OpenTelemetry 的语义约定
跟踪导出程序 跟踪导出程序将跟踪数据发送到后端系统进行存储和分析。 Azure AI 支持将跟踪导出到 Azure Monitor 和其他与 OpenTelemetry 兼容的平台,从而实现与各种可观测性工具的集成。

扩展 OpenTelemetry 以实现多代理可观测性

Microsoft 正与 Cisco Outshift 合作,为多代理系统引入了基于 OpenTelemetry 和 W3C Trace Context 的全新语义约定,从而建立标准化实践。 这些约定对多代理者工作流的遥测进行标准化,从而支持统一的指标日志记录,以涵盖质量、性能、安全性和成本,包括工具调用和协作。

这些增强功能已集成到以下项中:

  • 铸造厂
  • Microsoft代理框架
  • 语义内核
  • LangChain
  • LangGraph
  • OpenAI 代理 SDK

若要了解详细信息,请参阅 跟踪集成

类型 上下文/父范围 名称/属性/事件 目的
跨度 execute_task 捕获任务规划和事件传播,提供对任务如何被拆解和分配的见解。
子范围 调用代理 代理之间的交互 跟踪代理之间的通信。
子范围 调用代理 代理状态管理 有效的上下文、短期或长期内存管理。
子范围 调用代理 agent_planning 记录代理的内部规划步骤。
子范围 调用代理 代理编排 捕获智能体到智能体编排。
Attribute 调用代理 工具定义 描述工具的用途或配置。
Attribute 调用代理 llm_spans 记录模型调用范围。
Attribute 执行工具 tool.call.arguments 记录在工具调用期间传递的参数。
Attribute 执行工具 tool.call.results 记录工具返回的结果。
事件 评估 (name, error.type, label) 使能对代理的性能和决策进行系统化结构评估。

最佳做法

  • 使用一致的跨度属性。
  • 将评估运行标识符关联用于质量和性能分析。
  • 修订敏感内容;避免将机密存储在属性中。