Chapter 04 · Tools & Frontier

工具与前沿:按场景选型,看清 2026 走向

前三章把可观测性的概念、机制、落地讲完了;这一章回答用什么工具落地,以及这个还在快速变的领域现在走到哪了。

本章你将建立的 schema

  • 把 10 个工具按原型归位(emitter 层 / backend / 代理网关 / all-in-one),不背零散清单;理解 emitter 与 backend 分开选是降锁定风险的关键。
  • 用五条判别轴给真实场景选型:开放标准 vs 私有 SDK、自托管 vs SaaS、框架耦合 vs 无关、纯 obs vs all-in-one、代理拦截 vs 进程内。
  • 说得出 2026 哪稳(trace/span 模型 + 主流 SaaS 格局)、哪变(semconv 仍 Development、标准仍分裂、eval×obs 融合)、哪过时(Helicone 已转维护、手写 callback)。

前三章把"一棵 trace 树"从概念讲到落地。这一章补上最后一块:这棵树由谁发出(emitter)、发到哪里(backend)、两头之间谁做标准桥接,以及面对十几个工具时怎么按场景反推选型——不是复述每个产品的 feature 列表,而是给出判据。

工程师在做可观测性选型时最常遇到两种陷阱:一是把 emitter 和 backend 的选择混在一起(实际上两者可以独立决定);二是把工具的"哪稳哪变"当成静态答案记忆,但这个领域的并购和规格变更速度使任何超过一年的印象都可能过时。这一章把两个问题都显式地回答。

4.1工具按原型:先分层,再点名

工具生态的分层逻辑:emitter 负责在进程内/外把调用转成 span,backend 负责存储、查询、告警;两层之间用 OTLP 协议通信,选型锁定风险主要在 backend 不在 emitter。

把工具按功能原型分成四类,比按厂商名记忆更稳——因为工具会并购、改名、转维护,但原型分类是稳定的架构结构。

Emitter 层:OpenLLMetry 与 OpenInference

OpenLLMetry(Traceloop 开源,Python/TypeScript/Go/Ruby)是纯 OTel 对齐的 emitter。它把 OpenAI、Anthropic、LangChain、LlamaIndex 等框架的调用自动转成符合 gen_ai.* 语义约定的 span,通过标准 OTLP 协议路由到任意 backend。工程师只需一行 Traceloop.init(),不改业务代码即可获得结构化 trace。

OpenInference(Arize 开源)同样是 emitter,但在 OTel 基础上扩展了 LLM 领域的额外 span kind(RETRIEVER / RERANKER / GUARDRAIL / EVALUATOR 等),把 openinference.* 属性与 OTel gen_ai.* 属性并列携带。Phoenix(Arize 的 backend)原生消费 OpenInference span;其他 OTel backend 则通过 normalization 层把 openinference.* 属性映射到标准字段。

关键判断

emitter 与 backend 分开选。OpenLLMetry 发出的 span 可以发到 LangSmith、Langfuse、Phoenix、Datadog——只要 backend 接受 OTLP。锁定风险集中在 backend(存了多少 trace、写了多少 alert 规则),不在 emitter(换 emitter 只需改初始化代码)。

Backend 层:从纯 obs 到 all-in-one

Backend 的核心差异在"是否把 eval 能力也内置进来"——即从纯可观测性平台向 LLMOps 一体化平台演进的程度。

  • LangSmith(LangChain 出品,SaaS 为主):与 LangChain/LangGraph 深度集成;把 span 叫 run,把会话分组叫 thread;内置 prompt 管理、dataset 管理、在线评估,是 LangGraph 用户的自然选择。
  • Langfuse(开源 MIT,自托管/SaaS 均可):把 span 叫 observation,LLM span 叫 generation,会话分组叫 session;2025-06 开源了 LLM-as-judge 在线评估;2026-01 被 ClickHouse 以 4 亿美元收购($15B 估值),开源/自托管暂不变,但路线图存不确定性。
  • Phoenix(Arize 开源,可自托管):OpenInference 生态的 backend,擅长 RAG 检索质量评测(context recall、faithfulness);内置 eval 模板,面向 AI 质量监控。
  • Braintrust(SaaS,$80M B 轮,2025):eval-first 定位,把离线评估、prompt 版本管理、在线评分打包成一体;2025 年快速扩展可观测性能力。
  • Weave(Weights & Biases 旗下):ML 实验追踪 + LLM trace 一体,适合已在 W&B 生态的团队。
  • Datadog(传统 APM,LLM Observability 模块):2024 年加入 OTel GenAI semconv 支持;优势在 HIPAA/SOC2 合规、告警基础设施、与现有 APM 的统一视图;2025 年加入 LLM Experiments(eval 能力)。企业场景下已有 Datadog 合约的团队首选。
  • HoneyHive(SaaS):专注 AI 产品的评测与监控一体化,偏 product analytics + eval 视角。

代理网关层:Helicone 与 LiteLLM

代理网关在 HTTP 路径上拦截请求,不需要修改应用代码即可获得 token 计数、成本、延迟。其代价是:看不到进程内的推理状态(链式思维、工具路由决策),只能观测 HTTP 请求/响应的边界。

Helicone 是这个模式的代表产品——但 2026-03 被 Mintlify 收购后已转入维护模式。代理网关这个模式值得理解(成本低、零代码改动、适合快速原型),但新项目不应选择 Helicone 这个具体产品;可考虑 LiteLLM proxy 或云厂商 AI gateway 作为替代。

LiteLLM 是开源的统一 LLM proxy,支持 100+ 模型 API 统一接口,内置基础的 token 计数和成本追踪,可作为代理网关使用。

陷阱:代理网关的可见性盲区

代理网关能捕获"这次调用花了多少 token/钱/毫秒",但捕获不到"agent 为什么选了这个工具""检索上下文传进去了什么"。这正是第 03 章强调的:失败往往集中在编排层,而编排层的中间状态只有进程内 instrumentation 才看得到。代理网关适合做成本控制基础层,不能替代进程内追踪。

← 纯 obs all-in-one → 自托管 SaaS 自托管 · 纯 obs 自托管 · all-in-one SaaS · 纯 obs SaaS · all-in-one Emitter 层(不依赖轴位置):OpenLLMetry · OpenInference · 代理网关 Helicone/LiteLLM Langfuse OSS · 自托管 Phoenix OSS+eval Datadog 企业合规 LangSmith LangChain生态 Braintrust eval-first Weave W&B生态 HoneyHive product+eval
图 4.1工具地图:横轴为功能覆盖(纯可观测性 vs all-in-one),纵轴为部署模式(自托管 vs SaaS)。注意:Emitter 层(OpenLLMetry/OpenInference/代理网关)与 backend 坐标无关——emitter 可以自由路由到任意 backend,是锁定风险最低的一层。

4.2五条判别轴与场景选型

不是每个项目都需要 all-in-one;按五条轴逐一定位约束,比对号入座"推荐工具榜"更可靠。

五条判别轴是正交的——每条轴的选择不强制另一条轴的选择,但轴之间有常见的共现组合。先逐轴理解含义,再对照场景综合决策。

五条判别轴
判别轴 两端含义 关键代价 适用场景倾向
开放标准 vs 私有 SDK 左:OTel OTLP + semconv,backend 可换;右:厂商专有 SDK,迁移需重新 instrument 私有 SDK 锁定风险高;开放标准在 semconv 仍 Development 阶段需承受属性 churn 长期项目选开放标准;快速原型可暂用私有 SDK
自托管 vs SaaS 左:数据不出自有基础设施;右:托管服务,按量付费 自托管需运维 backend(存储、扩缩容、告警);SaaS 有数据主权和隐私合规风险 HIPAA/GDPR 强约束选自托管;小团队快速上线选 SaaS
框架耦合 vs 框架无关 左:与 LangChain/LangGraph 深度集成(LangSmith);右:任意框架均可接入 耦合换来开箱即用但绑定框架;无关需手动配置 instrumentation 已决定用 LangGraph 则 LangSmith 自然;多框架混用选无关方案
纯 obs vs all-in-one 左:专注 trace/metric 存储查询;右:内置 eval、prompt 管理、dataset、在线评估 all-in-one 学习曲线更陡、厂商依赖更深;纯 obs 可自由选 eval 工具 团队评测体系已建立选纯 obs;从零开始且需 eval 选 all-in-one
代理拦截 vs 进程内 左:HTTP 代理层,零代码改动;右:SDK callback / OTel auto-instrumentation,看到编排内部 代理看不到推理链和工具路由决策;进程内需集成 SDK 成本基础监控用代理;调试 agent 编排失败必须进程内
想一想

差旅助理 Agent 由创业团队开发,栈是 LangGraph,需要在自己的 Kubernetes 集群上运行(数据不能出境),团队人力有限但希望有在线评估能力。根据五条轴,推断最合适的工具组合是什么?

展开分析

沿五条轴推断:

  • 开放标准 vs 私有 SDK:优先 OTel,避免未来迁移成本;用 OpenLLMetry 作 emitter。
  • 自托管 vs SaaS:数据不出境 → 自托管 backend。Langfuse 是开源、MIT 协议、自托管成熟度高的首选。
  • 框架耦合 vs 无关:LangGraph 用户可用 LangSmith——但 LangSmith SaaS 与数据不出境矛盾,自托管 LangSmith 版本(Enterprise)成本更高。继续选 Langfuse。
  • 纯 obs vs all-in-one:需要在线评估 → Langfuse 2025-06 开源了 LLM-as-judge,满足需求。
  • 代理拦截 vs 进程内:需要调试编排失败 → 进程内;OpenLLMetry + Langfuse OTLP endpoint。

结论:OpenLLMetry(emitter)+ 自托管 Langfuse(backend),OTLP 协议串联,满足数据不出境 + 在线评估 + OTel 开放标准三个约束。

三个对照场景

场景 A:LangGraph 自托管创业团队(即上方差旅助理案例)——如上,OpenLLMetry + 自托管 Langfuse。五轴结论:开放标准、自托管、框架无关(妥协 LangSmith 耦合换数据主权)、all-in-one(Langfuse 内置 eval)、进程内。

场景 B:Datadog + HIPAA 企业——已有 Datadog 合约且受 HIPAA 约束。五轴结论:传统 APM 厂商提供 OTel GenAI 支持(开放标准侧)、SaaS 但 Datadog 有 HIPAA BAA(合规 SaaS)、框架无关、从纯 obs 向 all-in-one 演进(LLM Experiments 2025)、进程内(Datadog Agent auto-instrumentation)。主要代价:Datadog per-GB 定价在大 LLM trace 体量下成本显著,需配采样策略(见第 03 章)。

场景 C:想 OTel-native 自选 backend——不想被任何 backend 锁定,已有 Grafana 或 Jaeger 等通用 OTel backend。五轴结论:开放标准强制要求、自托管、框架无关、纯 obs(eval 另行选型)、进程内。工具路径:OpenLLMetry 发 OTLP → 已有 OTLP backend;对通用 backend 的代价是:缺少 LLM 专属展示(prompt diff、token 趋势、eval 分数视图),需自行搭 Grafana dashboard。

成本信号与 Helicone 的教训

在成本比较的历史数据点(10M 请求/月量级)中,Helicone 的代理网关模式约为 LangSmith 一半、Braintrust 五分之一的费用——这个数字说明代理网关模式的低成本来自它只看 HTTP 边界,不存完整 prompt/completion 体积。

然而 Helicone 已于 2026-03 被 Mintlify 收购,转入维护模式。这个产品本身不应再被选入新项目,但它所代表的代理网关模式——零代码改动、HTTP 层成本追踪——仍是理解工具分层的重要原型。新项目可参考 LiteLLM proxy 或云厂商 AI gateway(AWS Bedrock Gateway、Azure AI Gateway)实现同类功能。

4.3标准之争:OTel GenAI、OpenInference、OpenLLMetry

三套约定在 2026-06 仍并存,不是竞争关系而是层次关系;工程师需要理解它们的归属层,才能在 emitter 和 backend 之间选对粘合剂。

三套约定的定位:

  • OTel GenAI semconv:CNCF/OTel 官方维护的 gen_ai.* 语义约定,规定 LLM 调用 span 的标准属性名。截至 2026-06 仍处于 Development 状态(即过去的 Experimental,2025 年改名),意味着属性名可能随版本变更——v1.38.0(2024 末)弃用了 gen_ai.prompt/gen_ai.completion,改为 gen_ai.input.messages/gen_ai.output.messages;v1.41.0(2025-04)又拆分了 invoke_agent、加入 reasoning.output_tokens、流式 time_to_first_chunk、cache token 属性。
  • OpenInference(Arize):OTel 的超集,在 gen_ai.* 之上增加 RETRIEVER、RERANKER、GUARDRAIL、EVALUATOR 等额外 span kind,以及 openinference.* 前缀属性。定位是补足 OTel GenAI 在 RAG 和 eval 链路上的空白。Phoenix 原生消费 OpenInference;其他 backend 需 normalization 层。
  • OpenLLMetry(Traceloop):定位是纯 OTel 对齐的 emitter 实现,不是新标准。2025-02 宣布将 OpenLLMetry 捐赠给 OTel 社区,但截至 2026-06 停滞超过 14 个月,代码库仍由 Traceloop 维护,捐赠未完成。此外 OpenLLMetry 内部仍有 v1.38 弃用属性的遗留 bug(#3515)。
Normalization 层的作用

当 emitter 发出 OpenInference span 而 backend 只懂 OTel gen_ai.* 时,中间需要一个 normalization 层(通常是 OTel Collector 里的 transform processor)做属性映射。这一层的存在说明:emitter 和 backend 的标准选择不必完全一致,成本是配置复杂度上升,收益是解耦。

捐赠停滞的实际影响

OpenLLMetry 捐赠卡壳意味着:OTel GenAI semconv 和 OpenInference 的分裂短期内不会消失。两套约定并存的实务影响:

  • 工程师在查属性名时必须确认是查的哪套约定(gen_ai.request.model vs openinference.span.kind 是不同层次的问题)。
  • 切换 backend 时,属性是否能被新 backend 正确展示,取决于 backend 对两套约定的支持情况。
  • OTel GenAI agent/framework span 的语义约定仍处于 SIG needs-triage 状态——多 agent 编排、plan/step/decision 级 span 尚无 stable 规范(2026-06),各 backend 实现各异。

4.42026 前沿与并购:哪稳、哪变、哪过时

可观测性工具领域正经历两条并行的力量:eval 与 obs 的融合重塑 backend 的产品边界;并购潮重组了供应商格局——这两条力量共同决定当前选型的时效性。

已稳定的部分

  • trace/span 数据模型——trace_id、span_id、parent_span_id、gen_ai.* 属性前缀已在主流 backend 稳定实现。
  • 主流 SaaS 格局——LangSmith / Langfuse / Phoenix / Braintrust / Datadog 的市场定位已清晰,短期内不太可能消失。
  • OTLP 为传输协议的共识——无论哪个 backend,OTLP 是事实上的 lingua franca,emitter→backend 链路已标准化。

正在变化的部分(带日期)

Eval × Obs 融合:Langfuse 2025-06 开源 LLM-as-judge 在线评估;Datadog 2025 年加入 LLM Experiments;Braintrust 从 eval-first 向 obs 扩张。"可观测性 backend"与"eval 平台"的边界正在快速模糊,LLMOps 一体化平台成为主流方向。这意味着第 03 章讲的"在线评估接缝"正在被直接内置进可观测性平台,而不再需要单独搭 scorer 服务。

多 agent trace 拓扑:当多个 agent 协作时(如差旅助理把订票任务交给预订子 agent),plan/step/decision 级 span 的语义约定仍处于 SIG needs-triage 状态(2026-06,无确定日期)。目前最具体的实现是 LangGraph Studio 的 checkpoint 时间旅行回放(2025),允许从任意历史 checkpoint 重新执行——这是 trace-based replay 的雏形,但依赖 LangGraph 框架,不是通用标准。

OTel GenAI semconv 属性 churn:v1.38.0(2024 末)弃用旧 prompt/completion 属性名;v1.41.0(2025-04)拆分 invoke_agent 并加入多个新属性。Development 状态意味着这种 churn 会持续到 Stable 为止,工程师需要在升级 emitter 版本时检查属性变更日志。

已过时 / 维护模式

  • 手写 callback 追踪:LangChain on_llm_end 等手写回调——被 OTel auto-instrumentation 取代,维护成本高。
  • gen_ai.prompt / gen_ai.completion 属性名:v1.38.0 已弃用,新项目不应使用。
  • Helicone:2026-03 被 Mintlify 收购转维护模式——代理网关模式有价值,Helicone 产品已不适合新项目。
  • 用 print 语句做 LLM 调试:被结构化 span + trace 视图取代,在多步 agent 场景下几乎不可用。
时间 ↓ 2024末 v1.38:弃用 gen_ai.prompt → 改 gen_ai.input.messages 2025-02 OpenLLMetry 提交捐赠 OTel —— 至今停滞 14+ 个月(未决) 2025-03 Arize 收购 Velvet(同期 Arize 完成 $70M C 轮) 2025-04 v1.41:拆分 invoke_agent + 加 cache / reasoning token 属性 2025-06 Langfuse 开源 LLM-as-judge 在线评估(eval × obs 融合) 2026-01 ClickHouse 收购 Langfuse($400M · $15B 估值) 2026-03 Helicone 被 Mintlify 收购 → 转维护模式(新项目勿选) 规格变更 融合/并购 停滞/未决 过时/维护
图 4.2前沿时间线(2024末—2026-03,自上而下):规格变更、融合/并购、停滞、过时四类事件按时间排列。注意:Helicone(红框)与 OpenLLMetry 捐赠(虚线框)都指向"学模式不选产品"——时间线上的产品节点比规格节点衰减更快,选型判断必须核对截止日期。

OpenAI 收购 Promptfoo 与 Braintrust B 轮

OpenAI 收购 Promptfoo(eval 工具)进一步加速了 eval×obs 融合的趋势——厂商在把 eval 能力内置进自身生态,减少工程师外部组合的空间。Braintrust 2025 年完成 $80M B 轮融资,在独立 LLMOps 赛道坚持 eval-first 定位,是这轮并购潮中为数不多保持独立的玩家。

选型时效性提示

本章的工具信息截至 2026-06。可观测性工具领域的并购速度和规格变更频率均显著高于成熟的 APM 市场。做选型前,建议核查:① backend 的最新融资/收购状态;② emitter 支持的最新 semconv 版本;③ HIPAA/SOC2 等合规认证是否仍有效。以上三点中任意一点在一年内发生过变化,都值得重新评估选型。

本章自测

  1. Emitter 与 backend 的锁定风险集中在哪一层?为什么?
    查看答案

    锁定风险集中在 backend。更换 backend 意味着迁移已存储的历史 trace、重建 alert 规则、重新配置 dashboard;而更换 emitter 只需修改初始化代码,历史数据不受影响。只要 emitter 发出标准 OTLP,backend 可以自由替换——这是"emitter 与 backend 分开选"能降低锁定风险的根本原因。

  2. Helicone 的代理网关模式与进程内 instrumentation 相比,哪类信息永远看不到?
    查看答案

    代理网关只能捕获 HTTP 请求/响应边界的数据:token 计数、延迟、状态码、请求体/响应体文本。它永远看不到进程内的编排状态:agent 为何选择某个工具、工具路由决策的推理链、检索上下文的内容、以及多步骤之间的中间变量。而 agent 失败的根因(见第 03 章)恰恰集中在编排层,代理网关对此是盲区。

  3. OTel GenAI semconv 的 Development 状态对工程实践有什么具体影响?举出一个已发生的属性变更例子。
    查看答案

    Development 状态意味着属性名可能随版本变更,升级 emitter 或 SDK 时必须检查 semconv changelog。已发生的例子:gen_ai.prompt / gen_ai.completion 在 v1.38.0(2024末)被弃用,替换为 gen_ai.input.messages / gen_ai.output.messages。若 backend 查询或 alert 规则仍用旧属性名,升级 emitter 后数据将静默丢失。

  4. 一个受 HIPAA 约束的企业团队,已部署 Datadog 用于传统 APM,希望统一 LLM 可观测性。五条判别轴各自倾向哪端?
    查看答案

    逐轴分析:
    · 开放标准 vs 私有 SDK:Datadog 支持 OTel GenAI semconv,倾向开放标准侧,但 Datadog Agent 自身是私有软件。
    · 自托管 vs SaaS:Datadog SaaS,但 Datadog 有 HIPAA BAA 签署,合规 SaaS 可接受。
    · 框架耦合 vs 无关:Datadog 框架无关,通过 OTel auto-instrumentation 接入各框架。
    · 纯 obs vs all-in-one:Datadog LLM Observability + LLM Experiments(2025)已偏向 all-in-one。
    · 代理拦截 vs 进程内:Datadog Agent 支持进程内 auto-instrumentation,首选进程内。
    主要代价:per-GB 定价在大体量 LLM trace 下成本显著,需配合尾部采样策略控制可观测性账单。