可以轻松模拟社会实验的多智能体宇宙来了—— 它由清华大学联合北邮、微信团队推出,目前已在GitHub揽获1.1k标星。 名字简单粗暴,就叫“AgentVerse”。 划重点:这个环境专门针对大语言模型开发,也就是智能体们可以运用LLM的能力完成任务。 而只需几行简单配置,你想让智能体们在什么环境出生,就能在什么环境成长。 比如“囚徒困境”: 狱警向两个嫌疑人agent提出一个两难挑战,让他们自己决定是合作互惠还是背叛。 比如“NLP课堂”: 教授通过文字形式授课,学生agent通过有问题时举手、被点名之后方可发言提问的方式,一步步学会知识。 甚至,还能模拟简单的宝可梦游戏…而且还是用户可以直接参与进去的那种: (通过输入文本进行对话) 要啥有啥,全凭你自己发挥。 作者也表示,这个项目的初衷就是简化大伙儿用LLM构建自定义多智能体环境的过程,让大家能够专注于研究本身。 目前,AgentVerse的论文已经发布,源码也在路上了。 赶紧来瞧瞧。 4个阶段、5大基础组件 正如AgentVerse专为大模型开发,如今人类训练智能体的效果正是在各种LLM的加持下,跟着进步了很多,比如更强的泛化能力。 不过,就和现实世界一样,即使有LLM助力,学会合作也是这些智能体们必须要经历的一件事。 在此,作者提出了多智能体环境构建框架AgentVerse。 它的工作流程模拟了人类合作解决问题的过程,一共分为4个阶段: 1、专家招募(Expert Recruitment)。 根据当前问题解决进度调整由那些agent来处理任务。 2、讨论合作策略(Collaborative Decision)。 由上一阶段招募的agent讨论解决问题所需的分工,需要达成共识。 3、执行(Action Execution) agent们与环境进行交互,完成任务。 4、评估(Evaluation) 任务完成后,此模块将当前状态与期望目标进行比对,如果没有达到预期就发送反馈奖励重新回到第一步骤。 如开头提到,AgentVerse框架的亮点之一就是可以实现自定义环境配置。 那么如何自定义? 方法是通过5个基础组件。 每一个组件代表的其实是一个规则,组合不同的规则就可以搭建出不同的环境,从而方便研究人员研究不同条件下智能体的行为。 具体来看,这5个组件分别是: 描述器(Describer),它为每个agent提供每次环境的描述。通过自定义该组件,你就能根据你自己的特定要求来构建环境。 顺序(Order),它定义agent在环境中采取操作的顺序,可以采用几个默认选项,比如random(随机)、sequential(按顺序)和concurrent(所有agent在每个回合中都采取行动),也可以自定义。 选择器(Selector),有时agent会生成一些无效信息,它就用于过滤这些信息,选择有效内容。 更新器(Updater),用于更新每个agent的内存。这是因为有时某个agent的响应不应被所有agent看到(比如不在一个房间),它的作用就是在每个响应发生后,仅更新每个agent应看到内容。 Visibility(可见性),用于维护agent列表,每当有agent移动到另一个房间或者产生其他变化时,它会向所有agent更新列表。 除了这5个基础组件,AgentVerse还有一个非常基础的元素:agent。 目前,系统提供两种类型:一个是ConversationAgent,一个是ToolAgent,含义如其名。 当然,通过继承BaseAgent类我们还能定制第三种,以及更多类型代理。 如何配置? 手动clone或者pip命令即可安装AgentVerse。 需要注意的是,得准备一个OpenAI API密钥,以及安装BMTools(可选,如果你需要它提供的各种扩展工具)。 如上准备就绪后: 1、我们可以直接运行他们搭好的例子。 除了开头展示的“囚徒困境”、NLP课堂、宝可梦游戏,还有软件设计场景(1个写代码的agent、1个测试agent、1个审查agent)、数据库管理场景和文本评估场景。 值得注意的是,在NLP课堂这个主题上,作者提供了非常多的环境可选: 除了开头展示的那个可进行提问操作的case,还有可以发起小组讨论、学生在听课时使用必应进行搜索、用WolframAlpha API玩算术游戏等等。 2、自己动手搭一个。 自己动手可以先来一个简单的,比如构建一个只有1名教授、1名学生和1个助教的课堂环境。 首先创建任务目录并配置环境,也就是上面介绍的5个基础组件配置: 然后是配置agent,下面是教授的示例: 可以看到agent类型、名字、所用LLM类型等信息。 最后编写输出解析器,服务gent的响应,比如可以让模型在提示模版中以下格式输出: 以上就是一个简单教室环境的大概流程了。 以看到步骤并不复杂,当然,具体操作还是参阅项目原文。 如果你觉得这种太简单,也可以定制一个更复杂的。但具体教程还没出(据说很快了)。 从作者提前透露的信息来看,大体也还是围绕五个基本组件、环境本身和agent来进行。 另外,AgentVerse未来还会新增一些强大功能,比如支持本地LLM、添加文档等等,可以期待。 One More Thing 在论文中,作者也对AgentVerse环境构建的多智能体协作任务中,agent出现的一些社会行为进行了研究。 这些行为包括: (1)积极行为,比如在我的世界游戏中,提出和别的agent一起收集甘蔗加快造纸进度,或者帮还没完成毛皮收集的人一起收集; (2)消极行为,比如从众、搞破坏。 在此,作者也讨论了一些可能的策略,用于复用积极行为、摒弃消极行为,最终提高多智能体间的合作能力。 感兴趣的读者可以进一步查阅论文。 项目地址:https://github.com/OpenBMB/AgentVerse 论文地址:https://arxiv.org/abs/2308.10848 来源:量子位 |
原创栏目
IT百科
网友评论
聚超值•精选