OpenAI 黑科技 Deep Research 诞生记:一个工程师的“不务正业”如何改变 AI 战争格局

编译 | 傅宇琪

4 月 24 日,OpenAI 宣布所有美国用户从此可以免费使用 Deep Research(深度研究)。这是一款集成于 ChatGPT 的 AI 研究助手,旨在帮助用户高效地完成复杂的多步骤研究任务,生成结构化且可验证的研究报告。那么,Deep Research 和 o3 模型之间有什么区别?智能代理发展过程中存在哪些挑战?这个模型成功的关键因素又是什么?

最近,OpenAI Deep Research 负责人 Isa Fulford 在播客节目中,与主持人 Sarah 细致分享了 Deep Research 的背后故事。她们讨论了这一项目的起源、人类专家数据的作用,以及构建具有实际能力甚至品味的智能代理所需的工作。基于该播客视频,InfoQ 进行了部分删改。

核心观点如下:

  • 如果你有一个非常具体的任务,认为它与模型可能已训练的任务完全不同,或者有一个对业务流程至关重要的任务,这是尝试强化学习微调(RFT)的好时机。

  • 理想的代理应该能够为你进行研究并代表你采取行动。当代理的能力和安全性发生交汇时,如果你不能信任它以一种没有副作用的方式完成任务,那它就变得没有用处。

  • Deep Research 的下一步,应该是让它能够访问私有数据,比如能在任何内部文档或 GitHub 上进行研究。

  • Deep Research 适合做有具体要求的任务,而对于更一般性的、高层次的事情不那么适用。

Deep Research 的起源

Sarah: 你和你的团队推出了最近最令人兴奋的 AI 产品之一——Deep Research。这个产品的创意来源是什么?

Isa: 大约一年前,我们对内部在强化学习(RL)算法上的进展感到非常兴奋。与此同时,我和我的朋友 Josh 一起做了一些副项目,我们对智能体(agent)非常感兴趣,并且想知道是否可以将相同的算法应用于服务普通用户每天会做的事情。我们最初考虑的两个方向是在线浏览任务(online browsing)和软件工程方面的应用,因为在很多职业中,人们确实需要做大量的研究,整合大量的信息,然后再写出报告。

起初,我们从数学和编程问题开始,因为这些问题已经有了现成的数据集,你可以用它们来训练模型。但是对于浏览任务,情况就不太一样了,因为没有现成数据集。因此,我们实际上是从明确我们希望最终模型能够擅长的实际产品用例开始的。我们做的第一件事就是列出一些任务,比如“我希望模型能够找到这份产品列表,并按 Reddit 上的评论进行排序”或者“我想写一篇关于这个主题的文献综述”。

Sarah: 我觉得很多人想到浏览和智能体时,往往会停留在那几个典型的、以交易为主的用例上,比如点一个汉堡之类的常见任务,但我个人并不认为这些用例特别有启发性。你为什么会提出这样一组与众不同的目标呢?

Isa: 在之前的工作中,我们希望能够在从大量来源中合成信息方面变得非常擅长,主要是处理只读任务。这出于多方面原因,首先,知识工作者大多都从事这类工作,因此对这些人群来说,这将非常有用。其次,我认为 OpenAI 的总体目标是创建能够进行新的科学发现的通用人工智能(AGI)。我们认为,要实现这一目标,合成信息是一个前提条件。如果你无法撰写文献综述,你就不可能写出一篇新的科学论文。因此,这与公司更广泛的目标非常契合。

Sarah: 你们帮助创造了一个人工智能,使我在学习上变得更好,而它本身也在学习。

Isa: 实际上,这是一个非常庞大的过程。我们最初向人们推介这个想法,没有任何模型训练,完全是通过提示模型和用户界面展示这个产品的愿景。在那之后,我们开始思考如何实现:如何创建数据,如何训练模型,需要开发什么工具来使模型有效地浏览互联网,这是一个反复迭代的过程。我们还与 RL 团队进行了大量合作,不间断地工作了几个月,有足够的时间去反复修改和完善,而没有太大压力去快速交付,这感觉很好。

Sarah: 你有没有最喜欢的、最重要的任务?

Isa: 人们会提出不同的任务,我记得其中之一是找到两位作者共同写的所有论文。模型可以找到其中大部分,甚至全部。另外还有一个任务,模型现在可能无法回答了,那就是找到我们一位同事的中间名。个人来说,我自己其实很早就开始用它来查找关于产品推荐和旅行的信息。我认为实际上有很多内部人员也在使用它,Sam 告诉我,他用它买了很多东西,每次模型出现问题时,人们都会发消息问我们:“发生了什么?我们需要使用模型,即使是之前那个版本。”虽然老实说,它并不是那么好。所以,我认为这是一个很好的初步信号。

Sarah: 关于工具和数据的创建,你有什么可以分享的吗?

Isa: 关于数据创建,我们使用了人工训练师来完成其中的一部分工作。我想我们需要设计数据集来训练模型,帮助它学习我们希望它掌握的技能。我们还必须为这些数据集制定评分标准,在训练过程中进行评估。我们还需要为模型开发出有效的工具,确保它能够成功完成任务。

目前,我们有一个浏览工具,它能够查看嵌入的图片和打开 PDF 文件。它还可以访问 Python 工具,进行分析、计算和绘制图表等。在未来的版本中,我们将扩展工具集,模型的能力也会随之增强。我们还需要创建数据集,使模型能够使用所有这些不同的工具,并在训练过程中学习如何灵活应对各种问题。这样,模型就能在产品中解答用户提出的新问题。

Sarah: 你对那些考虑为特定任务进行 RFT 的初创公司有什么建议吗?比如,什么时候值得去做 RFT,或者是否可以尝试采用传统的方式,利用代理作为一个组件进行微调?

Isa: 一般来说,针对某一类任务进行训练时,模型也能够很好地泛化到其他领域,但如果针对某个特定任务进行训练,模型在该任务上的表现会更好。比如,你可以训练一个推理模型,主要处理数学、编程等问题,同时它也能在写作方面表现良好。但是如果你将其专门训练在某个特定任务上,它的表现会更为优秀。

我认为,如果你有一个非常具体的任务,认为它与模型可能已训练的任务完全不同,并且你自己尝试了很多次,尝试了各种不同的提示,模型仍然表现得非常差劲,那么这可能是一个尝试 RFT 的好时机。比如,如果是一个基因测序任务,或者是某些与模型训练分布完全不同的任务,RFT 可能会有帮助。

另外,如果你有一个对业务流程至关重要的任务,提升 10% 到 15% 的性能可能是生死攸关的,可以尝试 RFT。但如果是你认为模型表现已经不错,但偶尔会出错,随着新版本模型发布,它会逐渐改进的任务,可能就不值得花费精力去进行微调,因为模型自然会在这些任务上变得越来越好。

Sarah: 你提到过需要依赖人类专家来创建一些数据。你认为在哪些方面需要专业知识?你对浏览专业知识或信息收集的理解,有哪些是之前没有意识到的?

Isa: 我想这属于那种几乎每个职业都涉及的事情:你需要在某个领域提出问题或进行研究,然后从多个来源收集信息以综合得出答案。在这个过程中,你必须具备判断哪些信息源有用、哪些没有用的专业知识。RL 的一个有趣之处在于,你不需要了解一个人如何进行整个研究过程,你只需要知道任务是什么,结果应该是什么。然后,模型会在训练过程中学习如何从问题出发,得出一个好的答案。

我认为我们采取了一种相对广泛的方法,这也是如果你在像 OpenAI 这样的地方工作,你可以做一些大多数初创公司会被告诫不要做的事情——尝试聚焦于一大群用户,招募来自不同领域的专家,看看能否一次性在所有领域都取得进展,这是我们采取的方式。我们还创建了大量的合成数据集等东西,但人类数据无疑是让这个模型成功的关键部分。

Sarah: 模型在这些领域中学习到的规划能力有没有让你感到惊讶?模型的路径是否让你感到意外?

Isa: 有时候,它会使用一些我自己不会选择的搜索词,或者说我们没有教它一开始就进行规划。有时候,模型会做出聪明的举动,尝试绕过你给它设置的限制,所以你必须确保它没有“作弊”,比如尝试使用不同的搜索引擎,而不是你指定的那个搜索引擎。你需要时刻留意,以防模型做出你不希望的行为。

Sarah: 那我们顺便讨论下模型的一些失败情况。你是如何看待代理的累积错误、分心,甚至是安全性问题的呢?

Isa: 由于 Deep Research 实际上不能采取不属于典型代理问题的行动,因此这些问题并不完全一样。但我认为,模型的回答更加全面且耗时较长,这意味着人们可能会更信任它。因此,幻觉问题可能更严重。尽管这个模型比我们发布的任何模型都少出现幻觉,但它仍然有可能出现幻觉,通常是因为它从某个来源中错误地推断出某些东西。这也是我们为什么需要引用的原因之一,因为用户必须能够检查信息的来源。

我理想的代理应该能够为你进行研究并代表你采取行动。当代理的能力和安全性发生交汇时,如果你不能信任它以一种没有副作用的方式完成任务,那它就变得没有用处。例如,如果你让它帮你做某件事,但它在过程中发送了一封尴尬的邮件,这就不是任务的成功完成。

Sarah: 你认为人们会需要明确的防护措施吗?你认为这些特征可以在模型本身中学习到吗?

Isa: 如果你使用过 Operator,我相信你已经经历过每次确认正确操作的过程。我认为一开始这样做是非常有意义的,你需要与用户建立信任。随着模型变得越来越强大,也许你会看到它成功地做了几次事情,逐渐开始更加信任它。所以,也许你会允许它,比如发送邮件时,不需要每次都问你。但我确实认为,当这些代理开始推广时,我们肯定会需要有防护措施和确认机制。虽然这些不一定是最终的能力,但我们仍然希望确保有一个好的监督机制。我认为代理最终会强大到我们愿意信任它们代表我们去做任何事情。

如何构建有品味的智能代理?

Sarah: 你认为 Deep Research 作为产品会有哪些明显的改进?

Isa: 理想的状态可能是拥有一个统一的代理,它能够做所有这些不同的事情。任何你会委托给同事的任务,它都应该能够完成。

Sarah: 我们如何决定是自己去做这件事,还是让代理去做?还是说总是先尝试让代理去做?

Isa: 如果是我的工作的话,我会先尝试让代理去做。其实这有点像每当模型变得更强大时,人类的抽象层次也会相应提高。也就是说,你要求它完成的任务层级越来越高,但仍然是“你”在启动任务。比如说,也许一年前,我让它为我写一个函数,而现在,我让它写一个完整的文件,或许明年它会帮我做一个完整的 PR 之类的。所以,我认为仍然是“人”掌握主动权。Deep Research 的下一步,应该是让它能够访问私有数据,比如能在任何内部文档或 GitHub 上进行研究。

一切归根结底都与检索有关。接下来,逐步开始采取正确的行动或调用 API,显然还有很多模型现在做得不完美的事情,我们需要继续改进。我们与 RL 团队的合作关系非常好。很多团队会贡献数据集,用于他们进行的大规模训练,我们也这么做了。随着他们用大量计算资源训练模型,最终它就成了我们可以继续训练的更好的基础模型。所以我认为,模型的能力是不断积累的。

Sarah: 所以这不是一个低调的研究预览,而是一个从副项目变成了一个非常有趣的、内部提案的项目。你认为什么样的产品是 OpenAI 想要独立开发的,什么又属于核心研究的方向呢?

Isa:OpenAI 一个很酷的地方是,即使公司在不断扩展,员工还是能提出想法、验证想法并推动其实现,我总是受到这样的动力驱使自己,去做那些我想做的事情。比如说,关于 Deep Research,我确实经常用它来查找各种信息,比如旅行推荐,我几乎是一个每天都会活跃使用的用户。

Sarah: 有没有看到一些用户的使用案例?有没有什么方式,你会鼓励人们使用 Deep Research?

Isa: 我一直对看到人们在我完全没有专业知识的领域使用 Deep Research 感到很有兴趣,很多不同的科学家都在分享他们如何使用 Deep Research,以及它如何帮助他们完成某些任务。对我来说,这是最有趣的,因为在我们开发它的时候,我显然无法判断输出是否正确。所以看到专家们真正地验证 Deep Research 的回答是非常有价值的。

让我感到惊讶的是,有人开始用这个模型做代码搜索和编程问题。比如说,他们会说,“使用最新的包来帮我写这个文件”。或者是数据分析方面,这也是模型已经相当擅长的领域:上传一个文件,然后让它为你做一些分析或研究,最后生成一个包含数值分析的报告。

Sarah: 其实我还没有尝试过这个功能。是什么让模型在这方面特别擅长?它具备了什么能力,能让它完成多步骤操作、能够进行规划和理解任务并最终生成报告呢?

Isa: 我认为基础模型,或者说我们从 o3 开始微调的模型,实际上是一个非常强大的模型。它在许多不同的数据集上进行了训练,包括大量的编程、推理和数学任务。因此,这种继承的能力非常强大。当你再加上浏览功能,它仍然能够进行分析。

Sarah: 我们谈到过关于从用户那里学习品味或偏好的想法。你认为 Deep Research,或者说代理模型一般如何发展才能考虑到人们的学习方式或他们的信息获取偏好呢?

Isa: 我认为代理的记忆功能肯定会非常重要。如果每次你让它做一项任务时都必须重复相同的信息,告诉它你希望它如何做任务,以及关于你的所有细节,那将会非常令人烦恼。而目前,Deep Research 确实需要这么做。现在完成一个任务可能需要 5 到 30 分钟,随着任务变得越来越复杂,未来可能需要几个小时或几天来完成你让模型做的任务。你肯定希望模型的研究是逐步积累的,而不是每次都从头开始。

Sarah: 一些领先实验室的许多人,对通向 AGI 的路线,存在一定共识,或者说对此有信心。而且,RL 的回报让大家非常兴奋,认为“这似乎行得通,我们将从中获得真正的能力”。它的数据效率非常高,但这将是一项艰巨的工作。告诉我一些关于构建 Deep Research 的情感体验,以及这是否改变了你的看法。

Isa: 我觉得看到这个算法的数据效率如此之高,真的令人印象深刻。实际上,筛选这些数据,然后确保模型能够访问人类在完成工作时需要的所有工具,都是挑战。再者,要确保任务的设计能满足人们在工作中实际需要的,并且能够评估模型是否完成得好,也很难。而且,在预训练阶段,还有许多其他挑战,因为你拥有更多的数据,必须处理很多不同的任务。你需要一个非常好的基础模型才能进行 RL,对于我们的团队来说,我们就是在做更多的 RL。所有这一切都是互相促进的,大家都能看到一条清晰的路径,朝着具有广泛能力的代理迈进。

Sarah: 你认为在进展上有大的障碍吗?就像你说的,可能不完全是将其描述为 Deep Research 的下一次迭代,而是对统一代理能力的信心,觉得它会像一个同事一样工作。是什么阻碍了我们实现这一目标?

Isa: 我们需要解决很多非常棘手的安全问题,我们绝不会发布任何我们没有非常高信心认为是安全的东西。当模型可以访问你的 GitHub 库、密码和私人数据时,风险就大大增加了。因此,这是一个非常大的挑战。我想,如果你希望模型能够执行需要很多小时的任务,那么找到高效的方式来管理上下文就变得尤为重要,这和内存问题有点类似。如果你做一个任务很长时间,你最终会遇到上下文耗尽的问题。那么,处理这个问题的高效方式是什么呢?然后就是创建数据和工具的任务,我已经说过几次了,这确实是一项艰巨的工作。

Sarah: 我刚刚在查看我的查询历史,我的用户请求是想看看我向 Deep Research 提出的要求和向其他模型提出的要求有哪些不同。我曾查找过与个人品味相关的东西,我可能会说,“我喜欢这一系列书籍,原因是……我希望你给我一个长篇总结,列出你认为我应该阅读的其他书籍,并解释原因。”我意识到,我并没有一个非常清晰的心智模型,来判断什么时候 Deep Research 应该比 o3 更好。你能给我一些建议吗?

Isa:Deep Research 在你有非常具体或明确的问题时非常有效,也就是说,它可能不适用于一个话题的概述,而是你在寻找一些具体的信息,并且你认为这些信息可以通过现有的在线研究来补充。即使这些信息也包含在模型的基础训练数据中,我认为能够实时访问这些信息仍然非常有用。所以,我的建议是在特定的检索或来源上进行聚焦。此外,我们已经训练它能够生成比普通模型更长的输出。因此,如果你需要非常全面的信息,有时候它甚至可能太过详尽,不适合某些任务。

我曾经用它来找新的品牌。我会说,这些是我喜欢的品牌,帮我找到一些类似的品牌,或者找到像这件外套一样的具体款式,类似这样的需求。它在这方面非常擅长。相比之下,我认为基础模型或普通模型可能会给你一些品牌,但它不会完全符合我提供的所有条件,比如“我要找到一件假毛皮外套,长度是这样的,是这个季节的”,它是做不到的,因为它没有最新的信息,而且也无法一次性处理所有查询的约束条件。如果我在找一个非常具体的东西,可能需要几个小时才能找到,我会用它。我认为,Deep Research 非常适合做这类任务,而对于更一般性的、高层次的事情,可能就不那么适用了。

Sarah: 在 Deep Research 的训练过程中,是否有某个特别的成功或失败的时刻?

Isa: 我们原本认为,训练模型进行浏览任务会有效。但实际上,当我们第一次用这个算法在一个新的数据集上训练模型,并看到它真正有效,能够与模型互动时,还是让人感到非常惊讶。尽管我们本来就认为它会有效,但它的效果如此好,真的让人有些意外。

但是有时候,它失败的地方也让人感到意外。有时它会做出非常聪明的举动,然后又犯一个错误,我就会想,“你为什么要这么做,停下!”所以我认为它确实还有很大的改进空间,但到目前为止,我们对这个模型还是感到非常印象深刻。

Sarah: 我习惯了所有技术工具都能即时响应,而 Deep Research 并不是即时的,它需要思考和使用工具。那么,它能更快吗?

Isa: 有时候你并不需要它做非常深入的研究,但你希望它能够做得比简单搜索更多。我认为我们很快会发布一些让人们感到满意的功能,填补这个空白。

Sarah: 我不知道该怎么表达这个偏好,但我希望有一天能切换到这种模式:“尽你所能,在接下来的五分钟内做到最好。”因为我会对人类说这个话。

Isa: 让用户自己做决定似乎是个不好的用户体验,模型应该更擅长判断需要多少时间去思考。我们在训练模型时做了一个决定,就是每次都尽量让它有最大的思考时间。所以,我有时会问一个非常简单的问题,只是为了测试,然后变得相当沮丧,因为它还在思考。所以,我确实认为这是一个改进的领域,即知道应该思考多久。不过,我猜在 Deep Research 中,我们会始终专注于那些需要最长时间的任务,而像 o3 或未来的版本,可能会有更好的折中方案。

Sarah: 你能想象未来 Deep Research 会花上一整天完成的任务是什么吗?

Isa: 现在它能在五到三十分钟内完成一些人类专家需要几个小时才能完成的任务。所以,我猜在一个小时内,它可以完成一些需要人类几天才能做的事情,而在一天内,它能做一些需要人类几周才能完成的工作。当然,要让它达到这样的规模会面临很多挑战,但你可以想象,它能够完成一个本来需要几周才能完成的研究项目,或者写一篇论文之类的事情。

Sarah: 如果你要预测一年后的情,你认为代理能够做出什么让人惊讶的事情,并且这些事情实际上会被发布出来,前提是考虑到安全性问题?

Isa: 一个通用代理,能够帮助你完成很多不同领域的任务。对我来说,我希望能够有一个非常擅长编程的代理,我可以完全信任它,给它一个任务,它应该能够帮我做出一个 PR 之类的东西,但同时可以让它帮我预定去韩国的旅行之类的事情。我希望我们能达到一个更加统一的体验,但我也认为这些模型的进步速度会让大多数人感到非常惊讶。

Sarah: 你为什么认为统一的体验很重要?显然,ChatGPT 是一种非常全面的体验,但人们在不同的场景中使用的模型是不同的,比如编程时会使用专门的下一行补全模型。

Isa: 你可能会想要一个体验,在某些时候你可以覆盖或中断模型,说“哦不,我不是这个意思。”或者你可以接管并开始自己输入东西,尤其是在短期内,因为这些模型在许多领域还没有达到人类的能力,但在其他领域则更强。所以,我认为这将是一个结合体:你要求模型做某事,但以编程为例,可能你正在使用 VS Code 或其他编辑器,模型已经在帮你做某些事情,但你也可以实际输入并自己写一部分。所以,我认为这会是这些元素的组合,但我个人希望它能像一个远程同事,你可以直接要求它做事情,给它发个消息,它就会开始工作,然后你可以审查它的工作或在某些时候提供帮助。这看起来是一个非常不错的通用接口,你不需要考虑应该让哪个代理去做哪个任务,你应该能够轻松搞定这一切。

Sarah: 我的理解是:我更倾向于和少数人一起工作,减少管理上的负担,因为这样每个人都有更多的上下文信息,我对他们的理解也更多。所以,从这个角度来看,具有普遍适用性的代理就显得特别有吸引力。

Isa: 而且你只需要告诉它一次,它就会记住并知道你正在做的所有事情。

(文:AI前线)

发表评论

×

下载每时AI手机APP

 

和大家一起交流AI最新资讯!

立即前往