社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

碾压GPT-4,微软最强AutoGen爆火!多个智能体协作,编码速度飙升4倍,GitHub狂揽10k星

机器学习研究组订阅 • 1 年前 • 220 次点击  

AI智能体热度,只增不减。

发布仅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


想要了解更多资讯,请扫描下方二维码,关注机器学习研究会

                                          


转自:新智元

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/163225
 
220 次点击