使用 OpenTelemetry 在 Elastic 中实现 Claude 平台的人工智能 agent 可观测性

作者:来自 Elastic Miguel Sánchez Gómez, Christoph Heger, Nathan Smith

将 Claude 平台的追踪数据发送到 Elastic,整个交互轮次就会呈现在 Kibana 中。该服务会与技术栈中的其他服务一起出现在服务清单中,方便你观测它、创建告警规则和服务等级目标。

在你的数据所在之处构建和观测 人工智能 agent。从 Elastic agent 构建器开始。你也可以立即开始免费云试用,或在你的本地计算机上试用 Elastic。


Claude 平台现已推出公开测试版的 agent 追踪导出功能,以遵循生成式人工智能语义约定的 OpenTelemetry 追踪数据形式导出。在 Claude 控制台中将 Elastic 添加为目标位置,你的托管 agent 交互轮次和消息接口调用就会传入 Elastic,无需修改应用代码。

打开一个交互轮次,即可按顺序查看模型请求、 工具调用 和模型上下文协议调用。每个跨度都包含耗时和词元计数,启用完整内容记录后,还会包含 提示词 和回复。你可以查看时间花在了哪里,甚至包括你无法控制的模型上下文协议服务器内部。

如果同时通过 Claude 软件开发工具包发送跨度,你自己的服务就能在同一条追踪中包裹 Claude 跨度。随后,claude-platform 会与技术栈中的其他服务一起出现在服务清单中,方便你观测它、创建告警规则和服务等级目标。

Claude 平台的人工智能 agent 可观测性在 Elastic 中如何呈现

在服务清单中打开 claude-platform,即可找到这些追踪数据。每个跨度都包含状态、时间信息和词元计数。

服务概览会显示延迟、吞吐量和事务失败率,服务地图则会显示哪个服务调用了它。

打开一条追踪,查看一个交互轮次的完整过程。

该跨度会呈现在**生成式人工智能(GenAI)**选项卡中,此功能在无服务器服务和 Elastic Cloud 托管服务 9.6 中以技术预览版提供,包含操作、模型、提供商和工具调用等详细信息。启用完整内容记录后,还会显示对话内容。在较旧版本中,相同数据以键值对形式显示。

你还可以在发现中使用 ES|QL 查询和探索追踪数据。

ini 复制代码
`

1.  FROM traces-*
2.  | WHERE service.name == "claude-platform"

`AI代码解释

将 Claude 平台追踪数据发送到 Elastic 的两种方式

从 Claude 控制台、你的应用程序或同时从两者发送追踪数据。使用 Claude 控制台了解应用程序编程接口执行的操作,使用软件开发工具包了解你自己的代码执行的步骤。如果你希望自己的追踪片段与 Claude 的追踪片段出现在同一条追踪中,请同时配置两者。

从 Claude 控制台发送 从 Claude 软件开发工具包发送
采集的内容 托管 agent 的交互轮次和消息应用程序编程接口调用 在你自己的进程中执行的步骤,例如工具运行器、自定义工具或在你托管的沙箱中运行的工具
代码改动 无 在你的应用程序中配置导出器
追踪片段的来源 Anthropic,服务名称为 claude-platform 你自己的服务,包裹 claude-platform 的追踪片段
适用场景 你想了解应用程序编程接口执行的操作 你想了解自己的代码执行的步骤

从 Claude 控制台发送追踪数据

将 Elastic 添加为目标后,Claude 就会发送托管 agent 和消息应用程序编程接口的追踪片段,无需更改你的应用程序代码。

你需要拥有 Claude 组织的管理员角色、托管 OTLP 端点,以及 Elastic 中可写入追踪数据的应用程序编程接口密钥。

  1. 打开你所在组织的 OpenTelemetry 设置,然后点击添加目标(Add destination)。
  2. 将提供商设置为 Elastic。
  3. 在 Kibana 的添加数据(Add data) → 应用程序(Application) → OpenTelemetry(OpenTelemetry) 下,复制托管 OTLP 端点并将其粘贴到相应位置。
  4. 点击端点旁边的创建密钥(Create key),然后粘贴获取的应用程序编程接口密钥。
  5. 选择内容模式(完整内容会保留对话,仅元数据则不包含对话),以及此目标应涵盖的工作区。
  6. 保存并点击测试(Test)。

点击测试后,在发现中运行以下查询。

ini 复制代码
`

1.  FROM traces-*
2.  | WHERE service.name == "claude-platform" AND span.name == "anthropic.test"

`AI代码解释

如果你看到一行结果,说明来自 Claude 控制台的测试追踪片段已到达 Elastic。

在 Elastic 中观测 Claude 平台追踪数据

打开一条追踪,了解执行了哪些操作,并查看哪些方面可以优化。

模型请求、工具调用和所有 模型上下文协议 调用均按顺序排列,每个追踪片段都包含耗时和词元数量。你可以看到时间花在了模型、工具还是模型上下文协议服务器上。

打开该追踪片段的生成式人工智能选项卡,了解为什么会生成这样的回答。

运行的模型及追踪片段的其他详细信息。 操作、模型和词元数量可以告诉你运行了哪个模型,以及它消耗了多少词元。

在生成式人工智能选项卡中阅读完整对话

完整内容会显示从头到尾的对话。下面重点介绍其中的几个内容块:

  • 提示词。 在评价回复之前,先阅读提出的问题。
  • MCP 调用。 确认你的服务器已运行,并阅读它返回的内容。
  • 工具调用(Tool call)。 阅读工具接收的内容及其生成的结果。
  • 回复。 对照这些结果阅读回复,查看模型保留了哪些内容。

Claude 控制台的追踪数据会显示在服务 claude-platform 下。将软件开发工具包指向同一个端点后,你的追踪片段就会包裹 Claude 的追踪片段,从而让你的服务显示在服务地图上。

现在,它已与你技术栈的其他部分集中呈现,你可以针对 claude-platform 创建失败和延迟等告警规则,以便在某轮交互失败或耗时过长时收到通知。此外,你还可以为失败和延迟创建服务级别目标,以便持续观察是否有过多交互轮次失败或耗时过长。

开始将 Claude 平台追踪数据发送到 Elastic

  1. 在 Elastic 云无服务器平台上开始免费试用。
  2. 复制托管 OTLP 端点,并在 Claude 控制台中将 Elastic 添加为目标。
  3. 点击测试 ,然后在发现中运行针对 anthropic.test 的查询。如果你看到一行结果,说明测试追踪片段已到达 Elastic。
  4. 发送一次消息应用程序编程接口请求,或执行一轮托管 agent 交互。
  5. 要在 Elastic 中查看 Anthropic 的使用量、成本和速率限制,请添加 Anthropic 指标集成。

要了解更多信息,请参阅文档:将 Claude 平台追踪数据发送到 Elastic。

原文:AI agent observability for Claude Platform traces in Elastic | Elastic Observability Labs

相关推荐
keyipatience15 小时前
Git学习(2)撤销与分支操作全指南
大数据·elasticsearch·搜索引擎
加洛斯18 小时前
万字推演Elasticsearch修炼方法,从炼气到元婴
后端·elasticsearch·面试
说实话起个名字真难啊1 天前
Git常用小问题笔记
笔记·git·elasticsearch
Elasticsearch1 天前
三个区域、三个 Kibana、一个视图:跨集群搜索登陆 Elastic 合成监测
elasticsearch
keyipatience1 天前
Git学习(3)合并冲突全解析:从原理到实战解决
大数据·elasticsearch·搜索引擎
刘老高1 天前
微服务架构实战:ShardingSphere Proxy + Canal 分库分表与 ES 同步全链路
elasticsearch·微服务·架构
Elasticsearch1 天前
Elastic 重大事件功能如何将 100 条日志样本转化为检测规则
elasticsearch
Elastic 中国社区官方博客2 天前
5 分钟内将 56 页扫描文档转化为带引用的答案:面向搜索无法读取的文档的检索增强生成流水线
大数据·运维·人工智能·elasticsearch·搜索引擎·信息可视化·全文检索
Elasticsearch3 天前
5 分钟内将 56 页扫描文档转化为带引用的答案:面向搜索无法读取的文档的检索增强生成流水线
elasticsearch