AI 博客

LangSmith、Braintrust、Helicone 与 Arize Phoenix:评测与可观测性栈被设计去闭合的四种回路

四款产品都提供 trace、数据集和评测器,功能清单几乎重合。真正把它们分开的,是各自被设计去闭合的那条反馈回路:开发回路、CI、生产网关,还是模型监控漂移。

作者 智能体 AI 维基 54 分钟读完

上线一个智能体却不去度量它,等于把仪表盘用胶带糊住飞行:质量崩盘的第一个信号是用户投诉,成本翻三倍的第一个信号是发票。四款平台都提供同样三件原语——trace、数据集、评测器——功能清单几乎重合。真正把它们分开的那一点不在清单上:每款产品被设计去闭合的反馈回路不同。LangSmith 闭合 LangChain/LangGraph 的开发回路;Braintrust 用「Eval-as-code」闭合 CI 回路;Helicone 在不动你的 SDK 的前提下闭合生产网关回路;Arize Phoenix 闭合 OpenTelemetry 原生的监控回路,并把 ML 可观测性那一脉关于「漂移」的传统一并带了过来。

速览

四款产品,对同一个问题给出四种答案——团队究竟在生命周期的哪个时刻真正去看这些数据、并据此动手。下表先列基本信息;之后的矩阵呈现各自在真正存在差异的几条轴上最用力的方向。

平台 发布时间 / 维护方 主打场景 OSS vs SaaS
LangSmith 2023 年,LangChain Inc. LangChain/LangGraph 开发回路——prompt、数据集、在线评测 SaaS 优先(付费自托管层)
Braintrust 2023 年,Braintrust Data Inc. 把评测做成一等公民的 CI 产物,带回归 diff SaaS(企业版自托管)
Helicone 2023 年,Helicone Inc. 网关优先的生产可观测性 + 成本 Apache-2.0 开源(提供托管版)
Arize Phoenix 2023 年,Arize AI OpenTelemetry 原生的 LLM 可观测性 + 漂移 Elastic-2.0 开源(Phoenix Cloud / Arize AX)

快照:2026-06-01。这些平台更新频繁,请对照最新文档核实。

Evals + observability feature matrix Heatmap comparing LangSmith, Braintrust, Helicone, and Arize Phoenix across six axes: Dev-loop fit, CI eval workflow, Production telemetry, Drift/monitoring, OTel-native instrumentation, and Open-source self-host. Strength shown by fill from light (weak) to dark accent (strong). Evals + observability feature matrix Dev-loop fit CI eval workflow Prod telemetry Drift / monitoring OTel- native OSS self- host LangSmith Hero SDK + UI Online evals Limited Supports SaaS-first Braintrust Playground Hero Online logs Limited OTLP in SaaS-first Helicone Replay Experiments Hero Cost + latency Gateway-first Apache-2 Arize Phoenix Notebook Local evals Self-host Hero (Arize) OpenInference Elastic-2 Weak Medium Strong
每个平台最用力的方向。每一个都恰好有一列以实色强调——那一列就是它被设计去闭合的回路。

LangSmith — 架构详解

LangSmith architecture A LangChain or LangGraph app sends traces and runs to LangSmith, where the dev loop closes: prompts and datasets, offline evals, online evals on production traces, and a Playground that pushes prompt changes back into the app. Your app LangChain / LangGraph (or any SDK via tracing) Prompt & chain code edit · commit · deploy (prompt hub pulls in) LangSmith — Dev Loop Traces & Runs tree of LLM / tool / chain calls inputs · outputs · latency · cost tags + feedback annotations Datasets examples promoted from traces versioned · splits · golden sets power offline runs Offline Evaluators LLM-judge · heuristic · custom run a chain over a dataset Online Evaluators score live production traces sampled · async Prompt Hub + Playground edit prompt · re-run dataset · compare versions "the dev loop closes here" promote winning prompt → app LangSmith Deployment (managed LangGraph runtime) traces prompt push deploy
LangSmith 以开发回路为中心:trace 与运行记录喂养数据集,数据集喂养评测,Playground 把胜出的 prompt 推回应用。

数据模型——runs、traces,以及带 prompt 版本的数据集

LangSmith 的一次「run」是一棵嵌套的子 run 树——每个节点对应一次 LLM 调用、工具调用、检索器调用或某个 chain 步骤——每个节点都带有输入、输出、延迟、token 用量、成本和自由的元数据。同一套 schema 既描述一次单元测试、一次 CI 评测,也描述一次生产请求;正因如此,一条被标记的生产 trace 可以直接被提升为数据集的一行,而不必重新建模。数据集本身是带版本、可 fork 的,于是「我们用来跑 prompt 变更的那 200 条黄金样例」就成了一个能钉死在某次提交上的一等公民对象。

它闭合的那条回路——prompt hub → 数据集 → 在线评测 → prompt hub

LangSmith 的重心是为基于 LangChain 或 LangGraph 的团队打磨 prompt 迭代回路。你在 Prompt Hub 里写 prompt,在 Playground 里针对数据集跑它,肉眼比对逐样例的 diff,用内置或自定义评测器打分,再把胜出的版本推回应用。在线评测器闭合回路的后半段:被采样的生产 trace 被异步打分,回归化作新的数据集行。同样的形态也支撑起 LangSmith Deployment 旗下的托管 LangGraph 运行时,所以开发回路与生产回路共享同一个控制面。如果你的应用已经是框架形状——通过 LangChain 栈接线的 graph、chain、agent——则这种契合最强,因为它们的埋点是免费的。

接入形态——SDK 回调,外加 OTel 支持

主要接入方式是 LangChain 的 tracer 回调:如果你已经在用 LangChain 或 LangGraph,接入只是设置一个环境变量。除此之外,@traceable 装饰器把任意 Python 或 JS 函数包成 LangSmith 的 span;平台也通过 OTLP 接收 OpenTelemetry 数据,因此标准化在 OTel 上的团队不会被锁在门外。但权衡是真实存在的:离开 LangChain 世界,你能拿到 trace,却放弃了一部分框架感知的 UI 能力——智能体步骤分组、prompt 版本联动——而这些恰恰是选择 LangSmith 的初衷。

Braintrust — 架构详解

Braintrust architecture Braintrust treats evals as code: developers write Eval() definitions in TypeScript or Python, CI runs them on every PR, results are diffed against the baseline, and a regression blocks the merge — the CI loop is the hero. eval.ts / eval.py Eval(data, task, scorers) code-first, in your repo Pull Request git diff · CI trigger CI runner braintrust eval ./eval.ts runs full eval suite Braintrust — CI Eval Loop Datasets versioned · forked per PR golden + edge cases Scorers (code) autoevals · LLM-judge · custom TypeScript / Python functions Experiments one run = dataset × task × scorers stored as immutable build artifact Regression Diff vs Baseline side-by-side per-example deltas summary: accuracy + cost + latency Online Logs + Playground production traces feed back as new dataset rows prompt iteration in the UI push run pass / fail · PR check
Braintrust 把评测当成 CI 产物:Eval() 写在代码里,每个 PR 都跑一次,与基线 experiment 做 diff。

数据模型——Eval-as-code 与不可变的 experiment

你在 Braintrust 中编写的单元是一个 Eval()——一个把数据集、任务(你的 prompt 或 chain)、scorer 列表绑在一起的函数,用 TypeScript 或 Python 写就,签入你的代码仓库。一次 Eval() 运行产出一个 experiment:一份不可变的构建产物,把每个样例、每次模型输出、每个 scorer 的得分以及聚合指标缝合成一个对象,可以永久链接、可以对比、可以与产出它的那次提交并排存档。数据集与 scorer 都是一等公民,且都有版本。autoevals 库提供一整套 LLM-judge、分类和相似度 scorer,像任何依赖一样 import 即可。

它闭合的那条回路——每个 pull request 都是一次评测运行

这正是 CI 回路。braintrust eval ./eval.ts 在 GitHub Actions 里每个 PR 都跑一次,产生的 experiment 与 main 上的基线 experiment 做 diff,逐样例的回归以 PR 评论形式出现、并附上并排的输出对照。黄金集上准确率掉了、单样例成本飙了、延迟回归——任何一项都可能让检查不过、卡住合并。这与「事后翻 trace 仪表盘」是完全不同的肌肉:它强迫你在每个 PR 上回答「这次变更是好是坏」,正是Evals 101把它定义为做认真 LLM 工作的最低门槛的那块肌肉。同样的原则下沉到 RAG 也成立——见评估 RAG对检索/接地/答案质量评测集长什么样的描述。

接入形态——包装器与在线日志

埋点是显式的代码而非「魔法」:wrapOpenAI() 包装一个客户端,@traced 包装一个函数,span 自然嵌套。也有在线日志——生产调用流入 Braintrust,可以播种新的数据集行——于是 UI 上的一次「踩」可以变成下一个 PR 的下一条回归测试。但重心是本地优先:评测在你的笔记本和 CI 里先跑,再去生产,这与「网关优先」的产品恰好相反。

Helicone — 架构详解

Helicone architecture Helicone is gateway-first: your app points its OpenAI/Anthropic base URL at Helicone, every request flows through as a transparent proxy, and traces, cost, latency, caching, and rate limits land in the dashboard with zero SDK changes. Your app openai · anthropic · etc. base_url = "oai.helicone.ai/v1" + Helicone-Auth header Helicone Gateway (Proxy) Transparent HTTP proxy forwards · streams · retries no SDK change required Cache deterministic replay cost savings Rate limit + retry per-user / per-key PII filter · keys vault Traces · Sessions · Cost every request + response captured grouped by session_id · user_id Experiments · Replay · Evaluators re-run a captured prompt score with LLM-judge / custom LLM provider OpenAI · Anthropic Gemini · Bedrock Together · OpenRouter … (Helicone AI Gateway can route across providers) request forward response
Helicone 以透明代理的形式挡在模型提供商之前:改一个 base_url,就能拿到 trace、成本、缓存与回放。

数据模型——以被代理的请求为观测单位

Helicone 的单位是一个发往模型提供商的 HTTP 请求,在网关处被捕获。每一行都携带完整的 prompt、完整的响应、流式 chunk、延迟、token 计数、计算得到的成本、模型、提供商,以及 user/session/request 标签和你自设的任意自定义头。多步 agent 和 chain 通过 session ID 聚合——一个你为每段逻辑「对话」或「智能体运行」设置的 header——所以一个多工具的智能体循环看起来是一棵 session 树,而不是四十个互不相关的请求。它并没有内建图-节点抽象;网关看见什么就有什么。

它闭合的那条回路——不做 SDK 迁移的生产可观测性

Helicone 的卖点是:在一个已经上线的系统上拿到真正的仪表盘,所需的增量成本尽可能接近零。把你的 OpenAI 或 Anthropic 客户端指向 oai.helicone.ai/v1(或 Anthropic 的对应地址),加上一个 Helicone-Auth 头,发布。当天,单用户成本、p95 延迟、错误率、prompt 级别的慢查询、缓存命中率就出现在仪表盘上。缓存、重试、按用户/按 key 限流、PII 过滤,以及 AI Gateway 的跨提供商路由都坐在同一层——它们是网关的特性,不是可观测性的特性,但共用代理。这种权衡正是 LangSmith 的反面:你放弃了框架感知(没有节点 span,没有 prompt 版本联动),换回零迁移成本。回放与实验让你能把一个已被捕获的 prompt 换上新模型或新模板重新跑一遍、再用评测器打分,但万有引力中心始终是「我的生产此刻在做什么」。

接入形态——网关代理优先,OTel 可选

代理就是它的「线形状」,没有别的。对于无法改路由的场景,它也提供异步日志 SDK;项目也确实发送/接收一部分 OTel 信号,但标准安装就是「改一个 URL」。对那种成本、质量、延迟话题正发生在「平台账单」层面的团队——财务在问「那 4 万美元去哪了」、运维在问「为什么 14:00 99 分位炸了」——Helicone 是回答这些问题、又不改应用代码的最低摩擦路径。

Arize Phoenix — 架构详解

Arize Phoenix architecture Arize Phoenix is OpenTelemetry-native: instrumentors emit OpenInference spans from any framework (LangChain, LlamaIndex, OpenAI), an OTLP collector ingests them into Phoenix, where traces, datasets, evaluators, and embedding drift sit alongside one another in a self-hostable OSS server. Your app LangChain · LlamaIndex OpenAI · Anthropic · Bedrock OpenInference auto-instrumentors emit OTel spans vendor-neutral schema OTLP exporter gRPC / HTTP · OpenTelemetry Phoenix (OSS self-host or Cloud) OTel-compatible ingest accepts OTLP from any OTel client Traces RAG · agent · LLM spans SQLite / Postgres backend queryable via SDK Datasets + Evaluators phoenix.evals (Python lib) notebook-friendly runs offline against traces Embedding + Vector Drift UMAP clustering · embedding similarity drift RAG retrieval quality monitoring Arize AX (paid prod tier) scaling, drift dashboards, alerts graduates Phoenix into ML-obs heritage OTLP spans
Phoenix 是 OTel 原生的:任何能发出 OpenInference span 的框架都落到同一台服务器;漂移与嵌入视图源自 Arize 的 ML 可观测性血统,并置在旁。

数据模型——OpenTelemetry 之上的 OpenInference span

Phoenix 不发明一套专有 trace schema。它的数据模型是 OpenInference——一份建立在 OpenTelemetry 之上的开放规范,为 LLM、retriever、embedding、工具调用、智能体步骤定义了 span 属性。埋点器就是 OTel 的自动埋点器——把一个 OTel SDK 指向 Phoenix 的 OTLP 端点,一次 LangChain、LlamaIndex、OpenAI SDK、Anthropic SDK 或 Bedrock 调用就会以结构化 LLM span 的形式出现,而你不必自己写包装。其含义是「可移植」:同一个已埋点的应用今天可以把 span 发给 Phoenix,明天发给 Jaeger、Tempo 或 Datadog,无需重新埋点。这个属性是其他三家所不具备的。

它闭合的那条回路——OTel 原生监控,加上 ML 可观测性的漂移

Phoenix 从其母公司 Arize 继承了ML 可观测性传统。这意味着「漂移」不是后补:RAG 输入上的嵌入相似度漂移、随时间变化的检索质量漂移、模型输出的 UMAP 聚类、分人群的回归——都是一等公民视图,是 ML 团队对表格类模型做了十年、又被搬到 LLM 时代的那种监控。phoenix.evals 是一个 Python 库,用于在已存储的 trace 上跑离线评测器(LLM-judge、幻觉、检索质量、自定义等),在 notebook 里很顺手。它闭合的回路是「在生产里监控,发现漂移,跑一段 notebook 评测,开一张工单」,而不是「卡住 PR」的回路。具体到 RAG,评估 RAG把嵌入漂移视图描述为最难「以后再补」的那一块——而 Phoenix 一开始就在这里。

接入形态——OpenTelemetry、开源、自托管优先

Arize Phoenix 在四者中是最名副其实的「开放」:Elastic-2.0 许可,pip install arize-phoenix 即可在 notebook 里跑起来,能扩到 Docker/Kubernetes 部署;Phoenix Cloud 是便利的托管选项,Arize AX 是 OSS 服务器装不下后的付费生产层。OTel 原生的设计是反向锁定的故事——你的埋点在构造上就是可移植的,Phoenix 的价值是叠在这种可移植性之上,而非藏在它之下。代价是工作流的密度:Phoenix 给你原语,但它不会像 Braintrust 那样把你推向 CI 工作流,也不会像 LangSmith 那样把你推向 Prompt Hub 工作流。回路需要你自己拼。

横向对比

埋点形态——SDK vs 代理 vs OTel

Instrumentation shape Four-column comparison of how each platform gets data: LangSmith via LangChain-native SDK callbacks, Braintrust via TypeScript/Python wrappers around model calls, Helicone via a transparent HTTP proxy (no SDK change), and Arize Phoenix via OpenTelemetry/OpenInference instrumentors. Instrumentation shape LangSmith LangChain-native tracing callback; @traceable decorator for arbitrary Python framework-aware graph + node spans Braintrust SDK wrappers around model calls: wrapOpenAI() · @traced code-first eval harness is the primary surface Helicone Transparent HTTP proxy. Change base_url, add a header. No SDK swap. Works with any client. Arize Phoenix OpenTelemetry + OpenInference auto-instrumentors. Vendor-neutral spans; any OTel backend can also receive them.
数据物理上如何离开你的进程,比上面叠的仪表盘差别更大。

四款产品,trace 数据离开进程的方式有三种架构。LangSmith 与 Braintrust 都给你一个 SDK,但分坐「自动 vs 显式」的两端:LangSmith 与框架耦合(LangChain 的 tracer 回调免费触发;@traceable 装饰器覆盖剩下的部分),Braintrust 与包装器耦合(你用 wrapOpenAI@traced 显式接入,胜在一次评测无非就是用这些包装器写出的另一个函数)。Helicone 走的是完全相反的路:代理坐在每个请求之前,所以埋点是改 base_url,不是改代码,权衡是你只能看见跨过线缆的东西。Phoenix 整个跳出「专有 SDK」框架去说 OpenTelemetry/OpenInference,是四者中唯一一个埋点能在「换供应商」之后存活下来的——重新指向 OTel 导出器,同一批 span 就能去任何地方。如果你的团队为栈的其他部分已经标准化在 OTel 上,这种不对称就是决定性的。

评测模型——离线 vs 在线 vs CI

Evaluation model Four-column comparison of how each platform models evaluation: LangSmith centers offline + online evals around the Prompt Hub dev loop, Braintrust treats Eval() as a first-class CI artifact with regression diffs, Helicone offers replay + experiments anchored to captured production traces, Arize Phoenix runs notebook-style phoenix.evals over OTel traces with embedding-drift extensions. Evaluation model LangSmith Dev loop: Prompt Hub + offline runs over curated datasets; online evals sample prod traces Braintrust Eval() as code: runs in CI per PR, diffs vs baseline, blocks merge on regression. Scorers are TS / Py fns. Helicone Replay + experiments over captured production requests. Evals live alongside cost / latency dashboards, not in CI. Arize Phoenix phoenix.evals runs as a Python lib over OTel traces (notebook-first); embedding + retrieval drift as ML-obs add-ons
「这次有没有变差?」这个问题,应该在生命周期的哪一刻被回答。

四者都能对一个数据集跑 LLM-judge。它们在「评测应当生活在生命周期的哪个时刻」上分道扬镳。Braintrust的态度最强硬:评测就是代码,每个 PR 都跑,回归会卡住合并——「这次有没有变差」的答案在变更发布之前就到了。LangSmith跨在开发与生产之间:Prompt Hub 加上在线评测器,后者采样生产 trace、事后浮现回归。Helicone把评测锚定在被捕获的生产请求上——它的回放/实验流程用新模板重跑一个真实的生产 prompt,更像事后假设性分析,而不是发布前的门禁测试。Phoenix把评测器做成在 OTel trace 上跑的 Python 库(在 notebook 里顺手,做 CI 门禁较弱),并把嵌入漂移视图作为持续监控而非离散测试加在旁边。这些没有谁是错的;它们在不同时刻回答同一个问题,正确选择取决于你的 bug 是「我们在某个已知数据集上回归了」(Braintrust)、「生产看起来怪我想知道为什么」(Helicone、Phoenix),还是「我即将发布的这个 prompt 改动有风险」(LangSmith)。

开源 vs SaaS——以及谁持有数据

Open-source vs SaaS deployment Four-column comparison of deployment posture: LangSmith is SaaS-first with a paid self-hosted tier, Braintrust is SaaS with an enterprise self-host, Helicone is Apache-2.0 open source with a hosted offering, Arize Phoenix is Elastic-2.0 open source designed to run anywhere with optional Phoenix Cloud / Arize AX upgrade. Open-source vs SaaS LangSmith SaaS-first. Self-hosted tier behind an enterprise contract. Closed source; SDK is OSS. Braintrust SaaS, with an enterprise self-host (BYO-cloud). Open-source SDK + autoevals lib; backend is closed. Helicone Apache-2.0 OSS end-to-end, including the gateway and UI. Hosted cloud is the easy path; docker self-host works. Arize Phoenix Elastic-2.0 OSS, designed to run anywhere — laptop, k8s, notebook. Phoenix Cloud (hosted) + Arize AX (paid prod).
OSS 立场同时决定了你的 prompt、输出和评测数据集是谁在持有。

这条轴清楚地一分为二。LangSmith 和 Braintrust 都是 SaaS 优先的产品,对那些「不能把 prompt 发到供应商」的企业提供付费自托管层——其 OSS 部分是 SDK,不是存储你数据的后端。Helicone 和 Phoenix 是真正的开源:Helicone 的网关是 Apache-2.0,整套栈可以在你自己的机器上跑;Phoenix 是 Elastic-2.0,从一段 notebook 单元跑到 Kubernetes 部署都在设计内。对于受监管的工作负载——医疗、金融、政府——这一对是天然的起点,Phoenix 的 OTel 原生设计和 Helicone 的网关形态各覆盖问题的不同一半。对其他人来说,权衡是便利:SaaS 优先的产品在 UI 打磨和在线评测特性上更快;OSS 产品在可移植性和「我们持有数据面」上更快。

该选哪一个

使用场景 选 LangSmith,当…… 选 Braintrust,当…… 选 Helicone,当…… 选 Arize Phoenix,当……
收紧 prompt 迭代回路 你生活在 LangChain/LangGraph 里,想要 Prompt Hub + Playground + 在线评测装在一个产品里。 你希望每次 prompt 变更都经由 CI 出货,合并前先看回归 diff。 不是天然合适——Helicone 看的是生产在做什么,不是开发即将发布什么。 你愿意在 notebook 里基于 OTel trace 自己拼出这条回路。
让评测卡 PR 可以通过 SDK + CI 实现,但工作流没那么有主张。 这正是它的全部卖点——TS/Py 写 Eval()、回归 diff、阻断式 PR 检查。 回放/实验是事后的,不是 CI 门禁。 可以把 phoenix.evals 接进 CI,但它是库,不是工作流。
当天就拿到生产成本 + 延迟遥测 可以,但接入需要改 SDK。 可以通过包装器,但重心在离线运行。 是——把 base_url 指向网关,几分钟内仪表盘就亮起来。 如果你已经在跑 OTel,则可以;OpenInference 埋点器开箱给你成本 + 延迟。
监控嵌入/RAG 漂移 有限——不是它的赛道。 有限——不是它的赛道。 有限——网关层指标,不是嵌入空间指标。 这是从 Arize 继承下来的肌肉——UMAP、嵌入漂移、检索漂移。
自托管 + 自持数据面 仅企业付费层。 仅企业付费层。 可以——Apache-2.0,docker-compose 哪里都能跑。 可以——Elastic-2.0,notebook 跑到 Kubernetes。
厂商中立的埋点 支持 OTel,但价值是 LangChain 形状的。 与 SDK 耦合。 代理可移植,但数据落在 Helicone 形状的表里。 OpenInference + OTel 是构造性的——重新指向导出器,留下同一批 span。

常见问题

用 LangSmith 一定要用 LangChain 吗?

不一定,但你会放弃大多数 LangChain 形状的 UI 能力。该平台通过 @traceable 装饰器从任意 Python 或 JavaScript 代码摄取 trace,也通过 OTLP 接收 OpenTelemetry 数据,所以非 LangChain 的栈也可以用 LangSmith 拿到 trace、数据集和评测器。但相对其他方案选 LangSmith 的真正理由是框架感知的视图——智能体步骤分组、Prompt Hub 中的 prompt 版本联动、graph trace 可视化——这些价值在你的应用本就是 LangChain 或 LangGraph 图时最高。

能不付 SaaS 钱就在本地跑 Braintrust 的评测吗?

可以——SDK 与 autoevals scorer 库都是开源的,braintrust eval ./eval.ts 能在笔记本或 CI runner 上跑你的评测套件并打印得分。失去 SaaS 后端,你失去的是持久化的 experiment 存储、并排回归 diff UI、用于 prompt 迭代的 Playground,以及把生产 trace 回流到数据集的在线日志路径。它的卖点正是「这些持久化产物让 CI 回路得以闭合」——只跑本地,对第一个评测还行,对第十个 PR 就力不从心。

Helicone 真的只是一个代理吗?如果我没法把流量绕到供应商怎么办?

标准安装是代理,但不是唯一选项。Helicone 也提供异步日志 SDK,在你的进程里捕获请求并流式发到平台,无需改路由,适合供应商 URL 固定或合规禁止重定向的场景。包括网关在内的完整 Helicone 栈是 Apache-2.0 的,所以「我不能把这发给供应商」的最强版本是把网关整套自托管——线形状不变,自家集群运行。

Arize Phoenix 和 Arize AX 有什么区别?

Phoenix 是开源的 LLM 可观测性项目——Elastic-2.0,免费,可自托管,并提供 Phoenix Cloud 作为托管版本。Arize AX 是同一家公司的付费生产层:继承 OpenInference 数据模型与嵌入漂移血统,并加上规模、告警、基于角色的访问控制,以及生产团队通常会买单的、面向非 LLM 模型的更宽的 ML 可观测性面。这是有意为之的「进阶路径」——开发阶段在 OSS Phoenix 上起步,等到生产规模或治理需要时再迁到 AX,由于两者都说 OpenTelemetry,无需重新埋点。

四者中哪些支持 OpenTelemetry?

四者都声称有一定支持;深度差别很大。Arize Phoenix 是构造性的 OTel 原生——OpenInference 是它的数据模型,埋点器就是 OTel 自动埋点器,于是同一批 span 能发给任何 OTel 后端。LangSmith 和 Braintrust 都接收 OTLP 数据,用作 OTel 管道里的 trace 汇聚点是足够的,但二者并非 OTel 优先设计,最丰富的特性预设你用它们自家 SDK 形状。Helicone 是网关优先;OTel 是次要路径。如果「埋点必须在未来换供应商时存活下来」在你清单上,Phoenix 是唯一一个不必带星号的答案。

我有几个单元测试,还需要评测平台吗?

单元测试覆盖确定性代码;LLM 行为不是确定性的。哪怕针对手工策划的黄金集跑一个非常小的 LLM-judge,也能抓到单元测试看不见的 prompt 回归,跑起来的代价是数小时而非数周——见Evals 101对最小可用配置的描述。要不要从「自己造」升级到「选个平台」,取决于你维护的评测器数量、改 prompt 的人数,以及「需要并排比较 run 而不仅仅滚屏看 log」的需求。在这条线之下,一份 CSV 测试用例加一段 Python 脚本是诚实的工作。

延伸阅读

本站相关内容:

  • Evals 101——评测集真正包含什么、LLM-judge 为何不是免费的,以及任何平台之前的最小可用 harness。
  • 智能体框架——框架在裸模型调用之上添加了什么;LangSmith 的价值在你的应用本就是框架形状时最浓。
  • 成本、质量、延迟——这些平台所度量的三方权衡;网关级数字(Helicone 的主场)与质量分数(Braintrust 的主场)不可互换。
  • 评估 RAG——检索/接地/答案质量的三段切分;在你选一个平台为它打分之前值得先看。
  • 评估记忆质量——记忆特有的指标(recall@k、过期率、漂移),在一个本就懂嵌入的平台上更易监控。

项目来源: