Evals 实践:从前沿研究到生产应用




内容概要

本视频探讨了 OpenAI 在人工智能 (AI) 模型评估领域的发展,从传统的学术基准测试转向衡量模型在现实世界任务中的表现。视频介绍了 GDP Eval,这是一个旨在衡量模型在具有经济价值的任务上表现的新评估框架。随后,视频转向讨论 OpenAI 的评估产品 (Evals product),该产品为开发者提供了严格评估其 AI 应用程序和智能体 (agents) 的工具。


目录

  • 引言:AI 评估的重要性

  • 为何评估在 OpenAI 至关重要

  • 传统学术基准的局限性

  • 引入 GDP Eval:衡量真实世界的工作

  • GDP Eval 的范围:覆盖的行业与职业

  • 通过专家配对分级来评估模型

  • GDP Eval 的进展

  • 模型与人类对比示例:护士制作的演示文稿

  • 为何要构建 GDP Eval

  • 将 GDP Eval 应用于你的模型

  • GDP Eval 的局限性

  • 使用 OpenAI API 评估模型

  • 为何评估对开发者至关重要

  • 构建高性能 AI 应用的挑战

  • 介绍 OpenAI 评估产品

  • 新功能:数据集

  • 新功能:追踪 (Traces)

  • 新功能:自动化提示词优化

  • 新功能:支持第三方模型

  • 新功能:企业级支持

  • 演示:Carlisle 的投资基金智能体

  • 评估独立组件(节点)

  • 创建评估数据集

  • 添加标注列

  • 使用大语言模型裁判 (LLM Judges) 进行评分

  • 自动化提示词优化的实际应用

  • 通过追踪功能评估端到端的多智能体系统

  • 为追踪功能建立评估标准

  • 评估工具选型的关键考量

  • 评估自动化的未来

  • 易用性与专家偏好数据

  • 最终经验总结


引言:AI 评估的重要性

Tel: 大家好,我是 Tel,OpenAI 强化学习团队的一名研究员,负责我们的前沿评估 (Frontier Evals) 工作。稍后,负责我们评估产品 (Evals product) 的 Henry 也会加入。我们将在最后进行问答环节,请大家在 Discord 中留下你们的问题,非常感谢各位的到来。

在 OpenAI,我们正在训练一些世界上最强大的 AI 模型。为了理解这些模型的能力,我们需要对它们进行评估。评估可以衡量我们模型的能力,从而引导模型训练朝着好的方向发展。

今天我们很高兴与大家分享两个主题:首先,OpenAI 内部如何评估前沿模型的能力进展;其次,你如何利用实用工具对自己开发的应用程序和智能体进行评估。


为何评估在 OpenAI 至关重要

Tel: 为什么评估在 OpenAI 如此重要?因为训练模型的计算资源和研究员的时间成本都非常高昂。我们需要明确的信号来衡量进展,了解训练的状况,以便及时干预并适当地调整训练方向。


传统学术基准的局限性

Tel: 过去,我们使用像 SAT、LSAT 或高中数学竞赛 (AE) 这样的传统学术基准来推动模型的推理能力。但这些评估的衡量范围有限。例如,当我们开始训练 GPT-3 时,我们无法判断是否取得了进展,因为在这些基准测试上,我们的模型得分已经接近 100%。

然而,这些模型仍然无法完成真实世界的工作。显然,我们需要一种新的方式来衡量进展。你可以把这些传统基准想象成雇佣一个刚从高中毕业的全 A 生。他们当然擅长学习和考试,但在真实世界的工作中却未经考验,而我们都知道这种转变可能非常艰难。

这就像我第一次实习时,工作进度远远落后,以至于在团队聚餐时还在写代码,结果被团队好好地取笑了一番。


引入 GDP Eval:衡量真实世界的工作

Tel: 因此,我们正在从传统的“考试”模式转变为衡量“工作”的模式,就像一个临时加入的同事实际会做的那样,从而了解模型如何在日常工作中支持人们。

为此,我们建立了 GDP Eval。它之所以这样命名,是因为它涵盖了与国内生产总值 (GDP) 相关的任务,用于衡量我们的模型在具有经济价值的真实世界任务上的表现。你可以在 OpenAI 官网和 Hugging Face 上找到它。

当我们在 9 月份推出 GDP Eval 时,它迅速受到了广泛关注,社区里很多人都在讨论和使用它。为了让大家理解其中的原因,我想展示几个这个评估实际衡量的例子。

GDP Eval 上的所有任务都是由平均拥有 14 年从业经验的专家创建的。他们是各自领域中最优秀的人才,我们希望衡量模型在真实世界的工作中与这些专家相比表现如何。

举个例子:一位房地产经纪人拍摄了一些待售房产的照片,并对房产做了一些研究,然后希望制作一份宣传册来展示它。我们感兴趣的是,我们的模型与这位经纪人相比能做得如何?你会注意到,GDP Eval 中的任务周期非常长,通常需要几天甚至几周才能完成,而且是高度多模态的,常常涉及大量计算机操作、图像和工具的使用。

再看一个例子:一位制造业工程师正在创建一个电缆卷盘支架的 3D 模型。这同样是多模态的,涉及一项现实世界中需要有人完成的实际工作。

最后一个例子:一位影视剪辑师正在制作一个包含音频和视频的高能开场短片。


GDP Eval 的范围:覆盖的行业与职业

Tel: 以上只是几个例子,实际上我们覆盖的范围要广泛得多。我们从对美国 GDP 贡献最大的九个行业开始,这些数据来自美联储 (Federal Reserve)。我们纳入的每个行业对美国 GDP 的贡献都超过了 5%。接着,在每个行业内部,我们根据美国劳工统计局 (Bureau of Labor Statistics) 的数据,挑选了对总工资贡献最大的前五个知识工作类职业。

最后,在每个职业内部,政府实际上追踪了该岗位从业者的主要工作任务。例如,如果你是一名会计师,你可能需要查找外部信息、制定预算或与客户沟通。对于我们覆盖的每个职业,我们都包含了其大部分的工作任务。总的来说,这产生了超过一千个真实世界的任务,涵盖了房地产、CAD 设计、零售等领域,旨在真正了解模型完成实际工作的能力。


通过专家配-对分级来评估模型

Tel: 既然我们了解了测试的任务类型,下一个自然而然的问题是,我们的模型在这些任务上表现如何?首先,让我解释一下我们如何为模型评分。

我们采用专家配对评分法 (pairwise expert grading),将模型的输出与人类专家的成果进行比较。评分的领域专家是“盲评”的,他们不知道哪个是模型生成的,哪个是人类完成的,只需选择他们更偏好的一个。我们将这些判断汇总成一个总体的胜率 (win rate),即模型的输出被偏好的百分比。这为我们提供了一个清晰、无偏见的衡量标准,可以持续追踪模型在真实世界工作中的能力。


GDP Eval 的进展

Tel: 这是我最喜欢的一张图表。Y 轴代表模型相对于行业专业人士的胜率。在 2024 年春季,我参与了 GPT-4o 模型的工作,当时我们认为这是我们发布过的最前沿、最强大的模型。但实际上,在 GDP Eval 上,它的胜率不到 20%。这意味着在绝大多数情况下,专家宁愿自己直接完成工作,也不愿使用 GPT-4o。

然而,在过去的 18 个月里,随着 GPT-5 的发展,我们在这些任务上的胜率已接近 40%。这意味着在将近一半的情况下,专家会更偏爱模型的输出,或者认为它与人类完成的一样好。如果这一趋势继续下去,你可以想象一两年后我们会达到什么水平?也许模型将能与人类并驾齐驱。

事实上,业界已经有一些模型,比如这里的 Claude,已经非常接近这个水平了。所以,这些模型将很快能够胜任你们所关心的各类应用。


模型与人类对比示例:护士制作的演示文稿

Tel: 我想做一个小小的解释。这是一个非常简化的任务:一位执业护士正在制作一个关于高血压的演示文稿。我想看看大家能否猜出哪个是模型做的,哪个是人类做的。

好的,认为左边是人类专家做的请举手。有几个人,大概占 10%。那么认为右边是专家的请举手。

如果你喜欢左边的那个,事实证明那是模型生成的。右边那个才是专家的作品。但你可能会发现它们非常相似,几乎看不出区别,两者都很好地完成了任务。

如果你再考虑到完成这项工作所需的时间和成本,模型的速度和成本都远优于人类。在我们的论文中有更详细的数据表明,如果在完成这些任务时有人机协作,与完全由人力完成相比,可以节省大量的时间和金钱。


为何要构建 GDP Eval

Tel: 那么我们为什么要构建 GDP Eval 呢?第一个原因是,了解 AI 如何影响劳动力是一个非常普遍的问题。经济学家目前使用的方法通常是分析使用数据,即人们在生产环境中如何使用这些模型。但这种方法的问题在于,它是一个非常滞后的指标。对于大多数重大的技术变革,其实际应用反映在 GDP 数据中可能需要数年甚至数十年的时间。

例如,飞机、电力、互联网,从发明飞机到大多数人将其用作工作通勤工具,花费了数十年的时间。我们推测,由于监管、文化和程序等原因,AI 的发展也会是这样。因此,评估可以帮助我们主动追踪并沟通我们的模型在真实世界工作中的表现。同时,在我们的研究团队内部,我们也将此作为指导和追踪模型进展的“北极星”指标。


将 GDP Eval 应用于你的模型

Tel: 如果你对这个评估感兴趣,可以在 eval.openai.com 上评估你自己的模型。我们还在 Hugging Face 上开源了这项评估,它已经成为了热门项目第一名,你可以在那里使用任何数据集。最后,我们提供了一个公共的评分服务,以便你可以在自己的结果上进行迭代。


GDP Eval 的局限性

Tel: 我想强调一下这项评估的局限性。我看到 Twitter 上有些讨论,说“OpenAI 实现了所有工作的自动化”。这完全不是这个评估所要表达的。它衡量的是模型在一系列明确定义了输入和输出的任务上的表现。而你可以想象,在实际工作中,情况要复杂得多。你需要弄清楚要做什么,需要对任务进行优先级排序,你的经理可能会给你反馈,然后你还需要不断迭代。

我们正在努力开发 GDP Eval 的未来版本,以包含这些复杂因素。但与此同时,我们非常高兴地看到,GDP Eval 在理解模型如何完成你们正在构建的同类任务方面,取得了比传统学术测试大得多的进展。


使用 OpenAI API 评估模型

Tel: 以上就是我们在 OpenAI 内部构建模型时如何评估前沿模型的方法。但如果你是基于 OpenAI API 进行开发,你可能也希望有一种方法,能够以同样的严谨性为你自己的定制用例评估模型。这就是为什么产品部的 Henry 在这里,他将向你们展示如何做到这一点。


为何评估对开发者至关重要

Henry: 谢谢。重视评估的团队能够持续构建出更好的产品。我们在 OpenAI 几乎每天都能看到这一点,不仅仅是在构建我们的前沿模型时,也体现在我们与一些全球最大的企业和最顶尖的创业公司的合作中。

我们每天都与这些公司合作,帮助他们将 AI 部署到生产环境。从这些工作中,我们深刻体会到评估是多么关键,以及正确进行评估是多么重要。今天,我将分享我们从这些工作中获得的经验,以及我们如何通过我们的产品将这些经验分享给每一个人。

那么,为什么评估对于开发者——那些构建智能体和应用程序的人,而不仅仅是像 OpenAI 这样制造前沿模型的人——如此重要呢?


构建高性能 AI 应用的挑战

Henry: 因为构建高性能的 AI 应用程序至今仍然非常具有挑战性。这并不容易。大语言模型 (LLMs) 的非确定性令人恼火。新模型层出不穷,而在聊天应用中,边缘情况几乎是无穷无尽的。

当你构建一个智能体 (Agent) 时,情况会变得更加困难,因为错误率会随着每一次调用而复合增长。再加上用户的期望值非常高,并且还在不断攀升。而任何错误都可能代价高昂。

现在人们正在受监管的领域构建智能体,比如金融、法律、健康等,确保这些用例的正确性至关重要。用户期望值极高,而你对失败的容忍度为零。


介绍 OpenAI 评估产品

Henry: 所以我想我们都同意,评估至关重要。但目前,要做好评估非常困难。你必须花费看似永无止境的时间来编译具有代表性的输入数据集,还必须创建并校准能够真正反映你业务偏好的评分器 (graders),这非常耗时。有些人干脆完全跳过这一步,凭感觉直接将产品发布上线。

在 OpenAI,我们正努力改善这一现状。我们有一个评估产品,并且今天为它发布了一系列新功能。这个产品旨在让定义和运行评估变得更加简单,并逐步实现自动化。今天,我们推出了一系列新功能,让构建评估、运行评估,特别是为智能体运行评估变得更加容易。


新功能:数据集

Henry: 首先是数据集 (Datasets)。这是我们的可视化评估构建器,它让你能比以往任何时候都更容易地开始构建你的第一个评估,并在一个简单的界面中完成所有人工标注工作。


新功能:追踪 (Traces)

Henry: 接下来是追踪 (Traces)。当你在构建一个智能体或多智能体系统时,追踪是一个非常强大的工具,但在大规模运行时很难解读以发现故障。追踪评分 (Trace grading) 功能允许你在已完成的追踪上运行评分器,识别问题,并将你的调试工作直接引向那些失败的追踪和有问题的代码段。


新功能:自动化提示词优化

Henry: 那么,当你完成一次评估运行后,你会怎么做?你手头有大量相关信息,包括一个提示词、一堆评分器的输出,可能还有人工标注。通常,你需要通读所有这些数据,寻找模式,也许还要做一些提示词工程 (prompt engineering)。但一个更好的方法是自动化提示词优化 (automated prompt optimization)。

我们会利用所有这些输入——标注、评分器输出、原始提示词——然后自动重写提示词,从而极大地加快你的迭代速度。


新功能:支持第三方模型

Henry: 接下来是一个我们产品生命周期中收到的非常普遍的请求:支持第三方模型。所以,当你们使用我们的评估框架时,你们不再仅仅局限于 OpenAI 的模型。你可以在整个生态系统中进行评估。这是通过与 Open Router 的合作以及“自带密钥”(bring your own key) 的方式实现的,因此你可以支持任何自定义的端点。


新功能:企业级支持

Henry: 最后,我们的产品已为企业做好了准备。我们为启用了零数据保留策略的组织提供服务,并且支持企业密钥管理。


演示:Carlisle 的投资基金智能体

Henry: 讲得够多了,让我们来看一个演示。我想向大家介绍一个由全球领先的投资基金 Carlisle 使用我们的 Agent Kit 构建的例子。这是一个简化了的用例,但出于一些我不会详谈的原因,我想做一个简单且易于可视化的东西。

这个智能体的目标是,接收一家公司信息,从不同角度提供分析,对这些分析进行批判,然后生成一份最终报告,供专业投资者在工作流程中使用。

这里你可以看到之前在台上演示过的可视化智能体构建器 (visual agent builder)。你可以看到我们接收一个输入,将其传递给不同的智能体,然后撰写一份报告返回给用户。


评估独立组件(节点)

Henry: 构建一个多智能体系统是复杂且具有挑战性的。你的智能体的好坏取决于它最薄弱的环节,也就是任何一个特定的组件。因此,首先你需要评估每个组件。如果我点击其中一个节点,我可以看到一个智能体。这是一个基本面分析师,它将对给定的公司进行财务分析。

我们当然可以直接运行这个节点,但更好的方法是为它构建一个简单的评估。如果我点击“评估”,它将打开在可视化智能体构建器中定义的那个智能体,并将其加载到我们新的数据集产品中,这使得创建评估变得前所未有的简单。


创建评估数据集

Henry: 在这里,你可以看到我们使用的模型,可以看到变量和工具调用 (tool call) 都已传入。你可以看到初始的提示词,然后我们可以上传一组样本数据,非常基础,只有几行。

现在,这就成了一个可以用来测试这个应用程序的基本数据集。你可以看到我输入了几家公司到这个提示词中,并且这里有几列是基准真实值 (ground truth values),这样我们就可以确保网页搜索工具从网络上获取了正确的上下文信息。

接下来,系统将运行并完成生成过程。在生成过程中,我们可以点击进入,查看实际生成的内容。


添加标注列

Henry: 我们可以做几件事。首先,我们可以添加标注列。这是一个非常强大的工具,用于进行手动的专家标注。在这里,我添加一个评分列,然后再添加一个自由文本反馈列,以便我能附加上那些自由文本的注释。

接下来,我可以通读这些生成的内容,找出一些问题。我可以进行评分,比如这个不错,那个不行。我还可以添加自由文本反馈,比如“这个太长了”。我也可以用这个功能来重写生成的内容,创建一个“黄金标准”的回答。

专家标注是运行评估时一种非常强大的技术,非常值得投入,但它成本高昂且难以规模化。


使用大语言模型裁判 (LLM Judges) 进行评分

Henry: 所以一个更好的解决方案是同时使用评分器 (graders)。在这里,我们将创建我们的第一个大语言模型裁判 (LLM judge),一个简单的评分器,它将对那些生成的内容进行评估。在这个例子中,我将要求这个裁判评估一份财务分析,确保我们能看到正面和负面的论据、与竞争对手的比较,以及一个明确的“买入/卖出/持有”评级。

我还会确保它提取的季度收入和利润数据与我们参考数据集中的基准真实值一致。现在,我可以保存这个评分器,它会接收这些生成的内容,将其传递给大语言模型裁判,然后创建一个我可以在这里看到的反馈。

评分过程可能需要一分钟左右等待推理完成,但就像一个优秀的电视厨师一样,我已经准备好了一个之前做好的例子。这里我们可以看到这个评分器已经完成了工作,我们可以通读这个评分标准,理解为什么可能会出现失败。例如,在这里我们可以看到,回复没有将给定公司与其任何同行进行比较,还有一些其他的问题。


自动化提示词优化的实际应用

Henry: 那么我们能做些什么呢?有几种方法。首先,你可以通读所有失败的案例,然后手动进行提示词迭代。一个更好的方法是自动优化这个提示词。我点击了下面的“优化”按钮,一个新的标签页打开了,它正在用一个智能体来重写提示词。

这个过程会利用数据、标注、评分器输出,并建议一个改进后的提示词。同样,这需要一些时间来完成,所以我们直接跳到我之前做好的一个。

在这里我们可以看到一个差异对比视图。我们原来使用的提示词非常简单,只有几行,并没有完全捕捉到我希望生成内容考虑到的所有标准。而这里是自动重写的提示词,它明显更详尽,并且与我在手动标注中体现的偏好更加一致。


通过追踪功能评估端到端的多智能体系统

Henry: 这就是第一步,我是如何对一个多智能体系统中的单个节点进行评估的。你还需要关注端到端的表现,确保整个系统都按预期工作。

要做到这一点,追踪 (traces) 是一个很好的工具。这里我们可以看到从这个智能体创建的一系列追踪记录。然后我们可以附加评分器。实际上,我先把之前做的这些删掉。

我们可以附加评分器,然后说,当我们在浏览这些追踪记录时,发现了一些问题。比如,我们想确保引用的来源是权威的第一方来源,而不是新闻聚合器。再比如,我们滚动到生成内容的末尾,发现了另一个问题:最终的输出需要有一个明确的“买入/卖出”评级。


为追踪功能建立评估标准

Henry: 所以,这里的工作流程是建立一套评估标准 (rubric),也就是一组你希望在这些追踪记录上大规模运行的测试。你可以在这里创建它们,边浏览多个追踪记录边创建。你可以设定你想要测试的范围。

一旦你建立好了这套评估标准,你就可以点击“全部评分”,这将在大量的追踪记录上运行这些评分器,从而帮助你找到有问题的例子以便深入研究。

让我展示一下运行后的样子。显然,运行这样的评估需要一些时间,因为一个追踪记录非常大。这里你可以看到结果正在生成,评分器也在工作。一旦完成,我们再来看一个我之前准备好的例子,你会看到这样一个视图,可以大规模地查看评分器的输出。我可以点击任何一个追踪记录,了解哪里出了问题,从而加速追踪审查过程,而不是一次性阅读几十个。

以上就是关于 Carlisle 如何使用我们的智能体构建器来构建一个智能体,然后关键性地评估单个节点以及整个多智能体系统端到端表现的快速概览。这能让你对系统的性能充满信心,如果你处在一个对性能要求极高的领域,这显然至关重要。


评估工具选型的关键考量

Henry: 当你决定如何运行评估以及使用什么工具时,我们认为有几件事非常值得考虑。首先是与一套水平集成的工具进行整合,这些工具能在一个地方提供你需要的一切。我们正在产品的 Agent Kit 中构建这样的能力。它提供了从在构建器中构建智能体到智能体 SDK 的紧密集成,还有便捷的部署工具和现在简便的优化工具,让你可以在一个地方完成整个迭代循环。


评估自动化的未来

Henry: 其次是自动化。我今天向大家展示了提示词优化如何加速构建高性能智能体的过程。我们希望更进一步,让你能够根据有代表性的用户输入来生成和校准评分器,并生成数据集。所以请大家期待这些功能即将推出。


易用性与专家偏好数据

Henry: 最后,我们真的在努力提升易用性,让你的领域专家能够轻松地在一个工具中工作,在一个地方捕获他们的专家偏好数据,并降低运行评估的门槛,因为目前这可能既有挑战性又有些令人生畏。


最终经验总结

Henry: 我们从过去多年与大量客户的合作中总结出的最后几点经验是:从简单开始,并在开发过程的一开始就构建评估。不要等到最后才做一些临时的测试。在一开始就定义一个简单的评估集,并随着你的应用程序的构建而不断完善它。

接下来,使用真实的人类数据。不要凭空想出一些假设性的例子,并期望它们能代表你的真实用户。相反,从过去真实的用户输入中抽样,并将它们作为你评估集的基础。

最后,与领域专家一起进行标注,并将你在评估上花费的时间用于确保这些偏好数据被你的评分器和提示词所捕获。让一些手动的、重复性的工作,比如提示词优化、评分器校准,尽量实现自动化,这样你就可以专注于那些更重要的任务。

我们坚信,严谨的评估能让任何人都能构建出高性能的产品,它们是开发过程中至关重要的一部分。今天,你已经看到了我们在 OpenAI 如何评估我们的前沿模型,以及你如何通过我们的新产品,以同样的严谨性来评估你自己的应用程序。


AI 前线

来自 2000 万个 Pull Requests 的数据揭示了 AI 转型的实际情况 — Nicholas Arcolano, Jellyfish

2025-12-23 12:59:12

AI 前线

AI 浪潮下:程序员的未来何去何从?

2025-12-23 12:59:19

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索