2026年7月9日 周四晚上19:30,报名腾讯会议了解“如何构建自进化的动态知识库(Brain)”(限30人)
免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

AutoGen:通过多智能体对话实现下一代LLM应用

发布日期:2024-10-03 06:20:44 浏览次数: 3194
作者:AIGC最前线

微信搜一搜,关注“AIGC最前线”

大语言模型(LLMs)正逐渐成为开发强大智能体的关键基石,这些智能体能够利用LLMs进行推理、使用工具以及适应新的观察结果,在众多现实任务中发挥着重要作用。随着LLMs应用场景的不断拓展和任务复杂性的日益增加,一种直观的提升智能体能力的方法是使用多个智能体进行协作。基于此,AutoGen应运而生,它是一个开源框架,允许开发者通过多个可以相互对话的智能体来构建LLM应用,以完成各种任务。

图1:AutoGen通过多智能体对话实现多种基于大型语言模型(LLM)的应用。(左)AutoGen智能体是可对话的、可定制的,可以基于大型语言模型、工具、人类,甚至是它们的组合。(中上方)智能体可以通过对话来解决任务。(右)它们可以进行聊天,可能会有人类参与其中。(中下方)该框架支持灵活的对话模式。

一、AutoGen框架的核心概念

(一)可对话智能体(Conversable Agents)

  1. 多种能力来源
  • LLM支持:AutoGen的智能体可以利用LLMs的多种能力,如角色扮演、隐式状态推理、基于对话历史的进展、提供反馈、从反馈中适应以及编码等。通过新颖的提示技术,这些能力可以以不同方式组合,以提高智能体的技能和自主性。例如,AutoGen还提供了增强的LLM推理功能,如结果缓存、错误处理、消息模板等。
  • 人类参与:在许多LLM应用中,人类的参与是必要的。AutoGen通过人类支持的智能体让人类参与到智能体对话中。默认的用户代理智能体允许可配置的人类参与水平和模式,比如可以设置请求人类输入的频率和条件,人类也可以选择跳过提供输入。
  • 工具支持:工具支持的智能体能够通过代码执行或函数执行来使用工具。例如,AutoGen中的默认用户代理智能体能够执行LLMs建议的代码或进行LLMs建议的函数调用。
  • 智能体定制与协作
    • 基于应用的特定需求,每个智能体可以配置为具有多种基本后端类型的混合,以在多智能体对话中展示复杂行为。AutoGen允许通过重用或扩展内置智能体轻松创建具有特定能力和角色的智能体。例如,ConversableAgent类是最高级别的智能体抽象,默认情况下可以使用LLMs、人类和工具,而AssistantAgent和UserProxyAgent是两个预配置的ConversableAgent子类,分别代表常见的使用模式。

    图2:如何使用AutoGen对多智能体对话进行编程的示意图。顶部子图展示了AutoGen提供的内置智能体,它们具有统一的对话接口并且可以定制。中间子图展示了一个使用AutoGen开发具有自定义回复函数的双智能体系统的示例。底部子图展示了在程序执行过程中双智能体系统产生的自动智能体聊天情况。

    (二)对话编程(Conversation Programming)

    1. 核心思想
    • AutoGen的一个基本理念是将复杂的LLM应用工作流程简化并统一为多智能体对话。它采用了一种以这些智能体间对话为中心的编程范式,通过定义具有特定能力和角色的可对话智能体,并编程智能体之间的交互行为来构建应用。
  • 设计模式
    • 自然语言控制:可以通过自然语言提示LLM支持的智能体来控制对话流。例如,内置的AssistantAgent的默认系统消息使用自然语言来指导智能体修复错误、重新生成代码以及限制LLM输出的结构。
    • 编程语言控制:可以使用Python代码指定终止条件、人类输入模式和工具执行逻辑等。也可以注册编程的自动回复函数来用Python代码控制对话流。
    • 控制转换:AutoGen支持自然语言和编程语言之间的灵活控制转换。可以通过在自定义回复函数中调用包含特定控制逻辑的LLM推理来实现从代码到自然语言的控制转换,或者通过LLM建议的函数调用实现从自然语言到代码控制的转换。
    • 统一接口和自动回复机制:AutoGen中的智能体具有统一的对话接口,包括发送/接收消息的函数和生成回复的函数。同时,它还引入了默认的智能体自动回复机制,一旦智能体收到消息,就会自动调用生成回复并将回复发送回发送者,除非满足终止条件。可以通过注册自定义回复函数来定制智能体的行为模式。
    • 编程与自然语言融合的控制

      二、AutoGen的应用示例

      图3:使用AutoGen构建的六种不同应用的示例。它们的对话模式展示了AutoGen的灵活性和强大功能。

      (一)数学问题解决(Math Problem Solving)

      1. 自主解题
      • 可以直接重用AutoGen的两个内置智能体构建一个自主数学问题解决系统。在MATH数据集上与多种方法进行评估,包括开源方法如多智能体辩论(Multi - Agent Debate)、LangChain ReAct,以及商业产品ChatGPT +插件(如Wolfram Alpha)等。结果显示AutoGen的内置智能体性能更优。
    • 人在回路解题
      • 通过在UserProxyAgent中设置人类输入模式为“ALWAYS”,可以将人类反馈纳入解题过程。对于一些智能体无法自主解决的难题,这种方式可以有效解决问题。
    • 多用户解题
      • 可以构建一个多用户参与的解题系统,例如学生和专家共同参与。当学生与LLM助手无法解决问题时,可以自动呼叫专家协助,整个过程通过AutoGen的智能体配置和函数调用功能实现。

      (二)检索增强的代码生成和问答(Retrieval - Augmented Code Generation and Question Answering)

      1. 系统构建
      • 构建了一个名为检索增强聊天(Retrieval - augmented Chat)的系统,由检索增强用户代理和检索增强助手智能体组成。检索增强用户代理包括一个向量数据库和一个上下文检索器。
    • 应用场景
      • 问答场景:在自然问题(Natural Questions)数据集上进行评估,与DPR进行比较。AutoGen引入了新颖的交互式检索功能,当检索到的上下文不包含信息时,会尝试更多检索,提高了问答性能。
      • 代码生成场景:基于给定的不包含在GPT - 4训练数据中的代码库生成代码,展示了其在利用外部文档辅助LLMs方面的优势。

      (三)文本世界环境中的决策制定(Decision Making in Text World Environments)

      1. 系统设计
      • 利用AutoGen实现了一个双智能体系统来解决ALFWorld基准中的任务,包括一个LLM支持的助手智能体和一个执行器智能体。同时,为了解决系统缺乏常识知识的问题,引入了一个基础智能体来提供常识知识。
    • 性能提升
      • 在ALFWorld的134个未见过的任务上与GPT - 3.5 - turbo和ReAct进行比较,引入基础智能体后平均性能提升了15%,有效避免了系统陷入错误循环。

      (四)多智能体编码(Multi - Agent Coding)

      1. 系统工作流程
      • 基于OptiGuide构建了一个多智能体编码系统,包括指挥官(Commander)、作家(Writer)和保护者(Safeguard)等智能体。用户向指挥官发送问题,作家编写代码,保护者检查代码安全,指挥官执行代码并获取作家对执行结果的解释。
    • 性能优势
      • 使用AutoGen将OptiGuide的核心工作流程代码从430多行减少到100行,提高了生产力。同时,多智能体设计在识别不安全代码方面提升了F - 1分数,相比单智能体方法更具优势。

      (五)动态群聊(Dynamic Group Chat)

      1. 实现方式
      • AutoGen通过GroupChatManager类支持动态群聊通信模式。该类动态选择发言者,收集其响应并广播消息,智能体共享相同上下文并动态对话。
    • 效果提升
      • 通过实验发现,使用角色扮演风格的提示在动态选择发言者时,相比基于任务的提示,能更有效地考虑对话上下文和角色对齐,提高了成功率,减少了LLM调用次数。

      (六)对话式国际象棋(Conversational Chess)

      1. 系统特点
      • 构建了一个对话式国际象棋应用,包括玩家智能体(可以是人类或LLM支持)和一个第三方棋盘智能体。棋盘智能体维护游戏规则,验证移动的合法性。
    • 功能优势
      • 支持多种游戏模式,如AI - AI、AI - human和human - human,并能在游戏中实现自然、灵活和吸引人的动态。棋盘智能体的存在确保了游戏的完整性,通过实验对比去掉棋盘智能体的情况,突出了其重要性。

      三、AutoGen的优势与未来发展方向

      (一)优势

      1. 性能提升与开发简化
      • 在现有应用中采用AutoGen带来了性能提升、开发代码减少和人工负担降低的好处。它能够适应动态的多智能体聊天模式,允许人类以对话方式与多个AI智能体一起参与活动。
    • 模块化与灵活性
      • 任务在不同智能体之间的划分促进了模块化,每个智能体可以独立开发、测试和维护。同时,AutoGen允许用户轻松扩展和定制现有智能体,满足不同应用需求。

      (二)未来发展方向

      1. 优化多智能体工作流程
      • 需要探索如何为给定任务创建最优的多智能体工作流程,包括确定智能体数量、分配角色和能力以及如何实现智能体之间的交互等问题。
    • 创建高能力智能体
      • 要进一步研究如何创建能够充分利用LLMs、工具和人类优势的高能力智能体,制定针对特定应用的智能体指南,创建智能体的知识宝库,并使智能体能够发现和提升自身技能。
    • 解决规模、安全和人类能动性问题
      • 随着多智能体工作流程的复杂程度增加,需要开发清晰的机制和工具来跟踪和调试其行为。同时,要谨慎使用完全自主的智能体对话,确保在应用中保持有效的人类监督,维护技术使用的安全性和伦理性。

      AutoGen作为一个开源框架,为开发LLM应用提供了一种新的思路和方法,通过可对话智能体和对话编程的核心概念,在多个应用领域展示了其强大的功能和优势,同时也为未来的研究和发展指明了方向。

    53AI,企业落地大模型首选服务商

    产品:场景落地咨询+大模型应用平台+行业解决方案

    承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    添加专属顾问

    回到顶部

    加载中...

    扫码咨询

    扫码登录
    登录即表示您同意《53AI网站服务协议》
    服务协议

    欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

    在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

    一、 定义

    本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

    会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

    知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

    二、 账号注册与登录

    登录方式:本网站支持以下登录方式,您可根据实际情况选择:

    微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

    手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

    账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

    实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

    未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

    三、 服务内容与规范

    知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

    服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

    禁止行为:您在使用服务时不得实施以下行为:

    利用技术手段批量爬取、下载、转存知识库内容;

    将知识库内容用于商业目的或未经授权地向第三方传播;

    干扰本网站正常运行或侵犯其他用户合法权益;

    发布违法违规信息或从事违反公序良俗的活动。

    四、 知识产权声明

    权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

    有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

    侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

    五、 个人信息保护

    我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

    您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

    您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

    六、 免责声明

    内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

    不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

    第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

    七、 违约责任

    如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

    如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

    八、 法律适用与争议解决

    本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

    因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

    九、 其他

    本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

    本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

    我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


    已查阅