论文分享-MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework-ICLR2024

鉴于LLMs在模仿人类认知能力方面的潜力,一个自然的问题是:我们是否已经制造出了能够像人类一样思考的机器?这个问题触及了认知科学的核心,即评估和理解人工智能代理是否能够模拟人类的思维过...

鉴于LLMs在模仿人类认知能力方面的潜力,一个自然的问题是:我们是否已经制造出了能够像人类一样思考的机器?这个问题触及了认知科学的核心,即评估和理解人工智能代理是否能够模拟人类的思维过程。利用大型语言模型(LLMs)降低重复劳动过程在现实世界已经有很多应用。但是,任务多样复杂,需要实现有效、连贯和准确的问题解决过程,尤其是在协作过程中,通过广泛的协作实践,在各个领域开发出了广泛接受的标准化操作程序(SOP)。这些SOP在支持任务分解和有效协调方面发挥着关键作用。此外,SOP概述了每个团队成员的责任,同时为中间产出制定了标准。定义良好的SOP提高了与定义的角色和质量标准相一致的任务的一致性和准确性。(例如,在一家软件公司,产品经理分析竞争和用户需求,使用标准化结构创建产品需求文档(PRD),以指导开发过程)

attachments-2024-07-5XXPbhO866a05c152e8d0.png

目前已有很多大模型协作的框架,比如:

  1. AutoGPT:简化用户与语言模型的交互过程,使文本生成和信息收集更轻松、更高效。AutoGPT管理短期和长期记忆,并可以连接互联网收集信息,此外AutoGPT具有文件存储和汇总功能、、、ChatDev。
  2. AgentVerse:框架模拟了人类群体解决问题的过程,并允许根据当前问题解决的进度动态调整群体成员。将群体解决问题的过程分为四个关键阶段, (1) 专家招募——调整专家代理。 (2) 协作决策——协作讨论 (3) 动作执行——代理与环境交互以执行动作。 (4) 评估——当前状态与期望目标之间的差异。如果当前状态达不到预期,则会向第一阶段发送反馈奖励,并动态调整小组的构成,以利于下一轮的协作。
  3. LangChain:重新将 LLM 用于特定领域的应用程序,而无需重新训练或微调简化了开发此类数据响应式应用程序的中间步骤,提高了提示工程的效率。它旨在更轻松地开发由语言模型提供支持的各种应用程序,包括聊天机器人、问答、内容生成、摘要器等。
  4. ChatDev:ChatDev 是一家虚拟软件公司,通过各种不同角色的智能体运营,包括设计、编码、测试和文档四个阶段。每个阶段都有一个代理团队,如程序员、代码评审员和测试工程师,他们通过协作对话和无缝工作流程来推进开发过程。

他们都参考了SOP的思想,但又没有贯彻落实每一个步骤,MetaGPT则将标准化操作程序(SOP)编码为提示序列,以实现更简化的工作流程,从而允许具有类似人类领域专业知识的代理验证中间结果并减少错误。同时,MetaGPT利用SOP为各种代理分配不同的角色,有效地将复杂任务分解为涉及许多代理一起工作的子任务。


attachments-2024-07-zwE6NAbi66a05dafcb831.png


SOP在支持任务分解和有效协调方面发挥着关键作用。此外,标准操作程序概述了每个团队成员的责任,同时为中间产出制定了标准。定义良好的SOP提高了与定义的角色和质量标准相一致任务的完成率。每个agent都有特定的角色和专业知识,遵循一些既定的标准。这允许在运行时进行自动需求分析、系统设计、代码生成、修改、执行和调试。此外,每个agent可以监视环境(即MetaGPT中的消息池)来发现重要的信息,这些消息可以直接触发操作或帮助完成任务。为了克服LLMs的幻觉问题,初始代码生成后,引入了一个可执行的反馈机制。工程师编写并执行相应的单元测试用例,随后接收测试结果,根据历史执行和调试内存不断改进代码(工程师被要求根据原始的产品需求和设计编写代码)。

attachments-2024-07-NhW4lWaO66a05f190ff8f.png由于角色较多,经过多次沟通,原来的信息可能会有很大的失真。受人类社会结构的启发,作者使用结构化的通信,制定代理的通信,为每个角色建立一个模式和格式,并要求个人根据其特定的角色和背景提供必要的输出。在任务执行期间,代理通常更喜欢只接收与任务相关的信息,并避免因不相关的细节而分心。可以更改角色配置文件选择要关注的信息。agent仅在接收到其所有先决条件之后才激活其动作。

总结作者的贡献:

  1. 严格的SOP约束,结构化流程
  2. 消息池共享
  3. 结构化消息传递机制
  4. 反馈机制

局限性:

  1. 还不能完全满足特定的场景,如UI和前端
  2. 无法满足满足现实世界多样化、复杂的应用程序
  3. 对于用户来说,中断每个代理的运行过程,或者为每个代理设置开始运行点(检查点)很重要,但未考虑





你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
Queena
Queena

西北工业大学

1 篇文章

作家榜 »

  1. Panda-admin 37 文章
  2. 解弘艺 17 文章
  3. 高曾谊 16 文章
  4. 旺仔牛奶opo 15 文章
  5. 胡中天 14 文章
  6. LH 14 文章
  7. 罗柏荣 13 文章
  8. 林晨 12 文章