zx-dennis
26-05-21 16:36

继续来一文详解:这次是 OpenTelemetry GenAI 规范。[加油]
OpenTelemetry 给 LLM 和 Agent 出了一套可观测性规范,花了点时间把它拆完整理成一篇长文。

规范叫 GenAI Semantic Conventions。2024 年 4 月 GenAI SIG 成立,到现在的 v1.41,分六层:

① Client Spans — 标准化 LLM 调用(model、tokens、延迟,一行代码接入)
② Agent Spans — invoke_agent、execute_tool,传统 OTel 里没有的新概念
③ MCP 语义约定 — Agent 端和 MCP Server 端的 trace 不再断裂
④ Events — prompt/completion 内容捕获,带三种隐私模式
⑤ Metrics — duration 和 token usage 两个核心 histogram
⑥ 提供商约定 — OpenAI cache tokens、Anthropic 计费差异,都有标准处理

最有意思的是 ② 和 ③。

Agent 推理过去在 trace 里就是个黑盒,现在能标准化拆出来:invoke_agent → chat(模型决策)→ execute_tool(工具执行)→ chat → 最终回答。每一步都有标准属性,无论你是用Jaeger、Tempo 还是 Datadog 等,都能搞定,链路不再断。

MCP 这块也想说。Agent 调 MCP Server,过去两边各跑各的 trace,排查靠人肉对时间戳。这次用 W3C Trace Context 一路传下去,一个 trace_id 串到底。这种东西不出标准,永远各家私有协议互不相通。

规范本身还在 Development 状态,stable 没时间表。但核心已经稳,OpenAI Python SDK 一行接入,Datadog 原生支持,其他 Agent 框架也都在跟进,比如我发现最近 claude code 也支持了部分。OpenTelemetry 在国内外都已经越来越流行,大家都不想被绑定,个人觉的 Agent 的可观测性现在开始跟进这个开放标准,正当其时[鲜花]。

文章里六层逐一拆开,每层带属性表、JSON 示例、设计决策。不写入门,主要讲规范的结构和取舍。

👉 http://t.cn/AX6wJIQJ

做 Agent 或 LLM 应用的可以扫一眼,至少知道这一层标准在长什么样。

发布于 美国