发布仅2周,微软、PSU和华盛顿大学等团队开发的智能体AutoGen瞬间登顶GitHub热榜,狂揽10k星。这是一个让LLM智能体相互聊天,进而解决任务的框架,可定制、可对话,并允许人类无缝参与。

它还可以直接替代openai.Completion或openai.ChatCompletion作为增强型推理 API。

现在,你只需要几行代码,就能完成非常复杂的任务。

对此,研究人员还发布了一份关于AutoGen的43页技术报告。

论文地址:https://arxiv.org/pdf/2308.08155.pdf  

接下来,一起来看看这个爆火项目背后的技术吧。

动嘴做任务

若想使用,首先得安装AutoGen。需要Python版本>=3.8版本,只需一步,非常简单。

pip install pyautogen

 

然后,就能上手用了。

比如,我想要一个股价可视化图,首先自定义一个「编码智能体」,能够下载数据并绘制图表。

然后,自定一个「user proxy agents」,去做跑代码、获取结果等任务。

最后一步,给定明确任务——绘制一份Meta和微软当前YTD股价图。

然后,两个智能体便开始对话,忙着去做表了。

当然了,不仅2个智能体,你还可以添加更多AI帮你干活,比如再自定义一个「产品经理」,让它去脑暴想法。

然后,使用它们一起查找最近一篇GPT-4的研究,以及关于其在软件中的应用。

接下来,3个智能体就开始「密谋」了。

以上的演示,仅是一个前菜。

根据技术报告,给出了通过AutoGen6个应用的构建,可以解决数学问题,检索增强型聊天、ALF聊天、多智能体编码、动态群组聊天、国际象棋对弈。

在自主解决数学问题上,研究人员通过AutoGen与AutoGPT、ChatGPT+Plugin、ChatGPT+Code Interpreter等进行了定性和定量评估。

通过在对MATH数据集中的2个数学问题评估中,每个LLM系统都在每个问题上测试了3次,只有AutoGen的胜率最高。

AutoGen框架

 

AutoGen背后的基本理念是,创建智能体,即由LLM(如GPT-4)驱动的编程模块。

这些智能体通过自然语言交互,以完成各种任务。

智能体可以通过提示工程,和外部工具对进行定制和增强,使其能够检索信息或执行代码。

借助AutoGen,开发人员可以创建一个「智能体生态系统」,这些智能体可以专门从事不同的任务并相互协作。

这一生态系统的一个简化视图是,将每个智能体视为一个单独的ChatGPT会话,并有独特的系统指令。

例如,一个智能体可以作为编程助手,根据用户请求生成Python代码。另一个智能体可以是代码审查员,负责获取Python代码片段并排除故障。

第一个智能体的响应可以作为输入,传递给第二个智能体。

其中一些智能体甚至可以访问外部工具,这相当于ChatGPT插件,如Code Interpreter或Wolfram Alpha。

AutoGen在这里的作用就是,为创建这些智能体并使它们能够自动交互提供了必要工具。

上图中,说明了如何使用AutoGen对多智能体对话进行编程。

最上面的子图展示了AutoGen提供的内置智能体,有统一的对话界面,并且可以自定义。

中间的子图展示了使用AutoGen开发具有自定义回复功能的「双智能体系统」的示例。底部的子图展示了程序执行期间,「双智能体系统」产生的自动智能体聊天。

另外,多智能体应用可以是完全自主的,但也可以通过「user proxy agents」进行调节。

「user proxy agents」允许用户介入AI智能体之间的对话,来监督和控制他们的过程。在某种程度上,人类用户变成了监督多个人工智能团队的团队领导者。

user agents适用于智能体框架必须做出敏感决策,并需要用户确认的应用程序,比如购买或发送电子邮件。

当智能体开始向错误的方向发展时,用户还可以帮其指引方向。例如,用户可以从最初的应用程序构想开始,在智能体的帮助下,在开始编写代码时逐步完善构想,添加或修改功能。

AutoGen的模块化架构,还允许开发人员创建可重复使用的通用组件,这些组件可以组合在一起,快速构建自定义应用程序。

有了多个AutoGen智能体,就可以协作完成复杂的任务。

假如你需要编写特定任务的代码,直接交给「编码助理智能体」。

对于用多个智能体编码的整个流程框架如下。

它可以生成并返回代码,然后user agents可以使用代码执行模块对代码进行验证。

然后,两个人工智能智能体可以一起排除代码故障,并生成最终的可执行版本,人类用户可以在任何时候打断或提供反馈。

这种协作方法可以显著提高效率。微软称,AutoGen可以将编码速度提高多达4倍。

此外,AutoGen还支持更复杂的场景和架构,比如LLM智能体的分层排列。

再比如,「群组聊天管理智能体」可以控制多个人类用户和LLM智能体之间的对话,并根据一系列规则在它们之间传递信息。

最后,研究人员还拿当前流行的智能体进行了对比,AutoGen的优势在于能够构建基础设施,允许灵活的对话模式,能够执行LLM生成的代码。

甚至,还可以让人工参与系统的执行过程。

项目作者

Chi Wang是这项研究的通讯作者,现任微软研究院首席研究员,目前的研究重点是LLMOps。

除了创建AutoGen开源库,他也创建了一个用于自动机器学习和调整的快速库FLAML,在微软内外被广泛使用,例如在Azure、Microsoft 365、Microsoft Fabric和Visual Studio中。

他曾在伊利诺伊大学香槟分校(UIUC)计算机科学系取得了博士学位,并在2015年获得SIGKDD数据科学/数据挖掘博士论文奖。

他曾在清华获得计算机科学学士学位。

网友上手体验

有网友通过AutoGen创建了一个「博客写作智能体」,并且还没有超过GPT4的最大/最小token限制。

它们大部分时间都在闲逛,聊着计划......AGI成真。

还有网友创建了一个「人工智能治疗师智能体」与人工智能角色的对话,所有脚本均由AI编辑生成。

 

为了验证概念,还有人用AutoGen创建了一个自我改进的智能体——AgentXP。

「它让我看到,很快它们就会自己编写。在它开始让我的电脑震动之前,已经自主运行了10次卷积代码。输出结果远远超出了我的预期。」

使用AutoGen智能体自动生成并运行代码,以创建细胞原子缩时摄影。

参考资料:
https://venturebeat.com/ai/microsofts-autogen-framework-allows-multiple-ai-agents-to-talk-to-each-other-and-complete-your-tasks/ 
https://github.com/microsoft/autogen 

 

内容中包含的图片若涉及版权问题,请及时与我们联系删除