
OpenAI
在LLM领域,就像很多事情一样,难以精确评估当前模型规划与推理能力的表现。存在一些合理的基准测试,像Berkeley Function Calling Leaderboard,可用来评估函数调用能力。我们也开展了一些研究来评估多步骤应用的成效。不过,最佳的方式是针对自己的特定问题构建一个评估集,然后亲自进行评估。要提升智能代理的规划能力,一个简便方法是保证LLM具备合理规划与推理的所有必要信息。这看似简单,可实际上传入LLM的提示常常信息不足。增加检索步骤或者明确提示指令就能轻松改进。所以,切实查看数据并知晓LLM实际接收到的内容非常关键。接下来,我提议你试着改变应用程序的认知架构。这里的认知架构就是应用程序用于推理的数据工程逻辑。为提高推理能力,你可以考虑两种认知架构,即通用认知架构与特定领域认知架构。通用认知架构旨在以通用的方式达成更佳的推理效果,可用于任何任务。像计划和解决架构,相关论文提出了先规划,再执行规划中各步骤的架构。再如Reflexion架构,其论文研究了在智能体完成任务后添加明确反思步骤来评估任务完成情况的做法。这些想法虽有一定改进之处,但对生产环境中的智能代理而言往往太过通用。实际上,智能代理一般采用特定领域的认知架构,像特定领域的分类/路由步骤、验证步骤等都能体现这一点。规划和反思方面的一些通用思想虽可在此运用,但通常也是以特定领域的方式来应用的。AlphaCodium论文借助流程工程(这是认知架构的另一种表述)达成了最先进的性能,如下是他们所用的一个流程图。
这个流程是专门针对他们要解决的问题而定的。他们会告知智能代理按步骤行事,如构思测试、想出解决方案,再进行更多测试等。这种认知架构有很强的领域特定性,比如它对写文章就没有帮助。我习惯从两个方面看待这个问题。首先,你可把这当作向智能代理传达任务的另一种途径。能通过提示指令或者在代码里硬编码特定转换来传达指令,两者都可行。代码是传达期望结果的绝佳方式。其次,从工程师的角度看,这其实是把规划责任从大型语言模型(LLM)里拿掉。我们差不多是在讲:LLM,别操心规划了,我来做!当然,我们也没把LLM所有的规划责任都去除,毕竟某些情况下还得让它做一些规划。以AlphaCodium示例为例。流程中的步骤其实就是我们给LLM制定的规划。我们让它先写测试,再写代码,接着运行测试等等。在作者看来,这或许是编写软件的不错计划。如果要规划如何解决一个问题,就会这么做。与其在提示中告知LLM(它可能会忽略、不理解,而且提示可能缺乏细节),不如构建特定领域的认知架构来告诉系统该做什么。我们正在借助LangGraph让构建自定义认知架构变得更为简便。LangGraph着重关注可控性,它被设计得非常底层且具有高度可控性,因为我们认为要创建可靠的自定义认知架构,这种可控性是完全必要的。LLM领域发展变化极快,构建应用尤其是工具时,我们应牢记这点。

公司
因此,虽然大型语言模型(LLM)的规划与推理能力肯定会不断提升,但我们深信,若要构建特定任务的智能代理,就需构建自定义认知架构。
Copyright © 2025 IZhiDa.com All Rights Reserved.
知答 版权所有 粤ICP备2023042255号