在此之前,我们已经从论文到代码深度解读了吴恩达:GPT-4+Agents Workflow,性能比肩GPT-5的三种大语言模型Agent工作流:反思、工具使用和规划。今天我们将深入最后一种Agent工作流:多智能体协作工作流。
想象一个未来,不是单一的机器在孤岛般运算,而是众多智能体如同交响乐团成员,各司其职,共谱技术乐章。这正是多智能体协作工作的魅力所在:它将复杂的任务解构,分配给专精的代理,再以自然语言为桥梁,缝合各部分,成就整体的高效执行。
合作使我们能够知道比我们自己所能知道的更多。它赋予我们不同的思维方式,让我们接触到原本无法获得的信息,并在我们共同努力实现共同目标的过程中将想法结合起来。-- Paul Solarz
在人类社会中,合作是智慧的放大器,它聚合了个体的独到见解,催化出超越个体边界的集体智慧。而在人工智能的疆域内,这一原理亦被赋予了新的生命——通过多智能体协作工作流,大型语言模型(LLMs)正解锁前所未有的协同潜能。本文将带您深入这一前沿领域,剖析三篇重量级论文,透视多智能体如何在LLM中编织出新的效率与创造力网络。
相信你一定听说过Devin AI,全球第一个AI工程师,号称只需一句指令,它可端到端地处理整个开发项目,它曾一度爆火全球。清华大学开发的ChatDev更是受到吴恩达点赞。ChatDev模拟一家虚拟软件公司,它通过扮演不同角色的各种智能代理运作,包括首席执行官、首席产品官、首席技术官、程序员、审核员、测试员、美术设计师。这些代理形成了一个多代理组织结构,并以“通过编程革新数字世界”的使命团结在一起。ChatDev 内的代理通过参加专门的功能研讨会进行协作,包括设计、编码、测试和文档编写等任务。
在技术圈里,我们经常听到“分工合作”这个词,它就像是高效协作的黄金法则。那么,当这个概念应用到大型语言模型(LLM)上,又会产生怎样的火花呢?你可能会好奇,既然用的是同一个LLM,为什么还要把它拆分成不同的Agent来协作呢?这不是多此一举吗?
其实不然。想象一下,如果把一个团队里的角色混为一谈,比如让一个程序员同时担任产品经理的角色,那他们可能在项目初期就会陷入无尽的争论。同样,在LLM的世界里,给一个Agent同时设定多个角色,也会导致混乱。毕竟,一个精准的Prompt需要明确Agent的角色和任务,如果角色模糊不清,LLM也难以准确捕捉到你的意图。
在Prompt Engineering的世界里,我们强调Prompt需要精确、详尽,最好还能配上示例。试想一下,如果把两个可能会“打架”的角色放在一起,LLM又怎能清晰理解并执行任务呢?尤其是当你给LLM加上了记忆库,如果角色不明确,LLM只会在混乱中迷失方向。
因此,将LLM拆分成多个Agent,让每个Agent专注于自己的细分领域,不仅理论上可以提高性能,实际上也确实能够带来显著的效果。每个Agent都有自己的专长,像一个精密的齿轮,只有当它们各司其职,整个系统才能高效运转。这样的协作方式,就像是一支训练有素的团队,每个人都清楚自己的职责,共同推动项目向前发展。
本文我们从吴恩达教授推荐的三篇论文入手。
- Communicative Agents for Software Development ChatDev的论文
- AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation
- MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework
1. ChatDev
这篇论文介绍了一个名为ChatDev的虚拟聊天驱动的软件开发公司,该公司利用大型语言模型(LLMs)来推动整个软件开发过程。ChatDev模仿了传统的瀑布模型,将开发过程细分为设计、编码、测试和文档编制四个不同的阶段。每个阶段都涉及一组“软件代理”,包括程序员、代码审查员和测试工程师,他们通过协作对话促进无缝工作流程。
从上图可见,流程和常规的软件开发流程基本一致,从设计、编码、测试到文本(上线)。角色分配细化到专业,不仅有编码工程师,还有代码审查员,还引入了我们之前讨论的[LLM-Agents]反思Reflection 工作流来进一步提升决策的准确性。实验分析了ChatDev响应70个用户需求产生的所有软件,平均生成17.04个文件/软件,平均软件生产时间为409.84秒,制造成本仅仅0.2967美元。审查员和程序员之间的讨论导致了近二十种代码漏洞的识别和修改,而测试员和程序员之间的讨论则识别和解决了十多种潜在的错误。有意思的是,他们用ChatDev编写了一个五子棋游戏。
2. MetaGPT
MetaGPT,这是一个基于先前验证过的推理和行动计划框架,如ReAct和Reflexion,进一步升级的元编程框架。它不仅继承了前者的优点,更是在处理复杂软件工程任务方面,展现出了令人瞩目的能力。MetaGPT的核心在于它创新性地引入了结构化的工作流程和专门化的角色分配。这就像是在工厂中,每个工人都有自己特定的任务,大家协同作业,以流水线的方式高效完成生产。MetaGPT正是借鉴了这一理念,通过将代理分配到特定角色,并采用类似装配线模式的任务分配,极大地提升了任务分解和执行的效率。而且,MetaGPT还整合了类似于人类的标准操作程序(SOPs),这就像是给了每个角色一本操作手册,确保了工作流程的简化、错误的减少,以及解决方案的连贯性。这一点在软件工程中尤为重要,因为它直接关系到代码的质量和项目的成功率。(MetaGPT的架构中Engineer是一个黑人,到底是干苦力的,哈哈哈😂)
从上图中也可以看出,角色中还引入了架构师,并且PM还会出PRD,架构师还出流程图、API接口设计、ER图等,更为细分,更加专业了。经过HumanEval和MBPP基准的验证,MetaGPT在代码生成任务上交出了高分答卷。与AutoGPT、LangChain、AgentVerse和ChatDev等其他框架相比,MetaGPT在处理复杂软件项目时更是出类拔萃,不仅达到了100%的任务完成率,还显著提升了时间和令牌成本的效率。
更值得一提的是,消融研究进一步证实了专门化角色的重要性。多样化的角色引入,不仅让代码质量得到了显著提升,执行效果也更加出色。就像是一支篮球队,每个队员都有自己擅长的位置和技能,当他们协同作战时,整个团队的表现自然能够达到最佳状态。与ChatDev类似,MetaGPT也以设计游戏为例,这次设计的游戏是2048。
3. AutoGen
本文介绍了AutoGen,这是一个开源框架,旨在通过多代理对话来构建大语言模型(LLM)应用程序。AutoGen代理是可定制的、可对话的,结合LLM、人类输入和工具,可在多种模式下操作。框架的核心在于简化复杂任务,甚至于自动编程来解决任务,从而能够通过多代理协作来高效的解决问题。
- 多代理对话框架:AutoGen使用多代理对话来协调代理之间的合作,代理可以基于LLM、人类输入和工具进行操作。
- 可定制的代理:开发者可以轻松创建具有不同角色和功能的代理,通过选择和配置内置功能,使其适应多代理对话。
- 对话编程:采用对话编程范式,通过定义具有特定能力和角色的代理,以及编程代理之间的交互行为,简化了复杂应用的开发。
**不同于ChatDev和MetaGPT两者专注于软件开发领域,AuoGen的目标是构建一个通用的多代理对话框架,每个Agent可以是编程的,可以是利用的工具的,可以是人类无缝接入,也支持编排不同的Agent,即不同Agent如何沟通。**如下图所示,它可以自动编程去解决数学问题,也可以结合私有知识库实现RAG来解决大语言模型的幻觉问题,甚至能完成小组聊天式的对话应用。我们甚至能够想象,如何用AutoGen开发一款狼人杀的游戏(当然,接下来我会开始探索尝试这方面的应用),我甚至想探索一下如何设计一个人类加多个Agent玩剧本杀的游戏应用。
4. 总结
通过本文对ChatDev、MetaGPT和AutoGen三篇论文的详细分析,我们深入了解了多智能体协作工作流在大语言模型(LLM)中的应用。这些多智能体的框架,简直是反思、工具使用和规划的集合体,尤其是多角色的设计,Prompt如何设计,反思如何设计,工具如何调用。另外,从工程角度来看,角色之间的对话沟通是如何设计,是采用直接通信还是广播,都是很有意思的事情。这些框架通过分工合作、角色专精和对话编程,大大提升了复杂任务的解决效率和效果。下一篇文章将深入分析AutoGen的框架,以进一步探讨多智能体协作在实际应用中的实现和优化。
5. 深度阅读
本文不仅是一次技术探索,更是对合作与创新精神的致敬。如果您意犹未尽,推荐深入阅读系列文章,探索更多LLM代理工作流的奥秘,或参与LangChain实战课程,亲历LLM应用开发之旅。未来,属于那些勇于携手共创的智者。
如何系统的去学习大模型LLM ?
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈
一、全套AGI大模型学习路线
AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、AI大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
阶段1:AI大模型时代的基础理解
- 目标:了解AI大模型的基本概念、发展历程和核心原理。
- 内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践 - L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
- 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
- 内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例 - L2.2 Prompt框架
- L2.2.1 什么是Prompt
- L2.2.2 Prompt框架应用现状
- L2.2.3 基于GPTAS的Prompt框架
- L2.2.4 Prompt框架与Thought
- L2.2.5 Prompt框架与提示词 - L2.3 流水线工程
- L2.3.1 流水线工程的概念
- L2.3.2 流水线工程的优点
- L2.3.3 流水线工程的应用 - L2.4 总结与展望
- L2.1 API接口
阶段3:AI大模型应用架构实践
- 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
- 内容:
- L3.1 Agent模型框架
- L3.1.1 Agent模型框架的设计理念
- L3.1.2 Agent模型框架的核心组件
- L3.1.3 Agent模型框架的实现细节 - L3.2 MetaGPT
- L3.2.1 MetaGPT的基本概念
- L3.2.2 MetaGPT的工作原理
- L3.2.3 MetaGPT的应用场景 - L3.3 ChatGLM
- L3.3.1 ChatGLM的特点
- L3.3.2 ChatGLM的开发环境
- L3.3.3 ChatGLM的使用示例 - L3.4 LLAMA
- L3.4.1 LLAMA的特点
- L3.4.2 LLAMA的开发环境
- L3.4.3 LLAMA的使用示例 - L3.5 其他大模型介绍
- L3.1 Agent模型框架
阶段4:AI大模型私有化部署
- 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
- 内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
学习计划:
- 阶段1:1-2个月,建立AI大模型的基础知识体系。
- 阶段2:2-3个月,专注于API应用开发能力的提升。
- 阶段3:3-4个月,深入实践AI大模型的应用架构和私有化部署。
- 阶段4:4-5个月,专注于高级模型的应用和部署。
这份完整版的所有 ⚡️ 大模型 LLM 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
全套 《LLM大模型入门+进阶学习资源包》↓↓↓ 获取~
👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈