随着 AI 智能体变得更加复杂和自主,了解它们的行为、性能和决策过程对于确保可靠性和治理至关重要。AgentOps,即在生产环境中监控、观察和管理 AI 智能体的实践,提供了构建可信赖的智能体式 AI 系统所需的可见性。
本教程提供设置和使用 IBM Telemetry 和 watsonx Orchestrate Developer Edition 来监控和治理 AI 智能体的分步指南。您将了解如何实现 AI 智能体的可观测性,并深入分析其行为,从单个 LLM 调用到完整的多步骤工作流。
在本教程结束时,您将能够:
IBM Telemetry 是 watsonx Orchestrate 的原生可观测性框架,能够捕捉关于 AI 智能体如何执行请求的详细信息。它记录智能体生命周期的每一步,从路由决策、提示构建到 LLM 调用和工具调用,提供对智能体行为的完整可见性。
IBM Telemetry 帮助您跟踪性能指标、监控 LLM 成本、识别错误,并确保您的智能体按预期运行。IBM Telemetry 提供专为规模化生产环境和 AI 系统设计的企业级可观测性。
开始之前,请确保系统上已安装并配置有以下必备组件:
本指南包含 ADK 的安装步骤。
授权步骤将在本指南后续部分提供。
若要开始,请使用 https://github.com/IBM/ibmdotcom-tutorials.git 作为 HTTPS URL 克隆 GitHub 存储库。有关如何克隆存储库的详细步骤,请参阅 GitHub 文档。
在首选集成开发环境 (IDE)(例如 Visual Studio Code)中打开存储库,然后找到本教程的项目文件夹:
IBM watsonx Orchestrate Agent Development Kit (ADK) 是一款 CLI 工具,可简化 IBM watsonx Orchestrate Developer Edition 的安装、配置和管理。
要使用 ADK,您必须将其连接到现有的 watsonx Orchestrate 环境。 如果您还没有 watsonx orchestrate 账户,可以注册获得免费 30 天试用。如果您已拥有一个帐户,则可以使用该帐户提供 ADK 所需的环境凭据。
这些步骤将指导您使用 Python 虚拟环境进行安装,这是保持依赖项隔离的推荐方法。有关替代安装方法和详细说明,请参阅 ADK 入门文档。
在项目目录中创建新的 Python 虚拟环境:
此步骤将创建一个
激活命令因操作系统而异。
macOS 和 Linux
Windows
激活后,您的终端提示应该发生变化(通常在提示的开头显示 (
激活虚拟环境后,使用 pip 安装 ADK:
此命令将下载并安装 ADK 及其所有依赖项。安装过程大约需要几分钟才能完成。
备注:如果您安装了较早版本的 ADK(>
ADK 使用
有关替代认证方法和详细配置说明,请参阅配置您的环境文件文档。
在 wxo-agentops 目录下,通过复制提供的模板来创建一个
在文本编辑器中打开
URL 格式如下:
复制并粘贴服务实例 URL,以替换
请妥善保管您的 API 密钥,切勿将其提交到版本控制系统中。
现在,您准备好安装 watsonx Orchestrate Developer Edition,它将在您的机器上运行本地的 watsonx Orchestrate 服务器实例。此步骤还可启用 IBM Telemetry,以便您立即使用可观测性功能。
ADK 提供一个命令来处理整个安装过程:
我们来解析一下这个命令的作用:
从 wxo-agentops 目录中执行以下命令:
以下命令通过初始化服务器环境启动 watsonx Orchestrate Developer Edition 服务器:
运行以下命令安装带有 IBM Telemetry 的 watsonx Orchestrate 服务器:
此命令创建由 ADK 管理的内部容器,用于:
ADK 会自动配置一个虚拟网络,允许这些容器在
安装过程可能需要几分钟时间,尤其是在首次运行时,因为需要下载必要的映像。成功的安装会产生类似于以下示例的输出:
如果看到这条信息,恭喜您!您的本地 watsonx Orchestrate 环境(含 IBM Telemetry)现已运行。
如果安装失败或卡住,请尝试以下步骤:
1. 重置服务器:
此命令会停止并删除为 watsonx Orchestrate 创建的所有容器,从而为您提供一个干净的环境。
2. 重启安装:
重置完成后,再次运行启动命令:
3. 检查服务器日志容器状态:
您可以查看 Orchestrate 服务器的服务日志,以检查是否存在警告或错误:
如果上述步骤不起作用,请重置服务器并完全删除服务器环境:
成功安装 watsonx Orchestrate 服务器后,现在需要激活本地环境并启动聊天界面,以便与 AI 智能体进行交互。
watsonx Orchestrate ADK 支持多种环境(本地、开发、生产等)。您需要显式激活您创建的本地环境:
您应收到环境处于活动状态的确认信息:
此操作会将本地环境设置为所有后续 ADK 命令的默认上下文。您使用的任何智能体、工具或配置现在都将以该本地实例为目标。
用以下命令启动 watsonx Orchestrate 聊天 UI 服务:
此命令将初始化基于 Web 的聊天界面,并自动在您的默认浏览器中将其打开。您应该看到类似以下内容的输出:
聊天界面提供了与 AI 智能体交互的简单方法。如果浏览器没有自动打开,您可以手动导航到
聊天界面加载完毕后,您应该会看到一个干净的聊天窗口,可以进行互动。在这一阶段,您还没有导入任何智能体,因此界面大部分是空的。该结果在预期中,您将在后续步骤中添加第一个智能体。
现在,您的环境已经设置完毕,是时候导入一个预配置的 AI 智能体了,该智能体用于演示 IBM Telemetry 的监控功能。该天气智能体使用外部 API 工具来获取实时天气数据,为您提供观察和分析的实用示例。
天气智能体是一个理想的起点,因为它:
从项目根目录 (
该目录包含两个 YAML 配置文件:
工具是智能体调用以执行特定操作的可重用功能。首先导入
现在导入将使用该工具的智能体:
此命令可在本地 watonsx Orchestrate 环境中注册天气智能体。该智能体预配置如下:
回到正在运行聊天界面的浏览器。您可能需要刷新页面才能看到新导入的智能体。
点击智能体下拉菜单(通常位于聊天界面顶部),从列表中选择 Weather_Agent
选择 Weather Agent 后,尝试提出一些问题来生成遥测数据:
查询示例:
智能体将通过以下方式处理每个请求:
您与天气智能体的每一次互动都会被 IBM Telemetry 捕获。系统正在记录:
在后续步骤中,您将深入了解这些遥测数据,以准确了解您的智能体的行为方式。
下面是本教程最强大的部分:使用 IBM Telemetry 深入了解智能体的行为。IBM Telemetry 提供多种视图和分析工具,让您了解智能体处理请求的方方面面。
打开浏览器,导航到 https://localhost:8765/?serviceName=wxo-server。界面提供会话重播功能,让您可以重新访问过去的智能体交互进行分析。
注:URL 使用
当登录界面出现时,输入任意名称(以识别您的本地会话),然后点击登录。
您将进入 IBM Telemetry 主仪表板。
仪表板显示最近跟踪的列表,每条代表用户与智能体的单次交互。点击“轨迹和群组选择”面板中的第一个轨迹,查看有关您最近与天气智能体聊天的详细分析。
此步骤将带您进入智能体分析屏幕,该屏幕是了解智能体行为的中心枢纽。
“智能体分析”屏幕提供所选径迹的概述,包括:
这种高层次的视角可以让您立即获得洞察分析,判断智能体是否按预期运行以及其运行效率如何。
您将在“任务”部分花费大部分时间分析智能体行为。它以可视化的方式逐步展示了智能体在请求期间所做的每一件事(每次 LLM 调用、工具调用、路由决策和输出生成)。
任务按层级组织,反映智能体实际执行工作流的方式,便于理解运营及其关系。
让我们来看一下 watsonx Orchestrate 智能体请求的标准执行路径。您的 Weather Agent 径迹应显示类似于以下示例的结构:
此工作流展示了单个用户查询的整个生命周期。以下是各项任务的具体内容:
这种方法很重要,因为根任务的持续时间告诉您用户经历的总延迟。如果数量过高,您可以分析其子任务以确定瓶颈。
路由器确保调用正确的下游逻辑。如果请求被错误路由,您可以在此处找出问题所在。
这一步是编排“智能”发挥的地方。智能体任务可确保 LLM 获得做出明智决策所需的所有上下文。
此步骤是模型处理信息并做出决策的“思考”步骤。令牌使用、延迟和质量问题都源于此任务。如果您的智能体运行缓慢或成本高昂,这通常是主要原因。
此任务旨在确保用户收到格式正确的响应。如果答案被截断或格式不正确,您需要在此步骤进行调查。
任务工作流程摘要
总结整个工作流:
所有工作流都包含在
层级结构中的每个任务都包含三类属性,这些属性提供有关任务使用和产生内容的详细元数据:
1. 输入属性:显示任务执行前收到的所有信息:消息、工具响应、系统指令、内部状态。
例如:对于
2. 输出属性:显示任务的产出,包括:LLM 完成情况、工具调用和决策。
示例:相同的
3. 通用属性:提供遥测元数据:令牌使用情况、时序信息、标识符如唯一 ID 和模型信息。
示例:您可能会看到一个任务使用了 450 个输入词元和 120 个输出词元,执行时间为 1.2 秒,并且使用了
如何使用任务属性
综合来看,这些属性让您可以全面了解模型看到了什么,它做出了什么决定,以及它如何回应。
这种详细程度对于调试、优化和验证非常宝贵。
每项任务都包含与性能和成本相关的指标,以总结任务的执行情况。这些指标提供有关智能体性能的定量数据。
关键指标包括:
这些指标可帮助您优化性能和调试智能体行为。它们还可以帮助识别可以并行化或缓存的慢速任务。该视图对于容量规划至关重要,因为它能帮助您了解扩展所需的资源,并跟踪词元使用情况以控制支出。
例如,如果您注意到一次跟踪需要 8 秒,但 LLM 调用只花费 0.5 秒,就可以知道瓶颈在其他地方(可能在工具执行或网络延迟中)。
任务显示了智能体的逻辑工作流程,而跨距则表示执行期间发生的底层系统级操作。点击“跨距”标签页可以显示平台内部处理每个请求的具体操作。
“跨距”提供了对编排框架(此处为 LangGraph,一种运行在 wxo-server 内部的开源框架)记录的低层执行步骤的可见性。每个跨距代表一个独立的操作,例如:
任务显示智能体执行的逻辑步骤(智能体试图完成的目标),而跨距则显示技术步骤(系统如何完成)。这种双重视图既能为您提供高层次的理解,又能提供低层次的调试功能。
示例:像
每个跨距都包含提供额外元数据和上下文的标签。这些标签对于过滤、调试和分析性能至关重要。
常见的跨距标签包括:
跨距在以下方面很有用:跟踪延迟,通过查看哪个内部组件发生故障来了解故障,通过按标签过滤跨距来识别趋势来分析模式,以及通过使用会话 ID 链接多个跟踪的跨距来进行交叉引用。
例如,如果您的智能体偶尔会挂起,您可以按持续时间筛选跨距,以确定哪些内部操作耗时过长,例如数据库查询或对外部服务的网络调用。
“工作流”选项卡提供了一个名为“可运行程序树”的层次化可视化界面,显示了智能体工作流的完整执行结构。这种视图对于理解复杂的多智能体系统和嵌套执行模式特别有用。
在 Watsonx Orchestrate 框架中,可运行对象是可以执行的工作单元或任务。可运行实体可以是:
可运行树显示了父子关系,使其易于查看:
对于像天气智能体这样的简单智能体,工作流视图与任务视图非常相似。然而,当您使用以下工具时,工作流程就显得尤为重要:
例如,假设一个智能体首先检查查询是否需要网络搜索,然后决定使用计算器工具还是数据库查询工具,最后在响应之前验证结果。“可运行对象树”清晰展示完整分支结构。
您可以通过以下方式与树交互:
与尝试仅跟踪文本日志或仅跟踪径迹数据相比,可视化使调试工作流大幅简化。
评估标签页提供质量保证和监控视图,衡量智能体执行的正确性和可靠性。这一步骤是从观察发生了什么转向评估这件事发生得如何。
“评估”选项卡显示通过护栏评估质量的评估结果:
评估通过跟踪智能体产生正确结果的一致性来帮助您监控可靠性,确定更改何时会降低智能体性能,确定改进的优先顺序,并通过在生产部署之前验证智能体是否正常工作来建立信心。
您可以利用评估度量设置提醒、跟踪改进、识别模式,并利用反馈来指导改进提示或工具的开发工作。
如果您注意到 15% 的天气查询评估失败,您可以调查这些具体跟踪,了解问题是否出在错误的输入处理、API 故障或不正确的响应格式上。
问题选项卡提供工作流程执行期间出现的所有错误的集中视图。此选项卡是您调试智能体故障或意外行为时的第一站。
“问题”选项卡会列出以下问题:
在上面的屏幕截图中,您可以看到当天气 API 返回 424(依赖失败)或 404(未找到)错误时,出现了工具错误。问题选项卡显示:
这种方法可以让用户无需翻阅日志或跟踪数据,即可轻松了解哪里出了问题。
“问题”选项卡尤其有价值,因为它可以汇总故障,而不用强迫您搜索各个任务。它通过包含完整的错误细节和相关数据,提供完整的背景信息,同时严重程度级别允许快速分类,从而优先处理哪些问题。通过与源任务的直接链接,只需单击一下即可跳转到出错的确切执行点。
轨迹选项卡以按时间排序、对话式的视图显示用户与智能体调用的任何工具之间的智能体交互。这种视图对于理解智能体行为的全部背景和流程非常宝贵。
轨迹视图很有用,因为它允许您准确查看智能体如何从头到尾处理请求,从而使您可以全面了解智能体行为。您可以通过确保使用正确的参数调用工具并收到适当的响应来验证工具整合。在调试意外响应时,轨迹分析可助您追踪逻辑与预期的偏差所在。您还可以分析上下文如何在多个对话轮次中构建,观察工作流的自然演变。除了调试之外,轨迹还可以作为文档,让您捕获正确行为的示例,这些示例可以与团队成员共享,或用作未来开发的参考案例。这种观点对于使用生成式 AI 进行建设的团队特别有价值,他们需要验证智能体在不同场景下的适应性。
让我们一起来看一下屏幕截图所示的 Weather Agent 的轨迹:
1. 用户查询
对话从一个关于纽约市天气的清晰、具体的请求开始。
2.智能体发出工具调用
智能体认识到它需要外部数据并调用天气工具:
此示例表明,智能体正确识别了纽约市的大致坐标,正确构建了对 API 的请求,并为当前天气设置了适当的标志。
IBM Telemetry 以原始 JSON 和解析良好的可展开树状视图两种方式显示此结果。
3. 工具返回数据
天气 API 使用结构化天气数据进行响应:
此示例表明该工具成功检索了数据,响应遵循预期模式,并且所有必填字段都存在。能够检查原始工具响应对于调试智能体误解工具输出的问题至关重要。
4.智能体汇总结果
最后,智能体处理结构化数据并自然地做出响应:
该智能体正确提取了温度和天气代码,并将结构化数据转换为自然语言。该响应简洁明了,回答了用户的问题。
“轨迹”选项卡还支持按角色过滤,可以仅查看用户消息、智能体消息或工具交互。您还可以展开和折叠长对话的某些部分,以专注于对您重要的细节。为了进一步分析或调试,您可以将数据导出为 JSON,以便从轨迹步骤跳转到链接任务以获取相应的详细信息。
恭喜!您已经使用 watsonx Orchestrate 成功设置了 IBM Telemetry,并学会了如何深入监控和分析 AI 智能体的行为。IBM Telemetry 提供多层可见性,让您可以全面观测 AI 智能体的思考、决策和行动方式。您所了解的这些功能,对于在生产环境中有效管理智能体运行的生命周期,或与您环境中的其他智能体框架集成,均至关重要。
如果遇到问题或有任何疑问,请查阅文档。故障排除指南涵盖了大多数常见问题。您还可以查看 GitHub 问题,看看其他人是否遇到过类似的问题。
通过 IBM Telemetry 等平台进行智能体监控,为 AgentOps 打造了一个强大的生态系统,随着自主智能体承担更复杂的任务,这些任务涉及集成 SDK、工具和外部 API,这一生态系统变得不可或缺。您对智能体行为的可视化使您能够创建更可靠、高效且值得信赖的 AI 系统。
构建、部署和管理强大的 AI 助手和智能体,运用生成式 AI 实现工作流和流程自动化。
借助值得信赖的 AI 解决方案,您可以勾勒未来业务发展蓝图。
IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。