AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


解读吴恩达来信:“多智能体协作”
发布日期:2024-04-20 20:36:01 浏览次数: 2565 来源:AAIA亚太人工智能学会 AIGC


吴恩达教授在多个场合和演讲中提到AI智能体设计模式,其中“多智能体协作”是特别引人注目的一种模式。在这种模式下,多个AI智能体共同工作,每个智能体都扮演着特定的角色,它们通过分配任务、讨论和辩论想法来协作,最终提出比单一智能体更优秀的解决方案。

以下是对“多智能体协作”模式的解读:
1. 角色分配:在多智能体系统中,每个智能体都被赋予一个特定的角色或职责。例如在一个软件开发项目中,一个智能体可能扮演CEO的角色,负责制定整体战略;另一个可能扮演软件工程师的角色,负责编写代码;还有一个可能扮演测试工程师的角色,负责检查软件的质量和性能。

2. 协作流程:这些智能体不是独立工作的,而是通过相互之间的通信和协作来完成任务。它们可以共同讨论项目的进展,解决遇到的问题,并优化解决方案。

3. 迭代改进:通过协作,智能体可以不断地迭代和改进它们的工作。例如一个智能体可能提出一个初步软件设计,然后由另一个智能体进行评估和反馈,从而引导进一步的改进。

4. 效率提升:多智能体协作可显著提升工作效率。由于每个智能体都专注于其特定的任务,整个系统可以更快地响应变化,并产生更高质量的输出。

5. 复杂任务解决:这种模式特别适合解决那些需要多方面专业知识和技能的复杂任务。通过智能体之间的协作,可以更好地整合不同领域的知识,产生创新的解决方案。

6. 开源项目实例:吴恩达教授提到一些开源项目如“ChatDev”,它是一个多智能体系统的实例,展示通过给大模型不同的提示来构建具有不同角色的智能体,并使它们协作完成任务的能力。

7. 技术挑战:尽管多智能体协作模式具有巨大潜力,但它也面临着技术挑战,比如如何确保智能体之间的有效沟通,以及如何处理可能出现的冲突和不一致性。

8. 未来发展:吴恩达教授认为多智能体协作模式将是AI发展的一个重要方向,它可能会对AI的未来发展产生深远影响。

通过这种模式,AI智能体不仅能够模拟人类的工作方式,还能通过集体智慧超越个体智能体的局限,为解决现实世界中的复杂问题提供新的思路和工具。随着技术的进步和应用场景的拓展,多智能体协作有望在更多领域发挥重要作用。

吴恩达来信链接

https://www.deeplearning.ai/the-batch/issue-245/


亲爱的朋友们,

多智能体协作是我在最近来信中描述的四个关键AI智能体设计模式中的最后一个。对于编写软件这样的复杂任务,多智能体方法会将任务分解为子任务,由不同的角色——如软件工程师、产品经理、设计师、QA(质量保证)工程师等来执行,并让不同的智能体完成不同的子任务。
可以通过提示一个LLM(如果你愿意,也可以提示多个LLM)执行不同的任务来构建不同的智能体。例如要构建一个软件工程师智能体,我们可能会提示LLM:“你是编写清晰、高效代码的专家。编写代码来执行任务......”
虽然我们对同一个LLM进行多次调用,使用多个智能体来进行编程抽象似乎不合常理。但我想提供几个理由:

✴它是有效的!许多团队使用这种方法获得很好的结果,没有什么比结果更好的了!此外,消融研究(例如下面引用的AutoGen论文)表明,多智能体比单一智能体具有更好的性能。

✴尽管今天一些LLM可以接受很长的输入上下文(例如Gemini 1.5 Pro可接受100万个token),但它们真正理解长而复杂输入的能力参差不齐。在一个智能体工作流中,LLM被提示一次只专注于一件事就可以提供更好的性能。通过告诉它什么时候应该扮演软件工程师,我们还可以指定在该角色的子任务中什么是重要的。例如上面的提示强调清晰、高效的代码,而不是可伸缩和高度安全的代码。通过将整体任务分解为子任务,我们可以更好地优化子任务。

✴作为开发人员,可能重要的是多智能体设计模式为我们提供一个将复杂任务分解为子任务的框架。当编写在单个CPU上运行的代码时,我们经常将程序分解为不同的进程或线程。这是一个有用的抽象,如实现一个web浏览器,可以让我们将一个任务分解成更容易编程的子任务。我发现通过多智能体角色进行思考也是一种有用的抽象。

在许多公司里,如要编写一个大型软件或准备一份研究报告,管理者通常会决定雇佣什么角色(职位),然后决定如何将复杂的项目分成更小的任务,并分配给擅长不同领域的员工。使用多个智能体也是一样的。每个智能体会实现自己的工作流程,拥有自己的记忆(这本身就是智能体技术中一个快速发展的领域:一个智能体如何能够记住足够多的历史交互,以便在即将到来的交互中表现得更好?),并且可以向其他智能体寻求帮助。智能体还可以参与规划和工具使用。这将导致LLM调用和智能体之间消息传递的不和谐,从而导致非常复杂的工作流。
虽然管理人员很困难,但这是一个非常熟悉的想法,它为我们提供一个如何“雇用”和分配任务给我们的AI智能体的心理框架。幸运的是对AI智能体管理不善造成的伤害比对人类员工管理不善造成的伤害要小很多!
新兴框架如AutoGen, Crew AI和LangGraph为构建多智能体解决方案提供丰富的方法。如果你对有趣的多智能体系统感兴趣,也可了解下ChatDev,它是一组运营一家虚拟软件公司智能体的开源实现。我推荐你试试他们的GitHub repo,或者克隆repo并自己运行系统。虽然它可能并不总能产生你想要的结果,但你可能会对它的效果感到惊讶。
就像规划的设计模式一样,我发现多智能体协作的输出质量很难预测,特别是当允许智能体自由交互并为它们提供多种工具时。更成熟的反思模式和工具使用模式会更可靠。希望你能喜欢使用这些智能体设计模式,并为你带来惊人的结果!
如果你有兴趣了解更多,请参阅以下内容:

✅“Communicative Agents for Software Development,” Qian et al. (2023) (the ChatDev paper)

✅“AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation,” Wu et al. (2023) 

✅“MetaGPT: Meta Programming for a Multi-Agent Collaborative Framework,” Hong et al. (2023)


请不断学习!

吴恩达


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

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询