OpenAI人们期待已久的 o1 系列模型因其先进的推理能力而成为头条新闻,这是人工智能领域的一大进步。
o1 的推理能力与Botpress 用户熟悉的一项功能--自主节点(Autonomous Node)并无二致。自主节点于 2024 年 7 月推出,是人工智能代理平台中的首个同类产品。
Sylvain Perron Botpress 的首席执行官兼该平台自主节点的首席架构师坐下来解释了这两个推理实体之间的异同。
Botpress CEOSylvain Perron 比较OpenAI o1 和自主节点
OpenAI的新 o1 模型与Botpress 自主节点之间有一些主要相似之处,对吗?
当然有。看到 o1 出来,我觉得非常有趣。但需要注意的是,我们并没有把苹果和苹果进行比较。
OpenAI o1 显然是一个LLM ,而自主节点则是一个平台功能。您甚至可以将 o1 插入Botpress ,然后与自主节点一起使用。
但他们都采用了思维链式推理,即自下而上的方法,来得出该做什么、该说什么的结论。
您能否解释一下思维链推理,以及它与语言模型通常生成回复的方式有何不同?
当然,大多数LLMs 都是通过根据上一个词预测下一个词来生成答案的--它们先生成第一个词,然后用它来生成下一个词,如此循环往复。这种方法适用于回答简单的问题,但在需要多步骤推理的复杂任务中,这种方法就会严重失灵。
而思维链式推理则是指人工智能将任务分解成更小的步骤,并在进行下一步之前明确地对每个步骤进行推理。这类似于在科技、数学和工程学考试中要求学生建立答案的方式。
例如,如果一个人工智能正在客户关系管理(CRM)中创建一个线索,它需要检查是否有重复的线索、分配线索等等,那么它就需要使用思维链推理来思考每一个步骤,并在开始执行之前计划好一连串的操作。它不会在意识到重复之前就开始填写表格,而是在开始之前就知道了。
因此,系统可以处理具有多重依赖性的更复杂任务,但这也会减慢系统的运行速度,因为它需要暂停和思考,而不是立即生成。
o1 和自主节点都使用思维链推理--两者的过程是否相同,还是有区别?
这其中有一些相似之处,也有一些不同之处。我们仍然使用思维链推理,但由于我们是为现实世界中的客户进行构建,因此我们通过一些不同的方式来优化速度和效率。
通过自主节点,我们设计的系统可以在一次LLM 调用中处理多个操作。这样做的目的是在同一流程中思考和行动,这样我们就不会浪费时间。
自主节点会思考并向用户提供最新信息,这样用户就不会只是等待它的思考过程结束。这更类似于自然对话,不会让人悬而未决地等待 30 多秒。开发人员可以查看LLM 隐藏的想法,并排除出错的原因。
另一方面,o1 只返回一个答案,对其思维过程的可视性有限。OpenAI 提供了一个思维链摘要,但没有显示出来,这使得故障排除更加棘手。
两者之间还有其他区别吗?
o1 需要开发人员或平台托管调用工具调用的函数。每一步都需要单独的 API 调用,这意味着模型必须请求一个操作,等待结果,然后再调用下一个操作。而且你需要一次又一次地递归调用。这使得使用它的门槛更高,因为您必须提供底层函数运行架构。
自主节点会在后台自动完成这项工作。
o1 的成本和速度如何?
比方说,您正在使用LLM 或人工智能代理来协助 Hubspot 完成任务,比如与网站游客聊天,以此来进行人工智能线索生成。
如果让 o1 在 Hubspot 上填写一份销售线索表单--我的意思是,假设你可以在不使用第三方连接器的情况下将其连接起来--所需的时间为 12 秒,成本是在Botpress 上填写的 5 倍。
速度快的部分原因是我们的平台采用了基于模式的设计,这意味着系统预先知道需要哪些数据以及这些数据的结构。
因此,当您使用 HubSpot 或 Salesforce 等工具时,系统已经有一个预定义的 JSON 模式,告诉它需要输入哪些内容,如姓名、电子邮件地址、公司名称等。
这样,自主节点就可以从一开始就对整个任务进行推理,而不必在每一步都停下来询问更多信息。
你可以通过自己提供上下文来降低速度和步骤,但代价是要花费更多时间来构建基于 o1 的应用程序。因此,这也是一个增加维护成本的问题。
您提到提高可靠性。是什么让自主节点比 o1 更可靠?
使输出结果更加可靠的最大方法就是将思维链推理与我们创建的协议工具调用相结合。
我们所做的主要是创造一个环境,让它能够思考,而且是用代码,而不是纯文本。老实说,它比OpenAI 版本更快、更可靠,原因有以下几点。
其一,它可以在整个行动序列中同时进行对话。这是OpenAI 模型做不到的。
另一个原因是人工智能知道输出模式。它知道根据接收到的查询,应该吐出哪种类型的 JSON。
开发人员可以自行调整。如果开发者在使用时收到了大量来自用户的类似问题,就像大多数开发者一样,他们可以调整人工智能,使其每次都能给出最佳和最合适的答案。
它在多大程度上使用了 JSON?
普通话就是不可靠,对吧?它不够正式。不够严格。
编程语言是一种语言,但它是正式的。它是一种特定领域的语言;你只能在特定的边界和语法角色内使用它。
因此,我们的工具调用的是 JSON 而不是英文回复。它是带有 JSON 模式的 JSON 输出,而不是纯文本。
当您在 Hubspot 中请求创建销售线索表单时,表单会以 JSON 格式写入,而模式(也是 JSON 格式)会给出表单需要包含的所有属性,如姓名、公司等。
自主节点和 o1 模型之间的工具调用有哪些主要区别?
我们的工具调用具有高度的上下文感知能力。它了解你的所有系统、它能采取的所有行动,以及如何将这些数据输入下一个工具。我们可以在一个LLM 调用中生成一个代码块,提供所有这些信息,并给出答案。
理论上,您可以使用 o1 API 进行工具调用,但调用工具的内容会受到限制。但Botpress 就是为此而建的。我们在其他LLMs 上设置了防护栏,包括GPT 。
自主节点还可以在调用工具时同时通话,而OpenAI 目前不支持这种功能。这样可以节省到服务器的往返次数,并提供更好的对话用户体验,因为用户可以在长期运行的任务开始之前得到通知。
大多数组织都被警告不要将ChatGPT 与安全工作数据一起使用。自主节点的顾虑少吗?
我们的平台专为大容量、低延迟环境而打造,在设计时充分考虑了企业的实际需求。
Autonomous Nodes 的优势并不在于我们创造了一种全新的人工智能,而是我们利用现有技术并应用智能工程,使其更好地满足业务需求。
我们有用于人工智能生成通信的安全沙盒。当你使用自主节点时,它会免费运行这些秘密沙盒。它们是安全的、可扩展的。之后,沙盒会被销毁。
这是一种虚拟隔离,有两层--入住和退房。这很复杂。但这意味着我们可以运行大规模的LLM 生成的代码,并将安全风险降到最低。
如果开发人员或人工智能爱好者想试用自主节点,他们需要做些什么?
我们提供丰厚的免费层级。所有用户都可以试用。我们认为这是一个很酷的功能,不能把它拒之门外。所以,只要注册一个免费的Botpress 账户,您就可以亲自体验。