数据产品叶凌锋-数据产品经理成长笔记 - Autogen
type: channel
link: http://yelingfeng.com/tag/Autogen/
items: 如何实现多Agents协同？

如何实现多Agents协同？
type: item
date: 2024-03-16T09:04:00+08:00
description: 引言：Agents可以实现群聊了？多个Agents，多种技能，如何实现能协同工作？GPT曾经上线了一个@的功能，可以通过@的方式来让不同的GPTS在同一个会话中回复用户的问题。乍一看，这是要往群聊的方向走了吗？其实，在GPT上线这个功能之前，我们正在开发着多Agents“群聊”的功能，我们将这种类型的助理叫“智能协作”。顾名思义，智能协作，就是让多个Agents通过协作的方式来解决用户问题的。用户无需单独找某个助理回答问题，也无需@某个助理处理。而是自动调度到能处理该问题的助理来为用户解答。一、背景大家都在做单助理回复问题，我们为什么做多助理共同体呢？最初的原因就是，我们领导希望有一个万能的助理，可以处理所有问题。不管你问什么，不管你要处理什么，这个助理十八般武艺样样精通，只要你敢问，我就敢答。……这需求，简直是难为我们的开发团队了。不过好在，有这种想法的不是只有我们的领导。不知道大家对去年（2023年）比较热门的AutoGPT有没有印象呢。AutoGPT可以自动化和优化业务流程，生成测试用例，调试代码，甚至还能产生新的业务创意。将AI进程推向了新高度——自主人工智能。不过或许因为太自主了，不太受控制，问题还是非常大的，要实际应用，还是有一定距离的。我们技术团队提出了另外一个解决方案：微软的Autogen。二、了解AutogenAutoGen是一个框架，可以使用多个代理进行对话，以解决任务。AutoGen代理可以进行定制，交谈，并且可以无缝地允许人类参与。它可以在使用LLM模型、人类输入和工具的各种模式下运行。AutoGen能够通过多代理对话构建下一代LLM应用程序，简化了复杂LLM工作流的编排、自动化和优化。它支持各种复杂工作流的对话模式，并提供了不同复杂度的工作系统。此外，AutoGen还提供了增强的LLM推理功能，包括API统一和缓存，以及高级用法模式，如错误处理、多配置推理和上下文编程。AutoGen由微软、宾夕法尼亚州立大学和华盛顿大学的研究项目共同支持。简而言之，Autogen就是一个可以实现多Agents协同工作的框架。我们需要做的是通过Autogen来将多个助理连接起来，共同工作，共同解决问题。就相当于通过一个“领导”来“指挥”多个助理进行协同工作。作为Agents框架，AutoGen有四个重要的优点：它简化了复杂LLM工作流程的编排，实现了自动化。借助可自定义和可对话的代理，它支持复杂工作流程下的对话模式。它提供了具有不同复杂性的工作系统的集合。这些系统涵盖了来自各个领域和复杂性的广泛应用。AutoGen 提供了 openai.Completion 或 openai.ChatCompletion 的高级替代。作为增强型推理 API。它允许性能调优，API统一和缓存等实用程序，以及高级使用模式，如错误处理，多配置推理，上下文编程等。三、实现过程回顾说实在的，多个助理协同，实现“超级助理”共同体的做法，我们心里也没谱。领导的期望很大，我们心里很慌，技术团队就更慌了。连一些大大厂也是通过选择对应的助理来“工作”，我们却希望选择助理的这个操作交给系统或者大模型来实现，用户只是面对一个助理，在使用上无感。虽然是确定使用Autogent的方式来实现了，但是效果怎样，谁都没有谱。既然决定做了，那就硬着头皮也得往上干了。一开始，我们技术团队想着通过多个助理进行对话，最终由负责调度的助理进行汇总，并返回给提问者。优点：多个不同助理之间进行协同，集成了多个助理的“智慧”，得到的结果更加丰富，更加智能。缺点：消耗大，时间响应时间长，实现难度更大，结果不可控。最终，我们采用的的方案是：智能协作助理通过助理描述和技能描述，直接指派给对应的助理进行回答。回答的助理是明确的，不存在多个助理同时工作的情况。优点：消耗更少，实现难度小，响应时间更快，回复的结果可控（只需要把控回复的这个助理即可）缺点：回复内容单一举个例子：1、方案1：假如在AIGC产品团队中，A熟悉LLM大模型，B熟悉向量化，C熟悉Function calling，D熟悉Autogen。当用户向leader提问时，团队leader把AIGC产品团队中的ABCD召集起来进行内部沟通，每个人都根据自己熟悉和擅长的领域各抒己见，经过多次讨论后，leader对沟通的结果进行汇总，然后再回复用户的提问。这个方案相当于“民主制”，大家讨论着来完成工作，共同决策。2、方案2：假如E产品经理的综合能力较强，尤其擅长AIGC相关的内容，当用户向leader提问时，领导直接指派E产品经理来为用户解答，整个过程中，leader没有参与具体的工作，也没有进行内部沟通，而是直接指派给其中一个同事来解答。这个方案相当于“家长制”，由一个助理负责决策和调度，被指派到的助理独立负责执行。四、产品设计及实际应…