分享
Multi-agent collaboration 多智能体协作
输入“/”快速插入内容
Multi-agent collaboration 多智能体协作
飞书用户7742
飞书用户8174
2024年7月26日修改
🌲
翻译整理:小七姐
免费知识星球:
Prompt 星球
“Multi-agent collaboration”(多智能体协作)是人工智能领域中的一个重要研究方向,也是AI Agent工作流中的一个关键设计模式,它涉及到多个AI智能体(agents)协同工作以完成复杂的任务或解决复杂的问题。在这种模式下,每个智能体都有自己的角色和职责,它们通过通信和协作来共同达成目标。这种协作可以提高系统的效率和智能性,因为不同的智能体可以专注于它们最擅长的任务。
ChatDev框架
在论文 《
Communicative Agents for Software Development
》 中,作者提出了一个名为ChatDev的框架系统,这是一种创新的软件开发方法,该方法利用大型语言模型(LLMs)来简化和统一软件开发的关键过程。这种方法通过自然语言沟通来引导软件代理(agents)完成从设计、编码、测试到文档编制的整个软件开发生命周期。ChatDev框架模仿传统的瀑布模型,将开发过程严格分为连续的四个阶段,并在每个阶段中通过聊天链(chat chain)的形式,将任务分解为更小的、可管理的子任务。
CHATDEV,我们的虚拟聊天驱动软件开发公司,汇聚了来自不同社会身份的代理人,包括首席执行官、专业程序员、测试工程师以及美术设计师。当人类“客户”提出一个初步任务(例如“开发一个五子棋游戏”)时,CHATDEV的代理人通过协作式聊天进行有效的沟通和相互验证。这个过程使得他们能够自动构建全面的软件解决方案,包括源代码、环境依赖和用户手册。
ChatDev的核心特点包括:
1.
多角色协作:
ChatDev框架模拟了一个由不同角色(如首席执行官、程序员、测试工程师和艺术设计师)组成的虚拟公司,这些角色通过有效沟通和相互验证来共同完成软件开发任务。
2.
聊天链机制:
通过将每个开发阶段的工作任务分解为一系列原子子任务,并以聊天的形式进行分配和管理,使得每个子任务都能得到专注和精确的执行。
3.
上下文感知沟通:
软件代理在ChatDev框架中进行的沟通是基于上下文的,这意味着它们能够根据当前任务的具体情况提出和验证解决方案。
4.
自动化和效率:
ChatDev框架能够自动化整个软件开发流程,在不到七分钟的时间内完成软件生成,且成本极低,这在传统的软件开发过程中是无法想象的。
5.
减少代码幻觉:
通过引入思想指令机制和角色翻转,ChatDev框架能够减少在自动代码生成过程中出现的代码幻觉问题,如不完整的功能实现、缺失的依赖和未发现的bug。
所提出的CHATDEV架构包括阶段级别和对话级别的组成部分。在阶段级别,采用瀑布模型将软件开发过程分解为四个连续阶段。在对话级别,每个阶段进一步划分为原子对话。这些原子对话涉及两个代理之间的面向任务的角色扮演,促进协作沟通。这种沟通遵循一种指令跟随风格,代理在其中互动以完成每个对话中的特定子任务。
在这篇论文中,CHATDEV的软件开发流程分为四个阶段:设计、编码、测试和文档编写。每个阶段都包含一系列原子对话(atomic chats),这些原子对话涉及两个代理之间的面向任务的角色扮演,以促进协作沟通。以下是每个阶段的详细流程:
1.
设计阶段
:
◦
创新想法通过协作式头脑风暴产生,并定义技术设计要求。
◦
三个预定义角色:首席执行官(CEO)、首席产品官(CPO)和首席技术官(CTO)。
◦
CEO和CPO决定目标软件的类型,CEO和CTO选择编程语言。
2.
编码阶段
:
◦
三个预定义角色:CTO、程序员和美术设计师。
◦
CTO指导程序员使用标记语言格式实现软件系统。
◦
设计师提出用户友好的图形用户界面(GUI),并使用外部文本到图像工具创建图形。
3.
测试阶段
:
◦
三个预定义角色:程序员、审核员和测试员。
◦
同行评审(程序员和审核员)检查源代码以识别潜在问题。
◦
系统测试(程序员和测试员)通过程序员使用解释器的测试来验证软件执行。
4.
文档编写阶段
:
◦
四名代理(CEO、CPO、CTO和程序员)生成软件项目文档。
◦
CTO指导程序员提供环境依赖配置说明,CEO与CPO沟通需求和系统设计,由CPO生成用户手册。
在整个过程中,CHATDEV利用聊天链将每个阶段分解为原子子任务,通过任务导向的角色扮演促进代理之间的协作沟通。每个原子对话中的沟通遵循指令遵循风格,代理在其中互动以完成每个对话中的特定子任务。
AutoGen框架