AREX Feed Article
Claude 平台 OpenTelemetry 追踪开启公开测试:spans 可直送可观测性栈,可选导出完整提示与响应
北京时间 10 月 15 日凌晨 1 时 25 分(UTC 10 月 14 日 17 时 25 分),Claude 官方开发者更新账号 宣布:Claude 平台的 OpenTelemetry 链路追踪进入公开测试(public beta)。Messages API、Claude Managed Agents 与 Claude SDKs 产生的追踪数据,现在可以直接发送到开发者自己选定的可观测性栈。该账号在简介中标注自己是「为使用 @ClaudeAI 构建应用的开发者提供官方更新」,粉丝约 74.5 万。
这些 spans(追踪链路里的单个步骤)遵循 OpenTelemetry 的 gen_ai(生成式 AI)语义约定,默认携带时长、状态、token(词元)数、模型与工具名称等元数据;中说明,把某个目的地切换为「full content」模式后,导出内容还会增加提示(prompts)、响应(responses)、工具输入与工具结果。帖文给出两条接入路径:在 Claude Console 中添加目的地,导出 Messages API 请求与 Managed Agents 会话的追踪;或按文档为 Claude SDK 请求配置 OpenTelemetry。
管理员在 Console 添加目的地,SDK 用户在代码里开启
把接入分成两条线。API 追踪在 Claude Console 完成,要求组织内的 Admin 权限:逐步列出了操作——在 Console 的 OpenTelemetry 设置页点 Add destination,选好 Provider,填入 OTLP(OpenTelemetry Line Protocol)endpoint、实例 ID 与访问令牌,再选 Content mode 和要导出追踪的 workspaces 范围。
这条路径不需要碰应用代码。写明:无需 collector、无需改代码,管理员把 Honeycomb 加为遥测目的地后,Claude Managed Agents 与 Claude API 请求的追踪就会开始送达;发出一条 Messages API 请求后约一分钟,Console 目的地列表的 Delivery 列应显示 Healthy。SDK 追踪则在代码侧配置,覆盖使用 SDK 的客户端。两条也可以同时配置:配齐后,同一次请求的 SDK span 与 API span 会出现在同一条 trace 里;对 Claude Platform on AWS 的请求,API 侧的 spans 则单独成 trace。
范围边界也在文档里写清楚了:Claude Code、Agent SDK 与 Cowork 的遥测不走这次开放的路径,官方把它们指向各自的监控文档。
一次请求拆成哪些 spans
按文档定义,trace 是一次请求穿过系统的完整记录,span 是其中一步,比如一次模型请求或一次工具调用。落到 Claude 平台上:SDK 发出名为 anthropic.messages.create 的 CLIENT span,API 侧的同名 SERVER span 挂在其下,SERVER span 里是一次次 anthropic.model_request,以及 API 代跑的服务端工具的 anthropic.tool_use span;应用自己的工具由 SDK 的 tool runner 执行,对应 anthropic.custom_tool_use span,与请求 span 并列挂在 SDK 的 tool runner span 之下;Managed Agents 会话则对应每个 Sessions API 请求一个 span、每个 agent turn 一个 anthropic.session.turn span。
spans 使用 的属性,支持这些约定的平台无需额外配置即可识别。列出了实际生效的键:gen_ai.provider.name 恒为 anthropic;gen_ai.operation.name 在模型调用、agent turn 与工具调用上分别为 chat、invoke_agent、execute_tool;gen_ai.request.model 与 gen_ai.response.model 分别记录申请的和实际使用的模型;gen_ai.usage.input_tokens、gen_ai.usage.output_tokens 及缓存读写的 token 计数一并导出。gen_ai.conversation.id 负责把一个 Managed Agents 会话的 spans 跨 trace 归到一起——Messages API 请求没有会话 ID,只能按 trace 查。
导出的只有 traces,不含 metrics 与 logs;平台不做采样,每个 span 都发送,除非应用自己的 trace 上下文要求丢弃。应用若在请求里带上 W3C traceparent 头,Claude 的请求 span 就会挂到应用自身的 span 之下,SDK 在应用 span 内调用时会自动设置。文档还提醒了一个计数陷阱:同一请求同时存在 SDK 与 API spans 时,token 用量只按一个来源求和,API 侧只累加 SERVER span。
切到 full content:完整提示与响应进 spans,默认 0.75 MB 封顶
每个目的地和每个 SDK 客户端都有一个 content mode。默认的 Metadata only 只含标识符、时序、状态、token 计数,以及开发者主动选择的文本——agent 与工具的名称、描述,MCP(模型上下文协议)服务器的名字;Full content 在此之上加入模型提示与响应。具体落点是:system prompt 在 gen_ai.system_instructions,请求消息在 gen_ai.input.messages,响应在 gen_ai.output.messages;工具调用参数在 gen_ai.tool.call.arguments,而工具结果放在 Anthropic 自有字段 anthropic.tool_result.content——Honeycomb 特意注明,GenAI 约定本把工具输出放在 gen_ai.tool.call.result,Claude 平台用了自己的字段。
内容不是无上限导出。文档规定:Full content 模式下每个 span 默认最多装 0.75 MB,足够容纳 20 万 token 的英文上下文,也低于许多可观测性平台和代理的 1 MB 请求上限;100 万 token 的完整上下文约需 4 MB。超出即截断,并把 anthropic.content.truncated 置为 true——请求 span 先丢 system prompt 和最早的消息,工具 span 从结果末尾丢块,图片与文档只显示类型。上限可在 Console 的 Advanced settings 里调 Maximum content size in MB,SDK 侧对应 traces.max_content_bytes。文档给出的用途是三件事:看清一次运行为什么失败或变慢,读完整对话,从真实 trace 构建评测。
合规与保留:两类客户两种待遇
文档同时划定了两类限制。与 Anthropic 签有 HIPAA、FERPA 或 K-12 数据处理限制的组织,无论 content mode 选什么,目的地都只导出元数据;SDK spans 不受此限。签署零数据保留(zero data retention)的客户则仍可使用 Full content:对 Messages API 请求,导出内容只驻留在内存中,送达目的地前不落盘。Managed Agents 不符合零数据保留资格,其数据保留策略也不因开启 OpenTelemetry 而改变。
官方名单里有 12 家可观测性平台
官方文档列出 12 家接受 OTLP 的合作伙伴,并各自链接了接入文档:Arize AI、Braintrust、Databricks、Datadog、Grafana Cloud、Honeycomb、Langfuse、LangSmith、New Relic、PostHog、Sentry、Splunk。写明「Claude 平台的 OpenTelemetry 导出现在处于 public beta」,同时提醒其 Agent Observability 的 OTel 摄取本身也还在 public preview。
发布了集成推文:「Claude agent 追踪,现在进了 Langfuse」,称可直接检视 turn、工具、延迟与成本,并把真实运行转成评测。:「每一家 LLM 可观测性创业公司都被这一下打中了。」
Honeycomb 的指南也给这次发布标了保留项:截至 10 月 14 日,Claude 平台尚未填充其 Agent Timeline 用到的全部字段,部分细节不会显示;OpenTelemetry 导出在 Claude 平台上处于 beta,Anthropic 可能随时更改字段名,与 Honeycomb GenAI 功能的完全兼容并无保证。