赶上最新的AI论文

通过定制工作流程,多代理框架现在可用于任何任务!

通过定制工作流程,多代理框架现在可用于任何任务!

代理模拟

三个要点
✔️ 提出 AutoGen,这是一个多代理框架,可通过结合人类、LLM 和工具来定制一系列工作流程
✔️ 开发人员可自由扩展每个后端功能,以处理各种任务
✔️ Existing与模型的实验对比证明了 AutoGen 的有效性

AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation Framework
written by Qingyun WuGagan BansalJieyu ZhangYiran WuShaokun ZhangErkang ZhuBeibin LiLi JiangXiaoyun ZhangChi Wang
(Submitted on 16 Aug 2023)
Comments: Published on arxiv.

Subjects: Artificial Intelligence (cs.AI); Computation and Language (cs.CL)

code:  

本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。

介绍

GPT-4 等大规模语言模型(LLM)的出现,不仅让人工智能应用在编码、问题解答和聊天机器人等方面表现出色,也让人们开始关注由 LLM 生成的人工智能代理的任务解决能力。

然而,许多现有研究中使用的单个代理存在一个问题,即虽然它们可以高效地执行简单任务,但很难执行复杂任务。

近年来,多代理系统(代理之间或人与代理之间通过自然语言对话执行任务)已成为解决这一问题的主流方案,但设计、实施和优化其复杂的工作流程却变得极为困难。

在此背景下,本文介绍了AutoGen,这是一个多代理框架,可通过定制一系列结合人类、LLM 和工具的工作流程来创建具有各种角色的代理,并允许开发人员自由扩展每个后端的功能本文介绍了拟议的

自动生成框架

AutoGen 是一个可以构建各种多代理系统(包括人类、LLM 和工具)的框架,例如下图所示的两个代理之间的任务解析。

要让 AutoGen 构建复杂的多代理系统,需要定义两件事

  1. 定义一组具有特定能力和角色的可对话代理
  2. 代理之间的交互,即定义一个代理在收到另一个代理的信息时如何回应

此外,在使用 AutoGen 内置代理功能构建多代理系统时,您既可以直接使用 AutoGen 内置代理,也可以在此基础上开发定制代理。

下图是 AutoGen 嵌入式代理的概览。

从每个代理下的 LLM、人类和工具符号可以看出,ResponsiveAgent是默认代理,可以与 LLM、人类和工具自由组合。

AssistantAgent的设计目的是充当人工智能助手,使用 LLM 响应信息,但不需要人类输入或执行代码。

UserProxyAgent的设计目的是充当人类代理的代理,默认情况下每次交互都需要人类输入,并对人类或工具发出的信息做出响应。

GroupChatManager使用 LLM 管理 AutoGen 的对话代理群组,以便在群聊中回复消息。

这种嵌入式代理设计使 AutoGen 能够下图所示的LLM、人类和工具的任意组合进行定制(代理定制),实现代理之间的对话以解决任务(多代理对话),并支持大量复杂的代理对代理对话模式(灵活的对话模式)。对话),并支持大量复杂的代理对代理对话模式(灵活的对话模式)

AutoGen 的应用

为了证明 AutoGen 的有效性,本文使用各种任务进行了验证。

数学问题解决

数学是学术界的基础学科,而 LLM 可用于多种应用,如通过个性化代理进行教学和支持研究等。

因此,在本实验中,我们使用AutoGenAuto-GPTChatGPT+PluginChatGPT+Code InterpreterLangChain ReAct五种模型和数学问题数据集 MATH 数据集进行了比较。

用于解决数学问题的自动生成设置如下图所示。

这里的工作流程是,学生和学生助理共同解决问题,只有当学生助理对自己的答案不满意时,学生助理才可以向作为专家助理的另一个代理寻求帮助。工作流程如下

下图显示了 MATH 数据集中两种数学问题模式的正确答题率。(每道题各测试三次)。

从图中可以看出,所有模型中,AutoGen正确回答率最高,这证明了它对数学问题的有效性

多代理编码

接下来是多代理编码测试,重点是OptiGuide,这是一个擅长为用户问题编写适当代码的框架。

OptiGuide 是一个使用 LLM 和外部工具的框架,可以有效地回答用户提出的与应用程序相关的问题,在本实验中,工作流程的设计如下图所示。

在此工作流程中,首先由指挥官接收用户的问题,然后与撰稿人和安全保障进行对话。

然后,编写者创建答案和代码,安全卫士确保安全(例如不泄露信息、不使用恶意代码等),指挥官执行代码。

如果出现问题,例如在执行代码时出现问题,则重复图中阴影部分的过程,直到问题得到解决。

本实验对 AutoGen 和ChatGPT+Code Interpreter进行了比较,并询问每个模型"如果由于潜在的工资增长,焙烧成本增加了 5%,该怎么办?本实验对 AutoGen 和 ChatGPT+Code Interpreter 进行了比较,并询问每个模型 "如果由于潜在的工资增长,焙烧成本增加 5%,情况会怎样

ChatGPT+CodeInterpreter 的结果如下图所示。

因此,ChatGPT+CodeInterpreter 无法运行带有私有软件包或定制依赖项(如 Gurobi)的代码,从而中断了工作流程。

AutoGen 的结果则如下图所示。

与 ChatGPT+CodeInterpreter 相比,AutoGen 的响应更精简、更自主,它整合了多个代理来处理问题,使工作流程更加稳定

这种稳定的工作流程允许在其他应用程序中重复使用,并可组成更大的应用程序,该实验证明了 AutoGen 的卓越编码性能。

国际象棋对话

国际象棋可以说是世界上最流行的棋类游戏,为了证明 AutoGen 在该实验中的有效性,我们设计了一款新的国际象棋游戏--"会话国际象棋",以支持自然语言界面。

自动生成对话棋的工作流程如下图所示。

每个玩家都是人类或自动生成的代理(人类/棋手),在Chass 棋盘上设置的代理管理游戏规则,并通过提供有关棋盘的信息为玩家提供支持。

在这个实验中,两个代理之间进行了一场比赛,观察到的场景如下图所示。

与上文所述的许多代理系统一样,这一工作流程证实,每个玩家都能通过对话分享信息和知识,相互取长补短,选择更好的行动

摘要

它是如何做到的?本文提出的 AutoGen 是一个多代理框架,通过定制一系列结合人类、LLM 和工具的工作流程,可以创建具有各种角色的代理,并允许开发人员自由扩展每个后端的功能。论文介绍了以下内容。

虽然可以根据任务定制 AutoGen,从而应对各种任务,如本文中的实验、

  • 包括多少代理商
  • 如何分配代理角色和能力
  • 是否将工作流程的某些部分自动化

此外,还有一些问题,例如配置的应用依赖性,这将是未来发展的重点。

本文所介绍的 AutoGen 架构和实验结果的详情可参见本文,有兴趣者请参阅。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

如果您对文章内容有任何改进建议等,请通过 "联系我们 "表格与爱学网编辑部联系。
如果您能通过咨询表与我们联系,我们将非常感激。

联系我们