从业资深顾问分享 AI evals 工具选型经验,强调流程重于工具。对从事 AI 系统开发和质量评估的程序员有参考意义。
过去一年里,无论是在咨询工作还是教学中,我都把大量精力投入到了 AI Evals 上。我经常被问到一个问题:“做 evals 最好的工具是什么?”我一直不愿直接回答,原因有两个。第一,人们过于关注工具,而忽视了流程本身。他们以为工具会是一套开箱即用的解决方案,但现实中很少如此。第二,这些工具变化得太快,任何比较几乎都会立刻过时。
在使用过许多主流 eval 工具后,我可以坦率地说,没有任何一个工具能在所有维度上都胜过其他工具。“最好”的工具取决于你的团队技能、技术栈和成熟度。
相比逐项比较功能,我认为更有价值的方式,是向你展示一组精通 evals 的数据科学家如何评估这些工具。在我的 AI Evals 课程中,我们邀请了三家占据主导地位的厂商——Langsmith、Braintrust 和 Arize Phoenix——完成同一份课后作业。这为我们提供了一个难得的机会,可以观察它们如何应对完全相同的挑战。
我们录制了完整过程和现场点评,内容见下方。我们认为,这些内容或许能帮助你了解:在为团队选择工具时,应该考虑哪些方面。
感谢 Shreya Shankar 和 Bryan Bischof 与我一起担任评审。
与 LangChain CEO Harrison Chase 一起。
与 Braintrust 前开发者关系负责人 Wayde Gilliam 一起。
与 Arize 技术 AI 产品负责人 SallyAnn DeLucia 一起。
以下是我们在评审过程中反复提及的几个主题。
减少摩擦比任何单一功能都更重要。具体来说,你应该关注从发现一次失败,到针对解决方案进行迭代需要多长时间。例如,我们很欣赏这样一种能力:查看一条 trace 后,可以直接在 Playground 中使用同一条 trace 进行实验。对于一些具备数据科学背景的团队,以 Notebook 为中心的工作流最为理想,因为它能提供透明度和控制力。这恰好也是我偏爱的工作流。
在考虑以 Notebook 为中心的工作流时,务必要关注 SDK 的易用性。这通常归结为文档质量,以及它与现有数据工具的集成情况。
最好的工具不会试图通过自动化把人排除在外,而是会赋能人类。由于错误分析是 AI 工程中 ROI 最高的活动,因此,工具能否支持高效的人工审查至关重要。应优先选择对人工标注和错误分析提供一等支持的工具。截至本文写作时,许多工具仍然缺少的一项能力是 axial coding(轴心编码)。
对于那些承诺无需人工验证即可实现全自动化的功能,要保持高度警惕,因为它们可能制造一种强烈而危险的信心假象。例如,如果某项功能让一个 AI Agent 既负责创建评估 rubric,又立刻用它为输出打分,就要特别小心。这种“抽象层叠加”往往会把缺陷隐藏在高分背后。应优先选择能让你保持控制、看清过程的工具。
eval 工具应该适配你的技术栈,而不是迫使你去适配它的技术栈。你需要评估一款工具与现有技术的集成程度。此外,也要警惕专有 DSL,因为它们可能增加使用摩擦。最后,能够将数据导出为通用格式,以便在各种环境中进行分析,是一项必备能力。
正确的工具选择取决于团队的工作流、技能组合和具体需求。我希望,通过观察我们的评审小组如何进行这次评估,你能获得一个更好的框架,用来作出自己的决定。
就我个人而言,我通常会把这些工具当作后端数据存储使用,而大多数需求则通过 Jupyter Notebook 和我自己定制开发的标注界面来完成。
你应该审慎看待这些笔记。我建议观看上方的视频,了解我们是如何应用这些标准的,以及你的需求可能会在哪些方面有所不同。
整体工作流非常直观,尤其适合刚开始接触正式评估流程的人。UI 会引导你创建数据集、运行实验并标注结果。
从 Trace 到 Playground 的无缝工作流: 从检查一条 trace 切换到在 Playground 中使用它进行实验,整个过程非常顺畅。
AI 辅助改进 Prompt: “Prompt Canvas”功能是一款强大的 prompt engineering 工具。
数据集创建与管理: 你可以通过上传文件轻松创建数据集,schema 检测功能也有助于正确组织数据结构。
实验与评估: “Annotation Queue”提供了一个专门用于人工审查和标记 trace 的界面,比使用电子表格更加高效。
并排比较能力有限: UI 无法让用户轻松并排比较不同 prompt 版本及其输出。
UI/UX 问题: UI 有时会显得有些拥挤,因为大量选项和信息会同时呈现。
过度自动化的风险: AI 生成样本等功能虽然方便,却可能导致数据趋于同质化。
评审小组总体上对 Braintrust 持积极看法,尤其肯定了它简洁的 UI,以及结构化的评估方法。该工具对 Human-in-the-Loop 工作流的重视是一项显著优势。
重视结构化的 Evals 流程: 演示重点展示了一套扎实、系统的方法:首先让领域专家参与进来,创建初始数据集。
简洁直观的用户界面(UI): 评审小组认为它的 UI 很简洁,比其他工具更容易导航,尤其是 trace 查看页面的可读性很好。
对 Human-in-the-Loop 工作流的有力支持: 该平台提供了专门为人工审查和标注设计的 UI,这对于创建高质量数据集和执行错误分析至关重要。
“Money Table”: 使用失败模式标注 trace 后,最终的数据集视图会形成一份可直接采取行动的结果,让团队能够快速排序、筛选,并量化最常见的失败模式。
“Loop”AI Scorer: 最大的担忧来自“Loop”功能。它是一个 AI Agent,会创建评估 rubric,然后立刻为输出打分,这可能带来一种虚假的安全感。
依赖专有查询语言(BTQL): 评审小组对使用“BTQL”略持怀疑态度,并表示更倾向于把数据导出到 Jupyter Notebook。
笨重的数据工作流: 生成和优化合成数据的流程显得不够高效,需要在各个步骤之间反复下载和重新上传数据。
评审小组总体上对 Phoenix 持积极看法,其中一位评审称它是自己“最喜欢的开源 eval 工具之一”。这款工具的定位是一个开发者优先、以 Notebook 为中心的平台。
以 Notebook 为中心的工作流: 整个评估流程都由 Jupyter Notebook 驱动,让开发者拥有透明度和控制力。能够把标注后的数据重新导出为 Pandas DataFrame,是一项非常强大的功能。
UI 与开发者体验: prompt 管理 UI 因清晰易懂而受到好评。trace 与“Playground”之间的紧密集成,也被认为提供了顺畅的工作流。
开源与 Local-First: Phoenix 可以完全在本地运行,从而带来更强的控制感和透明度。作为一款开源工具,它还被评价为“易于改造”。
UI 可读性: 演示过程中,输出面板中的文本较难阅读,模型输出可能也缺少 Markdown 渲染。
指标与可视化: 该工具会显示每次运行的点统计数据,但评审小组认为这些数据的用途有限,并希望看到直方图等聚合可视化,以便识别异常值。
Prompt 管理与测试: prompt 编辑器会把 system prompt 当作一个庞大、整体式的文本块处理。为了进行系统化测试,更理想的方式是采用组件化设计,让每条指令都可以单独开启或关闭,也就是进行“消融(ablation)”。