25个AI智能体恋爱交友斯坦福爆火「小镇」开源

最后编辑时间:2023-08-10 15:19:17 来源:未知 作者:未知 阅读量: 未知

  25个AI智能体不仅能在这里上班、闲聊、social、交友,甚至还能谈恋爱,而且每个Agent都有自己的个性和背景故事。

  斯坦福智能体小镇是2023年最激动人心的AI Agent实验之一。我们常常讨论单个大语言模型的新兴能力,但是现在有了多个AI智能体,情况会更复杂、更引人入胜。

  「《动物之森》中重复、沉闷的对话,所有村民共有的一维人格系统,都太令人失望了。任天堂赶快学学吧!」

  有人还畅想:这项技术在企业空间中也有很多应用场景,比如员工如何和不同的工作环境/流程变化互动。

  当然,也有人表示,你们激动个啥?其实我们一直都生活在这样的模拟中,只不过我们的世界有更多的算力罢了。

  此前,前特斯拉总监、OpenAI大牛Karpathy就表示,如今AI智能体才是未来最前沿的方向。

  OpenAI的团队最近5年把时间花在了别的地方,但现在Karpathy相信,「Agent代表着AI的一种未来。」

  如果某篇论文提出训练大语言模型的不同方法,OpenAI内部的Slack群组中就会有人说:「这个办法我两年半前尝试过,没什么用。」

  在美剧《西部世界》中,被预设了故事情节的机器人被投放到主题公园,像人类一样行事,然后被重置记忆,在新一天再被投放进自己所在的核心故事情节。

  而在今年4月,斯坦福和谷歌的研究者竟然构建出了一个虚拟小镇,让25个AI智能体在其中生存、从事复杂行为,简直堪称是《西部世界》走进现实。

  为了生成智能体,研究者提出了一种全新架构,它扩展了大语言模型,能够使用自然语言存储Agent的经历。

  随着时间的推移,这些记忆会被合成为更高级别的反射,智能体可以动态检索它们,来规划自己的行为。

  为了解决这个问题,架构的核心是记忆流(memory stream),即一个记录智能体全部经验的数据库。

  智能体可以从记忆流中检索相关记忆,这有助于它规划行动,做出正确反应,并且每次行动都会反馈记录到记忆流中,以便递归地改进未来行动。

  另外,研究还引入了第二种类型的记忆——反思(reflection)。反思是智能体根据最近经历生成的高级抽象思考。

  在这项研究中,反思是周期性触发的过程,只有当智能体判断最近一系列事件的重要性评分,累积超过设定阈值时,才会启动反思机制。

  通过利用观察结果作为提示,让语言模型决定智能体下一步行动:继续执行当前规划,还是做出其他反应。

  控制评估是为了了解智能体能否独立产生可信个体行为。而端到端评估,是为了了解智能体的涌现能力以及稳定性。

  比如,Isabella策划一个情人节party邀请大家来。12个智能体中,7个人还在考虑中(3个人有了别的计划,还有4个人没有想法)。

  在这个名为Smallville的沙盒世界小镇中,区域会被标记。根节点描述整个世界,子节点描述区域(房屋、咖啡馆、商店),叶节点描述对象(桌子、书架)。

  研究者编写了一段自然语言,来描述每个智能体的身份,包括它们的职业、与其他智能体的关系,作为种子记忆。

  John Lin的妻子Mei Lin是大学教授,儿子Eddy Lin正在学习音乐理论,他们住在一起,John Lin非常爱他的家人。

  以下就是John Lin度过的一天早晨:6点醒来,开始刷牙、洗澡、吃早餐,在出门工作前,他会见一见自己的妻子Mei和儿子Eddy。

  随后发生的一系列事情,都可能存在失败点,智能体可能不会继续坚持这个意图,或者会忘记告诉他人,甚至可能忘了出现。

  在配置环境之前,首先需要生成一个包含OpenAI API密钥的utils.py文件,并下载必要的软件包。

  如果看到「Your environment server is up and running」这个提示,意思就是服务器运行正常。确保环境服务器在运行模拟时持续运行,因此请保持这个命令行标签打开。

  (注意:建议使用Chrome或Safari。Firefox可能会出现一些前端故障,但应该不会影响实际模拟。)

  打开另一个命令行窗口(你在步骤 1 中使用的仍在运行环境服务器,需要保持不动)。导航到reverie/backend_server并运行reverie.py来启动模拟服务器:

  请注意,需要将上述的 step-count 替换为一个整数,表示要模拟的游戏步数。

  一旦运行完成,「Enter option」提示会再次出现。此时,你可以通过重新输入run命令并指定所需的游戏步数来继续模拟,或者输入exit退出但不保存,输入fin则是保存并退出。

  下次运行模拟服务器时,只要提供模拟的名称就可以访问已保存的模拟。这样,你就可以从上次离开的位置重新启动模拟。

  你可能会发现,重放中所有角色的Sprite看起来都是一样的。这是因为重放功能主要用于调试,并不优先考虑优化模拟文件夹的大小或视觉效果。

  要正确演示带有角色Sprite的模拟,首先需要压缩模拟。为此,请使用文本编辑器打开位于reverie目录中的compress_sim_storage.py文件。然后,执行压缩函数,并将目标模拟的名称作为输入。这样,模拟文件就会被压缩,从而可以进行演示。

  自定义的历史文件的列格式必须与附带的示例历史文件一致。因此,作者建议通过复制和粘贴存储库中已有的文件来开始该过程。

(责任编辑:管理)