为了解决这个问题,OpenBMB 联合 THUNLP 的研究者们发布了 AgentVerse(多智能体世界)开源项目,旨在为广大研究人员提供一个易于使用、灵活且高度可扩展的平台,以便研究者能够 轻松定制自己的 multi-agent 环境,创建多个具有不同能力与不同身份的 agent,对他们的行为进行观察,或是令他们通过协作和竞争完成复杂任务。
人工智能能否模拟人类行为,是科幻和研究的永恒话题。最近斯坦福大学的一篇论文提出了一种名为 Generative Agents 的创新架构,基于该架构的 agent 能够利用 LLM 模拟真实人类行为,并记忆、检索、反思、与其他 agent 互动。例如,当看到早餐在燃烧时,agent 会关闭炉子;当遇到想要交谈的其他 agent 时,它会停下来与其进行对话。在这一个具有着多个 agent 的虚拟小镇中,不同的 agent 就像人类在社会中各司其职,在彼此互相交流的过程中扮演自己的社会角色,度过每一天。
这一研究展示了 LLM在模拟人类行为方面的巨大潜力,展示了人工智能研究从个体智能到群体智能跨越的可能性,同时也为理解和模拟人类行为提供了一种全新的视角。同时,这一研究也为我们提供了充足的想象空间:通过利用 LLM,或许我们还可以更深入地探索多 agent 之间的交互、协作与竞争等复杂社会动态。这可能有助于发现与分析社会科学现象,验证理论假设以及推动人工智能领域乃至社会科学等领域的创新发展。
为了方便研究人员构建类似 Generative Agents 研究中所呈现的虚拟小镇,AgentVerse 提供了一个灵活的框架,简化了搭建基于 LLM 的 multi-agent 场景的流程,使研究者们能够投入更多的精力在 multi-agent 场景的相关研究上,而非在繁琐的实现细节上。同时,框架也并不拘泥于 Generative Agents 研究中所展示的场景,而是可以根据研究者的需求进行自行定制。AgentVerse 在框架的设计上有着几个突出的特点:
易用性:AgentVerse 提供了一组基本的模块,让研究者们可以轻松高效地创建 multi-agent 环境。对于简单场景,只需编写一个配置文件和几行代码,就可以轻松运行。
Describer:用于为每个 agent 提供其当前所处环境的描述
Order:用于决定 agent 在环境中的行动顺序
Selector:用于筛选掉不符合环境要求的 agent 回复
Updater:用于将 agent 回复更新至可以看到该回复的其他 agent 记忆中
Visibility:用于维护每个 agent 可以看到的其他 agent 名单(例如当两个 agent 处于不同房间时,他们不应互相看见)
不同功能模块提供了不同的接口,因此对于无法直接使用 AgentVerse 提供的基本模块构建的复杂环境,研究者可以自定义修改五个功能模块中的一个或多个,以根据自己的需求快速构建自己的 multi-agent 环境。
支持工具:AgentVerse 支持使用工具(插件)的 multi-agent 环境,即在 agent 与环境进行交互的过程中,允许 agent 根据当前状态决定是否使用工具。目前,AgentVerse 支持 BMTools 提供的各种工具。
支持不同的LLM:AgentVerse 基于 LangChain 构建,因此能够支持各种已经囊括在 LangChain 中的主流大型语言模型。研究者还可以通过参考 LangChain 文档,轻松自定义自己的 LLM。
AgentVerse 的开发,给广大研究人员和开发者带来了一个全新的 multi-agent 交互实验场,为探索虚拟世界中 agent 之间的协作、竞争和学习提供了极大便利。未来,基于 AgentVerse 的各类创新应用和突破性研究将有望在人工智能领域掀起一股新潮。
—
作为一个例子,在AgentVerse中构建一个只包含教授、助教以及学生共三个人的简易课堂环境,并模拟上课的过程只需要三步:
1. 创建一个yaml配置文件,并写明环境的配置:
Action: Speak
Action Input: (some content)
—
首先,我们将撰写更为详细的使用文档,以降低该框架的使用门槛
其次,致力于支持更多的实际场景,提供更加方便扩展的接口
另外,我们将持续关注并支持更多开源大模型,以满足各种应用场景的需求