前言
"斯坦福小镇"(也被称为 "AI 小镇 / Generative Agents 项目" / "Stanford AI Town")最初由斯坦福大学研究团队提出,目的是探索如何让多个智能体(agents)在一个虚拟环境中,以较高的自治性、记忆、互动、推理的能力去"生活"与"社交"。 它想模拟一个有基础设施(如房屋、咖啡厅、商店、公园等)的虚拟世界,里面的 AI 智能体能:有自己的"身份"与"背景",拥有记忆(经历过的事情)能与环境交互(走动、去场所、发起对话、社交活动等),根据自身目标 / 兴趣做决策,在长期运行中展现出连贯性、社会互动性、变化性
例如在这个小镇里,某个智能体可能会去咖啡馆,偶遇其他智能体,闲聊,后来一起组织一个聚会。这样的行为不是硬编码的,而是根据输入、记忆、推理机制产生的。
项目在 2023 年被开源(代码 + 论文)后,引起业界广泛关注,因为它代表了"让 AI 不只是回答问题,而是所有行为都更像有角色的 agent"这条路径的一个示范。
最近Microverse项目也实现了类似的功能,并且开源,这个blog记录本地实现这个项目。
以下是这个项目的简介
一个模拟上帝类的沙盒游戏,基于Godot 4开发的多智能体AI社交模拟系统。在这个虚拟世界中,AI角色拥有独立的思维和记忆,能够自主进行社交互动、完成任务,并在持续的交流中发展出复杂的社会关系。
附上项目github地址:https://github.com/KsanaDock/Microverse
下载引擎并且克隆项目
首先需要一个游戏引擎godot,直接搜索godot可直接下载
bash
https://godotengine.org/zh-cn/

我们在终端将这个项目download
bash
git clone https://github.com/KsanaDock/Microverse.git

当下载完就能够在本地找到这个项目了,默认是在用户名下,但是可以指定位置,可以在终端进入某一个文件夹,并且在这个文件夹下clone,就能够下到这个文件夹了

部署本地LLM
我们需要在本地运行,所以需要在本地部署一个LLM,然后运行起来,再进行下一步。
部署本地大语言模型在另一篇blog,写了三个系统怎么部署,跟这个是连在一起的,直接按照那个部署然后运行起来再打开godot
运行项目
当我们的终端已经开始运行LLM以后呢,不要关闭终端,启动godot
然后导入项目,在clone文件下面的子目录是有一个godot后缀的文件,我们选择这个文件
选择立即编辑,导入
进去以后导入完是这样的,看起来什么都没有,但是点击右上角小三角运行起来就出来游戏界面了
加载游戏后,按键盘上esc,弹出设置,选择我们本地部署的大语言模型(好像会自动配置。如果没有自动配置的话就选择一下)
然后保存我们就可以看到不同的角色在这个虚拟的环境中自由的生活啦,还可以更改他们的任务,情绪,关系等等,这个一个自由的世界,虚拟角色的大脑就是本地部署的LLM,可以看到他们对话和活动,看看最后会有什么样的火花吧。
当我们在运行的时候,也是能够看到后台终端的大语言模型进程不断的更新的
感谢这个项目作者开源的贡献,希望大家能够玩起来,因为开源这个项目也可以再进一步拓展,期待更多更好的作品