AI 智能体评估工具对比:LangSmith、Langfuse、Phoenix 与 Potato
从智能体轨迹的人工审核角度对比 LangSmith、Langfuse、Arize Phoenix、Braintrust、Opik、W&B Weave 与 Potato:标注队列、逐步标签、一致性和自行部署。
评估 AI 智能体的工具分为两类。可观测性平台,包括 LangSmith、Langfuse、Arize Phoenix、Braintrust 和 Opik,在生产环境中追踪智能体,让审核者给运行和 span 打分。Potato 这样的标注工具则从人工研究出发:每条轨迹有多名审核者,每一步都有标签,并衡量审核者之间的一致程度。 两者可以配合使用:继续在原来的地方做追踪,导出需要评判的运行,再到标注工具里开展研究。
智能体轨迹(trace)记录了智能体走过的每一步:它的推理、调用的工具以及工具返回的结果。人工评估可以给整次运行打分,给每一步加标签,或者把两次运行并排比较。LLM 评审(LLM-as-a-judge)会自动给轨迹打分,但需要人工标签来检验它。见如何评估 AI 智能体。
本页讨论智能体和 LLM 的评估。所有数据类型放在一页里的对比见 AI 标注工具对比。
哪些智能体评估工具值得比较?
| 工具 | 定位 | 人工审核 |
|---|---|---|
| LangSmith | 追踪和评估 LangChain 与 LangGraph 应用 | 带评分细则反馈的标注队列、每次运行可有多名审核者、成对比较队列 |
| Langfuse | 开源的追踪、提示词管理与评估 | 标注队列,以及用于分类或数值分数的分数配置 |
| Arize Phoenix | 追踪与评估 | 标注配置,支持来自人、LLM 或代码的分类、连续和自由文本反馈 |
| Braintrust | 评估与日志 | 人工审核分数:分类、连续和自由文本 |
| Comet Opik | 开源的追踪与评估 | 可通过链接分享给领域专家的标注队列 |
| W&B Weave | 追踪与评估 | 在界面或 API 中定义的人工标注评分器 |
| Label Studio | 通用标注 | 导入 LangGraph、CrewAI 和 AutoGen 轨迹,做逐步审核 |
| Potato | 人工标注研究 | 带错误分类体系的逐步标签、多智能体图、成对比较、审核者间一致性 |
我们的能力对照表中各工具的自行部署与价格:
| 自行部署 | 价格 | |
|---|---|---|
| LangSmith | 仅限 Enterprise 方案 | 每席位每月 39 美元 |
| Langfuse | 免费(MIT) | 自行部署免费 |
| Comet Opik | 免费(Apache-2.0) | 自行部署免费 |
| Galileo | Enterprise 合同 | 每月 100 美元 |
| Potato | 免费(GPL-3.0) | 免费 |
各平台如何处理人工分数
LangSmith 的标注队列支持评分细则反馈键、可配置的每次运行审核人数、成对比较队列,以及彼此看不到对方反馈的审核者。
Langfuse 通过分数配置定义分数,并通过标注队列把轨迹、观测和会话分派给审核者。在其社区论坛上,有用户在 2025 年 11 月反映,两个人仍然无法在同一个队列里独立标注同一条轨迹;那里讨论的变通办法是给每位标注者单独建一个分数配置(讨论 #4348)。Langfuse 可以计算人工分数与 LLM 评审分数之间的 Cohen κ,每次比较两个序列。
Arize Phoenix 让来自人、LLM 和代码的标注共用同一种结构,并用标注配置保证各次审核的标签一致。标注过的 span 可以导出为数据集,用于实验,或用来构建与人工判断对齐的评估器。
Braintrust 给日志和实验附加人工审核分数。它的文档说明,对部分审核者隐藏某个分数只是为了让审核界面更清爽,并不是访问控制,因为任何审核者都可以显示全部分数。
Comet Opik 把轨迹和对话线程放进标注队列,并能通过链接分享给领域专家,审核界面是为非技术背景的审核者设计的。
W&B Weave 通过人工标注评分器记录人工反馈,评分器在界面中或通过 API 创建。
我们在 2026 年 8 月和 9 月核查时,没有在 LangSmith、Langfuse、Phoenix、Braintrust 或 Opik 的标注文档中找到人工审核者之间一致性的统计。它们都把人工判断作为分数来收集。Labelbox 和 Scale AI 以托管服务的形式出售智能体评估数据,这是另一种采购:他们连审核人员也一并提供。
Potato 的不同之处
- 支持多种框架的轨迹。 转换器可以读取 15 种格式:ReAct、OpenAI、Anthropic、LangChain(涵盖 LangSmith 的导出)、Langfuse、来自 CrewAI、AutoGen 和 LangGraph 的多智能体日志、SWE-bench、SWE-Agent、Claude Code、Aider、WebArena、Mind2Web 及其他浏览器录制、MCP、OpenTelemetry 和 ATIF。
- 每一步都有标签。
trajectory_eval方案记录每一步是否正确、来自层级化分类体系的错误类型、严重程度和累计分数。这些标签同时就是过程奖励模型的训练数据。 - 多智能体结构。 审核者可以编辑交互图、标出关键路径、把失败归因到某个智能体和某一步,并审核交接。Langfuse 的 Agent Graphs 视图把多智能体运行显示为用于调试的图,但审核者不能在上面标注。见如何评估多智能体系统。
- 审核者之间的一致性。 每条轨迹可以分给多名互相看不到对方标签的审核者,并报告标注者间一致性。评审校准把 LLM 评审与盲标的人工标签作比较。见如何衡量 LLM 评审者与人类标注者之间的一致性。
- 编程智能体和计算机操作智能体。 带语法高亮的统一 diff、终端输出,以及锚定到代码行的审核评论。计算机操作的运行会显示带点击位置的截图。见编程智能体评估和评估计算机操作智能体。
把轨迹导入 Potato
从可观测性工具中导出需要审核的运行,然后转换:
python -m potato.trace_converter \
--input langfuse_traces.json \
--output data/traces.jsonl \
--input-format langfuseLangSmith 的运行导出使用 --input-format langchain。如果某个框架不在列表里,--auto-detect 会根据字段名选择转换器。
Potato 中的逐步审核任务
annotation_schemes:
- annotation_type: trajectory_eval
name: step_evaluation
description: "Evaluate each step for correctness and mark any errors."
steps_key: steps
error_types:
- {name: reasoning, subtypes: [logical_error, factual_error, planning_error]}
- {name: execution, subtypes: [wrong_tool, wrong_args, api_error]}
severities:
- {name: minor, weight: -1}
- {name: major, weight: -5}
show_score: true如何设计错误分类体系,见标注智能体轨迹。
Potato 在智能体上不做的事
- 它不是生产监控服务。 它有支持 OpenTelemetry 导出的追踪 SDK,但没有托管云,也没有为生产流量的延迟和成本设计的看板。它只能自行部署。
- 不提供审核人员。 请自带审核者,或在 Prolific 上招募。
常见问题
在人工审核方面,LangSmith 和 Langfuse 有什么区别?
两者都通过标注队列给轨迹和 span 附加人工分数。LangSmith 是专有软件,在 Enterprise 方案下可以自行部署,支持每次运行多名审核者和成对比较队列。Langfuse 采用 MIT 许可证,可以免费自行部署;在其论坛上,有用户反映两个人还不能在同一个队列里独立给同一条轨迹打分。两者的文档都没有提供人工审核者之间一致性的统计。
智能体评估有没有 LangSmith 的开源替代品?
在追踪和打分方面,Langfuse(MIT)和 Comet Opik(Apache-2.0)都是开源的,可以免费自行部署。对于人工评估研究,即每条轨迹多名审核者、逐步标签和一致性,Potato 是开源且免费的。Potato 能读取 LangSmith 和 Langfuse 的导出,因此可以与两者中的任何一个配合使用。
如何衡量人工审核者在智能体轨迹上的一致性?
每条轨迹至少分给两名互相看不到对方标签的审核者,然后按问题分别计算:两名审核者用 Cohen κ,多于两名用 Krippendorff α。逐步标签需要先把步骤对应起来。系数的选择见标注者间一致性详解。
能在 Potato 中使用来自 LangSmith 或 Langfuse 的轨迹吗?
能。python -m potato.trace_converter 用 --input-format langchain 转换 LangSmith 的运行导出,用 --input-format langfuse 转换 Langfuse 的导出。生产追踪保持原样,只把需要评判的轨迹导入 Potato。