AutoAgents: A Framework for Automatic Agent Generation
基本信息
作者单位:北京大学 香港科技大学 北京人工智能研究院 滑铁卢大学
期刊:arXiv
一句话介绍:自适应地生成和协调多个专业代理,根据不同的任务构建 AI 团队
论文:https://arxiv.org/abs/2309.17288
代码:https://github.com/Link-AGI/AutoAgents
研究动机
- 大多数现有的基于llm的多代理方法依赖于预定义的代理来处理简单的任务,这限制了多代理协作对不同场景的适应性。此外,手动创建大量的专家往往会消耗大量的资源。
- LLM在处理各种需要密集知识和推理的任务时仍然面临困难,相比之下,人类经常利用协作解决问题的好处,这使他们能够有效地合作解决不同领域的非常规问题,并通过在专业之间分配工作量和应用多样性的观点和专业知识来提高解决方案的质量和可靠性
研究问题
AutoAgents的过程分为两个关键阶段:起草阶段和执行阶段。起草阶段涉及三个预定义代理(Planner、Agent Observer和Plan Observer)之间的协作讨论,以合成适合输入问题或任务的定制代理团队和执行计划。执行阶段通过代理间的协作和反馈来细化计划,并产生最终结果。
方法
- Planner P :根据任务内容生成并细化代理团队和执行计划
- Agent Observer Oagent:为Agent团队成员的合理性以及与任务的匹配程度提供建议。
- Agent Observer首先验证每个Agent是否符合规范,并识别任何缺失的元素
- 其次,Agent Observer根据每个Agent的描述信息和任务内容来评估它们与任务的兼容性。
- 最后,Agent Observer检查代理列表中是否存在冗余或缺失的角色,并相应地删除或添加它们。
- Plan Observer Oplan :对执行计划的合理性以及与任务和代理团队的匹配程度提供建议。
Agent Generation:为了使Planner能够产生理性的代理,我们为单个代理的基本元素设计了一个标准格式。对于每个agent A={P,D,T,S} prompt P description D,toolset T and suggestions S
- prompt为每个特定代理提供了详细和定制的专家身份描述,其中包括profile(角色或职位的领域专长),goal(该角色旨在实现的主要职责或目标) 和constraints(角色在执行操作时必须遵循的限制或原则)
- Description:给出了额外的具体身份,以帮助建立更全面的角色、制定执行计划和检查问题。
- Toolset:从预定义的工具集中选择部分,防止工具过多导致决策混乱。
- Suggestion:为每个agent执行当前任务提供一些建议,包括但不限于明确的输出、历史信息的提取、执行步骤的建议。
Plan Generation:在生成代理的同时,Planner制定执行计划,并通过与Plan Observer的相互沟通推动逐步改进。对于给定的任务,Planner在执行计划p中描述完成该任务的具体步骤{S1,S2,...Sn},每个步骤Si都需要明确标识负责搞任务的agent AJ,以及该任务所需的输入信息和预期输出。Plan Observer随后根据代理列表{A1,A2,...An}和任务内容验证计划P={S1,S2...Sn}。
- 首先保证每个步骤都有对应的代理,保证步骤内容连贯,简洁
- 其次,评估所有步骤是否足够,是否可以完成任务,以及是否存在需要填补的空白。
- 最后,它向Planner提供反馈,后者据此进一步完善执行计划。
Task Execution Actions:执行计划包括任务执行的两个动作:单个代理的自改进和多个代理的协作改进
具体实现
1,多智能体通信:采用垂直通信范式,根据agent的角色分配不同的职责。为了促进生成的团队中代理之间的具体分工,引入了一个预定义的Action Observer作为团队负责人来协调执行计划。
2,Self-refinement Agent:利用AutoGPT和ReAct等机制,我们为单个代理设计了一种自细化机制。对于单个agent,步骤t处的动作是at=
,其中lt表示语言空间中的思想或推理轨迹(不改变外部环境,因此不产生观察反馈),pt表示更好地完成任务的执行计划,ot包括完成步骤和这次的执行输出。
3,Collaborative Refinement Action:多个代理共同努力细化和执行任务。 在这个协作过程中,代理按照固定的顺序轮流发言,每一轮协作都基于当前观察生成回应。 每个代理的聊天历史槽位(即记录交流历史的区域)会更新,将其他代理之前的发言串联在一起。 协作会一直持续,直到代理达成任务共识或达到预定的最大讨论轮次为止,此时协作过程会自动终止。
4,Knowledge Sharing Mechanism
(1)短期记忆主要集中在单个智能体上,包括在个体智能体自我改进过程中产生的中间想法、计划和执行结果。
(2)长时记忆主要针对多个agent之间的通信,主要记录单个agent执行的任务和关键反馈信息的汇总。
(3)动态记忆主要是为有特殊需求的代理服务的。Action Observer可以访问所有的短时记忆和长时记忆,根据agent执行任务所需的信息,动态地从短时记忆和长时记忆中提取补充信息,有助于提高单个agent的任务执行效率。
结论和分析
模型:GPT-4 API4
在起草阶段,讨论的最大次数是3次,在执行阶段,单个代理的自改进和多个代理的协作改进的最大次数是5次。
- 开放式问答任务
基于MT-bench(一个由80个高质量的开放式问题组成的基准),利用AutoAgents生成基于多个生成代理的协作答案,并将其与Vicuna-13B、ChatGPT和GPT-4给出的答案进行比较。采用fairreval和HumanEval作为单个代理和AutoAgents的评价指标
AutoAgent可以为开放问题提供更全面、更细致的答案。它还可以为其答案提供更详细的解释和理由。
- 琐事创意写作任务
这项任务需要一个模型来围绕给定的主题编写一个连贯的故事,同时结合N个琐事问题的答案。我们在N = 5和N = 10两种设置下评估模型,其中较高的N需要更多的琐事问题,因此要求模型展示更广泛的领域知识。我们为每个N构建了一个由100个实例组成的基准,总共包含1000个琐事问题。
评估标准:对生成的输出上的每个问题的真实目标答案进行字符串匹配。目标答案来自TriviaQA数据集,每个问题都可以有一个答案变体列表。与问题的任何答案变体相匹配都被认为是正确的提及。度量得分的计算方法为
AutoAgents在知识获取方面优于现有方法的性能。文章来源:https://www.toymoban.com/news/detail-806116.html
- 多智能体群体合作解决复杂实际场景的潜力
通过使用AutoAgents开发俄罗斯方块游戏,生成了游戏设计专家、UI设计专家、程序员和调试专家等各种专家角色,以完成游戏开发任务。文章来源地址https://www.toymoban.com/news/detail-806116.html
- 局限
- 即使使用动态角色生成,它们仍然可能产生错误的结果。
- 该框架中不同角色之间的差异主要取决于提示和工具使用的变化,但这并没有强调不同专家角色之间的区别。
到了这里,关于【大模型系列】AutoAgents: A Framework for Automatic Agent Generation论文阅读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!