MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework
基本信息 标题: MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework 作者: Sirui Hong、Mingchen Zhuge、Chenglin Wu(通讯作者)等。 作者单位: DeepWisdom、阿卜杜拉国王科技大学、厦门大学、香港中文大学、南京大学、宾夕法尼亚大学、加州大学伯克利分校、瑞士人工智能实验室 期刊/会议: ArXiv 发表年份: 2023 DOI: 2308.00352 开源地址: Github 关键词: MetaGPT, Multi-Agent Collaboration, Standardized Operating Procedures (SOPs), Large Language Models (LLMs), Code Generation 研究背景 (Background) 利用大语言模型的Agent为增强和复制人类的工作流程提供了机会。但是实际应用中,现有系统将复杂问题过度简化。很多人想努力实现有效、连贯和准确的解决问题,尤其是需要协作的任务。而SOP可以有效的分解任务并且协调各个任务,明确的SOPs能够提高任务执行的一致性和准确性,确保其与定义的角色和质量标准相符。 研究问题 (Research Questions) 如何使用应用SOPs与Agent协作开发。 如何优化Agent协作通信能力。 如何提高代码生成的质量。 核心贡献 (Key Contributions) 总结本文的主要贡献点: 引入了MetaGPT,一个基于LLM的多智能体协作元编程框架。 作者在MetaGPT设计中创新性地集成了SOP,减少了LLM的代理之间的无效协作。此外,还引入了一种新颖的执行反馈机制,可以在运行时调试和执行代码,从而提高了代码生成的质量(MBPP上提高了5.4%) 在HumanEval和MBPP达到了SOAT MetaGPT 框架 (MetaGPT Framework) SOP中的Agent(Agents in Stanndard Operating Procedures) 角色的特定职能 解决复杂的任务或问题通常需要具有不同技能和专业知识的智能体协作,每个智能体都针对特定问题提供专门的输出。如在一家软件公司,产品经理的任务是分析业务、软件工程师负责编程开发。因此MetaGPT定义了五个角色:产品经理(Product Manager)、架构师(Architect)、项目经理(Project Manager)、工程师(Engineer)以及QA工程师(QA Engineer)。如下面图1所示: 图1:MetaGPT与真实世界人类团队之间的软件开发SOPs。 在MetaGPT中,对于每个角色制定了Agent的名字(name)、资料(profile)、目标(goal)和约束(constraints)。同时也初始化每个角色的特定的上下文(context)和技能(skill)。例如,产品经理可以使用网络搜索技能,而工程师可以执行代码。如下图2所示。所有Agent遵循ReAct风格。 ...