AgentOps:使用 Watsonx Orchestrate 通过 IBM® Telemetry 监控和治理 AI 智能体。

简介

随着 AI 智能体变得更加复杂和自主,了解它们的行为、性能和决策过程对于确保可靠性和治理至关重要。AgentOps,即在生产环境中监控、观察和管理 AI 智能体的实践,提供了构建可信赖的智能体式 AI 系统所需的可见性。

本教程提供设置和使用 IBM Telemetry 和 watsonx Orchestrate Developer Edition 来监控和治理 AI 智能体的分步指南。您将了解如何实现 AI 智能体的可观测性,并深入分析其行为,从单个 LLM 调用到完整的多步骤工作流。

在本教程结束时,您将能够:

  • 在本地安装和配置 WatsonX Developer Edition
  • 启用 IBM Telemetry 功能,实现全面的智能体可观测性
  • 通过外部工具集成导入并测试预配置的 AI 智能体
  • 通过详细的径迹、任务、跨距和工作流分析智能体行为
  • 使用高级分析调试问题并优化性能

什么是 IBM Telemetry?

IBM Telemetry 是 watsonx Orchestrate 的原生可观测性框架,能够捕捉关于 AI 智能体如何执行请求的详细信息。它记录智能体生命周期的每一步,从路由决策、提示构建到 LLM 调用和工具调用,提供对智能体行为的完整可见性。

IBM Telemetry 帮助您跟踪性能指标、监控 LLM 成本、识别错误,并确保您的智能体按预期运行。IBM Telemetry 提供专为规模化生产环境和 AI 系统设计的企业级可观测性。

先决条件

系统要求

开始之前,请确保系统上已安装并配置有以下必备组件:

  • Python 3.8+(通过 python --version 进行检查)
  • 最低 16 GB RAM
  • 通过 watsonx Orchestrate ADK 提供 watsonx Orchestrate Developer Edition

本指南包含 ADK 的安装步骤。

授权要求

授权步骤将在本指南后续部分提供。

步骤

步骤 1 。克隆 GitHub 存储库

若要开始,请使用 https://github.com/IBM/ibmdotcom-tutorials.git 作为 HTTPS URL 克隆 GitHub 存储库。有关如何克隆存储库的详细步骤,请参阅 GitHub 文档

在首选集成开发环境 (IDE)(例如 Visual Studio Code)中打开存储库,然后找到本教程的项目文件夹:wxo-agentops 。在继续操作时,您将在该目录中操作。

步骤 2. 安装 Watsonx Orchestrate ADK

IBM watsonx Orchestrate Agent Development Kit (ADK) 是一款 CLI 工具,可简化 IBM watsonx Orchestrate Developer Edition 的安装、配置和管理。

要使用 ADK,您必须将其连接到现有的 watsonx Orchestrate 环境。 如果您还没有 watsonx orchestrate 账户,可以注册获得免费 30 天试用。如果您已拥有一个帐户,则可以使用该帐户提供 ADK 所需的环境凭据。

这些步骤将指导您使用 Python 虚拟环境进行安装,这是保持依赖项隔离的推荐方法。有关替代安装方法和详细说明,请参阅 ADK 入门文档。

2a. 创建您的虚拟环境

在项目目录中创建新的 Python 虚拟环境:

python -m venv .venv

 

此步骤将创建一个 .venv 文件夹,其中包含隔离的 Python 环境。

2b. 激活您的虚拟环境

激活命令因操作系统而异。

macOS 和 Linux

source ./.venv/bin/activate

 

Windows

.\.venv\Scripts\activate

 

激活后,您的终端提示应该发生变化(通常在提示的开头显示 (.venv )),表明您正在虚拟环境中工作。

2c. 安装 Watsonx Orchestrate ADK

激活虚拟环境后,使用 pip 安装 ADK:

pip install ibm-watsonx-orchestrate

 

此命令将下载并安装 ADK 及其所有依赖项。安装过程大约需要几分钟才能完成。

备注:如果您安装了较早版本的 ADK(>2.0 ),请运行pip install --upgrade ibm-watsonx-orchestrate 。您可能还必须运行步骤 4b 中的故障排除步骤。

步骤 3. 配置您的环境

ADK 使用.env文件来认证用户凭据并配置 watsonx Orchestrate Developer Edition。需要的环境变量取决于您选择的身份验证方法。本教程使用 Watsonx Orchestrate 帐户方法,这是最直接的入门方法。

有关替代认证方法和详细配置说明,请参阅配置您的环境文件文档。

步骤 3a. 创建 .env 文件

在 wxo-agentops 目录下,通过复制提供的模板来创建一个.env 文件

cp env.template .env

步骤 3b. 配置必填字段

在文本编辑器中打开 .env 文件并配置以下两个基本字段:

  • WO_INSTANCE : 此 URL 是您的 watsonx Orchestrate 实例。您可以通过记录到您的 watsonx Orchestrate 账户并访问实例详情来获取这些信息。点击您的个人资料图标 > 设置,然后选择API 详细信息选项卡。关于如何开始使用该 API 的详细说明,可以查看 watsonx Orchestrate 文档

URL 格式如下:

WO_INSTANCE=https://api.us-south.watson-orchestrate.cloud.ibm.com/instances/<your-instance-id>

复制并粘贴服务实例 URL,以替换 .env 文件中的模板值。地区(例如,us-south 取决于您的地理位置)。

  • WO_API_KEY :此密钥是您的 watsonx Orchestrate 应用程序编程接口 (API) 密钥,用于验证您与 IBM® Cloud 服务的连接。您可以从 IBM Cloud 帐户仪表板生成或检索此密钥。将 <your-api-key> 替换为您的实际 API 密钥。关于生成 API 密钥的逐步说明,请参阅入门文档
WO_API_KEY=<your-api-key>

请妥善保管您的 API 密钥,切勿将其提交到版本控制系统中。.env 文件应该已经包含在您的.gitignore 中,以防止意外暴露。

步骤 4. 安装 Watsonx Orchestrate 服务器并启用 IBM Telemetry 功能

现在,您准备好安装 watsonx Orchestrate Developer Edition,它将在您的机器上运行本地的 watsonx Orchestrate 服务器实例。此步骤还可启用 IBM Telemetry,以便您立即使用可观测性功能。

了解安装命令

ADK 提供一个命令来处理整个安装过程:

orchestrate server start -e <path-.env-file> --with-ibm-telemetry

我们来解析一下这个命令的作用:

  • orchestrate server start :初始化并启动 watsonx Orchestrate Developer Edition 服务器
  • -e <path-.env-file> :指向包含凭据的配置文件
  • --with-ibm-telemetry : 启用 IBM Telemetry 功能的原生可观测性框架

4a. 运行安装程序

从 wxo-agentops 目录中执行以下命令:

以下命令通过初始化服务器环境启动 watsonx Orchestrate Developer Edition 服务器:orchestrate server start -e <path-.env-file> 。添加 --with-ibm-telemetry 标志将启用 IBM Telemetry,即其原生可观测性框架。

运行以下命令安装带有 IBM Telemetry 的 watsonx Orchestrate 服务器:

orchestrate server start -e .env --with-ibm-telemetry

 

此命令创建由 ADK 管理的内部容器,用于:

  • watsonx Orchestrate 服务器
  • PostgresSQL 和 Redis 数据库
  • IBM Telemetry 服务
  • 支持依赖关系

ADK 会自动配置一个虚拟网络,允许这些容器在 http://localhost:3000 上相互通信。

步骤 4b. 验证安装是否成功

安装过程可能需要几分钟时间,尤其是在首次运行时,因为需要下载必要的映像。成功的安装会产生类似于以下示例的输出:

[INFO] - Waiting for orchestrate server to be fully initialized and ready...
[INFO] - Orchestrate services initialized successfully
[INFO] - local tenant found
[INFO] - You can run `orchestrate env activate local` to set your environment or
`orchestrate chat start` to start the UI service and begin chatting.

如果看到这条信息,恭喜您!您的本地 watsonx Orchestrate 环境(含 IBM Telemetry)现已运行。

安装故障排除

如果安装失败或卡住,请尝试以下步骤:

1.    重置服务器:

orchestrate server reset

此命令会停止并删除为 watsonx Orchestrate 创建的所有容器,从而为您提供一个干净的环境。

2. 重启安装

重置完成后,再次运行启动命令:

orchestrate server start -e .env --with-ibm-telemetry

 

3.    检查服务器日志容器状态

您可以查看 Orchestrate 服务器的服务日志,以检查是否存在警告或错误:

orchestrate server logs

 

如果上述步骤不起作用,请重置服务器并完全删除服务器环境:orchestrate server purge 并重新安装。

步骤 5. 激活您的本地环境并启动服务

成功安装 watsonx Orchestrate 服务器后,现在需要激活本地环境并启动聊天界面,以便与 AI 智能体进行交互。

激活本地的 watsonx Orchestrate 环境

watsonx Orchestrate ADK 支持多种环境(本地、开发、生产等)。您需要显式激活您创建的本地环境:

orchestrate env activate local

您应收到环境处于活动状态的确认信息:

[INFO] - local tenant found
[INFO] - Environment ‘local’ is now active

此操作会将本地环境设置为所有后续 ADK 命令的默认上下文。您使用的任何智能体、工具或配置现在都将以该本地实例为目标。

启动 watsonx Orchestrate 聊天界面

用以下命令启动 watsonx Orchestrate 聊天 UI 服务:

orchestrate chat start

此命令将初始化基于 Web 的聊天界面,并自动在您的默认浏览器中将其打开。您应该看到类似以下内容的输出:

[INFO] - Chat UI Service started successfully.
[INFO] - Waiting for UI component to be initialized...
[INFO] - Opening chat interface at http://localhost:3000/chat-lite

聊天界面提供了与 AI 智能体交互的简单方法。如果浏览器没有自动打开,您可以手动导航到http://localhost:3000/chat-lite.

验证接口正在运行

聊天界面加载完毕后,您应该会看到一个干净的聊天窗口,可以进行互动。在这一阶段,您还没有导入任何智能体,因此界面大部分是空的。该结果在预期中,您将在后续步骤中添加第一个智能体。

步骤 6. 导入气象智能体和工具来测试 IBM Telemetry

现在,您的环境已经设置完毕,是时候导入一个预配置的 AI 智能体了,该智能体用于演示 IBM Telemetry 的监控功能。该天气智能体使用外部 API 工具来获取实时天气数据,为您提供观察和分析的实用示例。

为什么首先要找天气智能体?

天气智能体是一个理想的起点,因为它:

  • 演示工具使用方法:展示智能体如何调用外部 API
  • 提供清晰且可观测的行为:每个请求都遵循可预测的模式
  • 生成有意义的遥测数据:生成丰富的跟踪信息,您可以在 IBM Telemetry 系统中进行分析
  • 包含错误情景:帮助您理解遥测如何处理故障
  • 演示自动化:通过智能体操作消除手动数据查找

步骤 6a. 导航至天气智能体目录

从项目根目录 (wxo-agentops ) 导航至 Weather Agent 文件夹:

cd weather_agent

该目录包含两个 YAML 配置文件:

  • get_weather.yaml :定义天气 API 工具
  • weather_agent.yaml :定义使用此工具的智能体

步骤 6b. 导入天气工具

工具是智能体调用以执行特定操作的可重用功能。首先导入 get_weather 工具:

orchestrate tools import -f get_weather.yaml --kind openapi

--kind openapi 标志表明此工具使用 OpenAPI 规范来定义其接口。您应该会看到工具已成功导入的确认信息。

步骤 6c. 导入天气智能体

现在导入将使用该工具的智能体:

orchestrate agents import -f weather_agent.yaml

此命令可在本地 watonsx Orchestrate 环境中注册天气智能体。该智能体预配置如下:

  • 关于如何解读天气数据的说明
  • 允许调用get_weather 工具
  • 无效位置的回退行为

步骤 6D. 在聊天界面激活智能体

回到正在运行聊天界面的浏览器。您可能需要刷新页面才能看到新导入的智能体。

点击智能体下拉菜单(通常位于聊天界面顶部),从列表中选择 Weather_Agent

IBM watsonx Orchestrate 用户界面的屏幕截图,显示了一个活跃的 “Weather\_Agent” 聊天、欢迎消息以及建议的操作,例如正式确定消息和总结会议记录。

测试智能体

选择 Weather Agent 后,尝试提出一些问题来生成遥测数据:

查询示例

  • “纽约市的天气怎么样?”
  • “您能告诉我伦敦现在的温度吗?”
  • “东京天气怎么样?”
  • “西雅图现在正在下雨吗?”

智能体将通过以下方式处理每个请求:

  1. 了解您的查询
  2. 正在提取位置
  3. 使用适当的坐标调用 get_weather 工具
  4. 解读天气数据
  5. 用自然语言回答
IBM watsonx Orchestrate 界面截图,显示与天气智能体的对话。该智能体提供的纽约市气温为 9.8°C (49.64°F),洛杉矶气温为 15.1°C。当被问及亚特兰蒂斯的温度时,智能体回答说不知道那个位置。

幕后究竟发生了什么?

您与天气智能体的每一次互动都会被 IBM Telemetry 捕获。系统正在记录:

  • 完整的对话背景
  • 每次 LLM 调用及使用的词元
  • 工具调用及其输入和输出
  • 路由决策和工作流步骤
  • 执行时间和性能指标
  • 发生的任何错误或异常
  • 与外部提供商的交互及其响应时间

在后续步骤中,您将深入了解这些遥测数据,以准确了解您的智能体的行为方式。

步骤 7. 在 IBM Telemetry 中分析智能体的行为

下面是本教程最强大的部分:使用 IBM Telemetry 深入了解智能体的行为。IBM Telemetry 提供多种视图和分析工具,让您了解智能体处理请求的方方面面。

步骤 7a. 访问 IBM Telemetry 接口

打开浏览器,导航到 https://localhost:8765/?serviceName=wxo-server。界面提供会话重播功能,让您可以重新访问过去的智能体交互进行分析。

注:URL 使用https ,但由于该空间是本地开发环境,浏览器可能会显示关于自签名证书的安全警告。这是预期中的消息,在您的本地环境中忽略此消息是安全的。

步骤 7b. 登录 IBM Telemetry

当登录界面出现时,输入任意名称(以识别您的本地会话),然后点击登录。

智能体分析仪表板(本地服务器)登录界面的屏幕截图。它有一个“名称:”输入字段,其中输入了“abc”,还有一个“登录(本地)”按钮。

您将进入 IBM Telemetry 主仪表板。

步骤 7c. 导航至“跟踪和分组选择”视图

仪表板显示最近跟踪的列表,每条代表用户与智能体的单次交互。点击“轨迹和群组选择”面板中的第一个轨迹,查看有关您最近与天气智能体聊天的详细分析。

“智能体分析”Web 应用程序的“径迹和组选择”仪表板的屏幕截图。界面显示搜索栏和一个按 ID 列出多个径迹的表格,以及状态列(“完成”或“未启动”)、跨距数和“启动!”操作按钮。

此步骤将带您进入智能体分析屏幕,该屏幕是了解智能体行为的中心枢纽。

了解智能体分析屏幕

“智能体分析”屏幕提供所选径迹的概述,包括:

  • 统计摘要:总执行时间、令牌使用量、成本估算和基准测试数据
  • 智能体信息:哪个智能体处理了该请求
  • 用户查询:最初的问题
  • 回复预览:智能体的最终回答
  • 状态指示器:成功、警告或错误
“智能体分析”用户界面屏幕截图,版本 0.14.9 (alpha)。仪表板显示特定径迹 (ID 5b28de0b...9462) 的性能指标,包括:指标、任务轨迹、导航、用户信息

这种高层次的视角可以让您立即获得洞察分析,判断智能体是否按预期运行以及其运行效率如何。

深入评论:观察智能体任务

您将在“任务”部分花费大部分时间分析智能体行为。它以可视化的方式逐步展示了智能体在请求期间所做的每一件事(每次 LLM 调用、工具调用、路由决策和输出生成)。

任务按层级组织,反映智能体实际执行工作流的方式,便于理解运营及其关系。

显示任务时间线和详细信息面板的软件界面屏幕截图。时间线显示了 agent_style_router 和 WatsonxChatModel.chat 等任务及其持续时间和依赖关系。
分解天气智能体任务工作流

让我们来看一下 watsonx Orchestrate 智能体请求的标准执行路径。您的 Weather Agent 径迹应显示类似于以下示例的结构:

0:_ROOT
0.0:agent_style_router # Routes the request
0.1:agent # Prepares prompt + logic
0.1.0:WatsonxChatModel.chat # LLM processes the request
0.2:answer # Sends final answer to user

此工作流展示了单个用户查询的整个生命周期。以下是各项任务的具体内容:

  • 0:_ROOT :包含所有子任务的顶级跨距。可以将这个文件夹视作存放整个智能体执行过程的文件夹。它定义完整径迹的开始和结束时间,从请求进入系统到最终响应交付。

这种方法很重要,因为根任务的持续时间告诉您用户经历的总延迟。如果数量过高,您可以分析其子任务以确定瓶颈。

  • 0.0:agent_style_router :路由任务确定由哪个智能体应该处理消息,并将请求分类为相应的处理方式。路由器分析来电请求,决定是否需要对话处理、工具驱动执行、检索增强生成(RAG)或多智能体编排。

路由器确保调用正确的下游逻辑。如果请求被错误路由,您可以在此处找出问题所在。

  • 0.1:agent :编排整个请求的主要智能体执行上下文。此任务汇集系统交互的提示、对话历史和工具响应。它应用编排规则和策略,并为 LLM 准备输入。此任务决定要进行哪种类型的 LLM 调用。

这一步是编排“智能”发挥的地方。智能体任务可确保 LLM 获得做出明智决策所需的所有上下文。

  • 0.1.0:WatsonxChatModel.chat :对 LLM 的实际调用,在那里它会收到完整的提示并决定是调用工具、要求澄清还是直接给出答案。它通过文本或结构化工具调用生成响应。

此步骤是模型处理信息并做出决策的“思考”步骤。令牌使用、延迟和质量问题都源于此任务。如果您的智能体运行缓慢或成本高昂,这通常是主要原因。

  • 0.2:answer :链条中的最后一步是对 LLM 的输出进行格式化,以便交付。此任务将 LLM 的原始输出转换为最终答案格式,并应用任何后处理或格式规则。最后,它将响应传递回聊天界面。

此任务旨在确保用户收到格式正确的响应。如果答案被截断或格式不正确,您需要在此步骤进行调查。

任务工作流程摘要

总结整个工作流:

  1. 路由器决定如何处理请求
  2. 智能体准备上下文和编排逻辑
  3. LLM 生成响应或工具调用
  4. 答案格式化并返回最终输出

所有工作流都包含在 ROOT 请求容器下,从而为您提供智能体从开始到结束的执行完整视图。这种级别的可观测性对于大规模管理智能体运营和复杂管道的 MLOps 和 DevOps 团队至关重要。

理解任务属性

层级结构中的每个任务都包含三类属性,这些属性提供有关任务使用和产生内容的详细元数据:

1.    输入属性:显示任务执行前收到的所有信息:消息、工具响应、系统指令、内部状态。

例如:对于 WatsonxChatModel.chat 任务,输入属性包括完整组装的提示,带有系统指令、对话历史以及需要解释的工具结果。

2.    输出属性:显示任务的产出,包括:LLM 完成情况、工具调用和决策。

示例:相同的 WatsonxChatModel.chat 任务可能会输出自然语言响应或结构化工具调用,比如 get_weather(latitude=40, longitude=-74)

3. 通用属性:提供遥测元数据:令牌使用情况、时序信息、标识符如唯一 ID 和模型信息。

示例:您可能会看到一个任务使用了 450 个输入词元和 120 个输出词元,执行时间为 1.2 秒,并且使用了 ibm/granite-3.1-8b-instruct model

如何使用任务属性

综合来看,这些属性让您可以全面了解模型看到了什么,它做出了什么决定,以及它如何回应。

这种详细程度对于调试、优化和验证非常宝贵。

了解任务指标

每项任务都包含与性能和成本相关的指标,以总结任务的执行情况。这些指标提供有关智能体性能的定量数据。

关键指标包括:

  • 总执行时间:从头到尾任务花了多长时间
  • LLM 调用次数:语言模型被调用的次数
  • 工具调用次数:外部工具被调用了多少次
  • 词元使用情况:输入词元、输出词元和总词元消耗量
  • 费用估算:基于词元使用情况的近似成本(当有价格数据可用时)
  • 子任务分配:工作如何在各个子任务之间分配

这些指标可帮助您优化性能和调试智能体行为。它们还可以帮助识别可以并行化或缓存的慢速任务。该视图对于容量规划至关重要,因为它能帮助您了解扩展所需的资源,并跟踪词元使用情况以控制支出。

例如,如果您注意到一次跟踪需要 8 秒,但 LLM 调用只花费 0.5 秒,就可以知道瓶颈在其他地方(可能在工具执行或网络延迟中)。

了解智能体跨距

任务显示了智能体的逻辑工作流程,而跨距则表示执行期间发生的底层系统级操作。点击“跨距”标签页可以显示平台内部处理每个请求的具体操作。

IBM Watsonx Orchestrate 性能监控仪表盘的截图,显示了类似甘特图的 LangGraph.工作流程视图,包含多个嵌套任务及其执行时间,包括 agent_style_router.task、agent.task、invoke_agent.task、ChatPromptTemplate.task、watsonxChatModel.chat 和 answer.task。总时长约为 1.44 秒。

“跨距”提供了对编排框架(此处为 LangGraph,一种运行在 wxo-server 内部的开源框架)记录的低层执行步骤的可见性。每个跨距代表一个独立的操作,例如:

  • 将请求路由到正确的智能体 (agent_style_router)
  • 调用智能体并初始化其上下文 (agent.task )
  • 根据模板构建提示和上下文 (ChatPromptTemplate.task )
  • 调用使用汇编提示词的LLM(WatsonxChatModel.chat
  • 返回结果给用户 (answer.task )

 

跨距与任务有何不同

任务显示智能体执行的逻辑步骤(智能体试图完成的目标),而跨距则显示技术步骤(系统如何完成)。这种双重视图既能为您提供高层次的理解,又能提供低层次的调试功能。

示例:0.1:agent 这样的单一任务可能包含多个跨距,代表数据库查询、缓存查找和配置加载。这些操作在后台进行,以支持智能体的执行。

理解跨距标签

每个跨距都包含提供额外元数据和上下文的标签。这些标签对于过滤、调试和分析性能至关重要。

常见的跨距标签包括:

  • 智能体标识: agent_idagent_name
  • 会话跟踪:thread_idsession_idconversation_id
  • 工作流上下文:step_numberworkflow_pathparent_span_id
  • 性能数据:token_countduration_msmodel_name
  • 请求详情:tool_callsinput_previewoutput_preview
使用跨距进行调试

跨距在以下方面很有用:跟踪延迟,通过查看哪个内部组件发生故障来了解故障,通过按标签过滤跨距来识别趋势来分析模式,以及通过使用会话 ID 链接多个跟踪的跨距来进行交叉引用。

例如,如果您的智能体偶尔会挂起,您可以按持续时间筛选跨距,以确定哪些内部操作耗时过长,例如数据库查询或对外部服务的网络调用。

使用“工作流”标签来可视化执行

“工作流”选项卡提供了一个名为“可运行程序树”的层次化可视化界面,显示了智能体工作流的完整执行结构。这种视图对于理解复杂的多智能体系统和嵌套执行模式特别有用。

工作流管理界面的屏幕截图。界面显示一个垂直流程图,其中包含顺序节点:“start”、“Agent_style...”、“Agent.task”、"Answer.task",和“结束”,展示了一个简单的工作流。左侧边栏以树形结构列出可运行的任务。
什么是可运行对象?

在 Watsonx Orchestrate 框架中,可运行对象是可以执行的工作单元或任务。可运行实体可以是:

  • 简单操作:一次 LLM 调用或工具调用
  • 复合工作流:多个可运行程序串联在一起
  • 条件分支:基于条件的不同执行路径
  • 并行执行:多个可运行程序同时运行
了解树状结构

可运行树显示了父子关系,使其易于查看:

  • 哪些任务会触发其他任务:追踪执行链
  • 并行执行与顺序执行:理解工作流并发性
  • 分支逻辑:决策如何导致不同的执行路径
  • 工作流深度:智能体逻辑的嵌套深度
当工作流变得至关重要时

对于像天气智能体这样的简单智能体,工作流视图与任务视图非常相似。然而,当您使用以下工具时,工作流程就显得尤为重要:

  • 多智能体系统:多个专门智能体协作完成一项任务。
  • 复杂编排:能够动态选择不同工具或子智能体的智能体
  • 迭代优化:智能体会循环步骤直到满足某个条件
  • 条件路由:根据中间结果进行分支的工作流
  • 可扩展架构:设计高效处理真实负载的工作流

例如,假设一个智能体首先检查查询是否需要网络搜索,然后决定使用计算器工具还是数据库查询工具,最后在响应之前验证结果。“可运行对象树”清晰展示完整分支结构。

使用工作流视图

您可以通过以下方式与树交互:

  • 展开/折叠节点:聚焦于特定的工作流部分
  • 点击节点:跳转至详细任务信息
  • 跟踪执行路径:追踪数据如何流经窗口
  • 找出瓶颈:发现工作流中效率低下的地方

与尝试仅跟踪文本日志或仅跟踪径迹数据相比,可视化使调试工作流大幅简化。

高级分析:评估选项卡

评估标签页提供质量保证和监控视图,衡量智能体执行的正确性和可靠性。这一步骤是从观察发生了什么转向评估这件事发生得如何

某 Web 应用程序“评估结果”表格的屏幕截图。

“评估”选项卡显示通过护栏评估质量的评估结果:

  • 任务成功率:哪些任务已完成,哪些任务失败
  • 输出质量:输出是否符合预期结果或质量标准
  • 性能评分:衡量成功水平的定量指标
  • 错误分析:故障的分类和严重程度
  • 用例验证:智能体行为是否与预期用例相匹配

评估通过跟踪智能体产生正确结果的一致性来帮助您监控可靠性,确定更改何时会降低智能体性能,确定改进的优先顺序,并通过在生产部署之前验证智能体是否正常工作来建立信心。

您可以利用评估度量设置提醒、跟踪改进、识别模式,并利用反馈来指导改进提示或工具的开发工作。

如果您注意到 15% 的天气查询评估失败,您可以调查这些具体跟踪,了解问题是否出在错误的输入处理、API 故障或不正确的响应格式上。

识别“问题”选项卡中的问题

问题选项卡提供工作流程执行期间出现的所有错误的集中视图。此选项卡是您调试智能体故障或意外行为时的第一站。

Web 应用程序“智能体分析”界面的屏幕截图,显示“工具错误”问题的详细信息。该屏幕显示了 LLM 调用 (1)、工具调用 (3)、输入词元 (1950) 和输出词元 (117) 等指标。该表列出了一个错误级别的“工具错误”,与任务“81a85b6643291a31”有关。

“问题”选项卡会列出以下问题:

  • 失败的 API 调用:外部服务返回错误
  • 工具执行失败:崩溃或超时的工具
  • 缺少输入:所需数据在需要时无法提供
  • 模型异常:LLM 错误,例如词元限制或无效输入
  • 验证错误:数据不符合预期格式
  • 超时错误: 运营超出时间限制
  • 未处理的运行时故障:智能体代码中的意外异常

在上面的屏幕截图中,您可以看到当天气 API 返回 424(依赖失败)或 404(未找到)错误时,出现了工具错误。问题选项卡显示:

  1. 错误类型:“工具错误”
  2. 具体工具: get_weather
  3. 错误响应:显示失败的完整 API 响应
  4. 直接链接:点击即可跳转到失败的具体任务

这种方法可以让用户无需翻阅日志或跟踪数据,即可轻松了解哪里出了问题。

“问题”选项卡尤其有价值,因为它可以汇总故障,而不用强迫您搜索各个任务。它通过包含完整的错误细节和相关数据,提供完整的背景信息,同时严重程度级别允许快速分类,从而优先处理哪些问题。通过与源任务的直接链接,只需单击一下即可跳转到出错的确切执行点。

通过“轨迹”选项卡了解智能体行为

轨迹选项卡以按时间排序、对话式的视图显示用户与智能体调用的任何工具之间的智能体交互。这种视图对于理解智能体行为的全部背景和流程非常宝贵。

显示智能体工作流日志的用户界面屏幕截图。用户询问“纽约市的温度是多少?”。助手指定纬度“40”和经度“-74”对天气预测功能执行工具调用,然后响应用户。界面显示多种参数,包括时长 1368 毫秒和启动日期为 2025 年 11 月 24 日。

轨迹视图很有用,因为它允许您准确查看智能体如何从头到尾处理请求,从而使您可以全面了解智能体行为。您可以通过确保使用正确的参数调用工具并收到适当的响应来验证工具整合。在调试意外响应时,轨迹分析可助您追踪逻辑与预期的偏差所在。您还可以分析上下文如何在多个对话轮次中构建,观察工作流的自然演变。除了调试之外,轨迹还可以作为文档,让您捕获正确行为的示例,这些示例可以与团队成员共享,或用作未来开发的参考案例。这种观点对于使用生成式 AI 进行建设的团队特别有价值,他们需要验证智能体在不同场景下的适应性。

轨迹剖析

让我们一起来看一下屏幕截图所示的 Weather Agent 的轨迹:

1.    用户查询

User: “What’s the weather like in NYC?”

对话从一个关于纽约市天气的清晰、具体的请求开始。

2.智能体发出工具调用

智能体认识到它需要外部数据并调用天气工具:

{
“current_weather”: “true”,
“latitude”: “40”,
“longitude”: “-74”
}

此示例表明,智能体正确识别了纽约市的大致坐标,正确构建了对 API 的请求,并为当前天气设置了适当的标志。

IBM Telemetry 以原始 JSON 和解析良好的可展开树状视图两种方式显示此结果。

3. 工具返回数据

天气 API 使用结构化天气数据进行响应:

{
“temperature”: “7.8”,
“temperature_unit”: “celsius”,
“time”: “2024-01-15T14:30:00”,
“weather_code”: “partly_cloudy”,
“wind_speed”: “15”,
“wind_speed_unit”: “kmh”
}

此示例表明该工具成功检索了数据,响应遵循预期模式,并且所有必填字段都存在。能够检查原始工具响应对于调试智能体误解工具输出的问题至关重要。

4.智能体汇总结果

最后,智能体处理结构化数据并自然地做出响应:

Agent: “The weather in NYC is 7.8°C…”

该智能体正确提取了温度和天气代码,并将结构化数据转换为自然语言。该响应简洁明了,回答了用户的问题。

关键轨迹功能

“轨迹”选项卡还支持按角色过滤,可以仅查看用户消息、智能体消息或工具交互。您还可以展开和折叠长对话的某些部分,以专注于对您重要的细节。为了进一步分析或调试,您可以将数据导出为 JSON,以便从轨迹步骤跳转到链接任务以获取相应的详细信息。

总结

恭喜!您已经使用 watsonx Orchestrate 成功设置了 IBM Telemetry,并学会了如何深入监控和分析 AI 智能体的行为。IBM Telemetry 提供多层可见性,让您可以全面观测 AI 智能体的思考、决策和行动方式。您所了解的这些功能,对于在生产环境中有效管理智能体运行的生命周期,或与您环境中的其他智能体框架集成,均至关重要。

如果遇到问题或有任何疑问,请查阅文档。故障排除指南涵盖了大多数常见问题。您还可以查看 GitHub 问题,看看其他人是否遇到过类似的问题。

通过 IBM Telemetry 等平台进行智能体监控,为 AgentOps 打造了一个强大的生态系统,随着自主智能体承担更复杂的任务,这些任务涉及集成 SDK、工具和外部 API,这一生态系统变得不可或缺。您对智能体行为的可视化使您能够创建更可靠、高效且值得信赖的 AI 系统。

Vanna Winland

AI Advocate & Technology Writer

相关解决方案
商用 AI 智能体

构建、部署和管理强大的 AI 助手和智能体,运用生成式 AI 实现工作流和流程自动化。

    探索 watsonx Orchestrate
    IBM AI 智能体解决方案

    借助值得信赖的 AI 解决方案,您可以勾勒未来业务发展蓝图。

    深入了解 AI 智能体解决方案
    IBM Consulting AI 服务

    IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

    探索人工智能服务
    采取下一步行动

    无论您是选择定制预构建的应用程序和技能,还是使用 AI 开发平台构建和部署定制代理服务,IBM watsonx 平台都能满足您的需求。

    1. 探索 watsonx Orchestrate
    2. 深入了解 watsonx.ai