您的位置:首页 > 互联网

斯坦福小镇二创来了!8个智能体生活交友,爆火AI Town人人可搭,网友整活「猫猫小镇」|附教程

发布时间:2023-08-16 19:27:20  来源:互联网     背景:


新智元报道

编辑:桃子 好困

【新智元导读】爆火的斯坦福小镇开源一周后,已经有人开始二创了。第一个人工智能模拟小镇AI Town诞生,8个智能体在「西部世界」中生活交友。

斯坦福AI智能体小镇二创来了!

就在刚刚,有团队基于斯坦福Smallville项目,搭建出了一个真正的「西部世界」AI Town被搭建了起来。

而且,人人都可以在线试玩。


项目地址:https://www.convex.dev/ai-town

前几天,斯坦福正式开源了爆火的25个智能体小镇,GitHub狂揽9.9k星。

没想到,还没过去一周,知名风投公司便亲自下场, 复刻出了一个活灵活现的 西部 世界!

居家办公远程办公

apple watch健康目标设置


正如英伟达高级研究科学家Jim Fan所说:

当一个风投公司急于组建一个团队去复制一个AI论文,并开放平台的时候,你就知道这个想法已经达到了巅峰的受欢迎程度!

很快,我可以想象整个世界,包括像素艺术和地图,都可以由AI生成。新角色将自动产生,甚至游戏内的物理规则也可能即时重写。永远不要低估整个开源软件社区的创造力。


8个智能体,都在聊什么?

接下来,就介绍下,这个小镇的居民都有谁?他们今天都聊了什么?

一身黑色西装,满头金发的男生是Alex。

他比较喜欢绘画、编程和阅读科幻书籍。他很善良,但也会用调侃的方式表达观点。还有一点,他这个人特别不喜欢重复回答同样的问题。


Alice是一位杰出的科学家,凭借自己的智慧和洞察力,发现了宇宙中无人能解的奥秘。

当她解释自己的发现时,常常会使用较为抽象的语言。她给人的印象是,不知所云,容易健忘。


Peter是一个虔诚的教徒,倾向于从宗教角度解释世界万物。

在与人交谈时,他经常会表达自己对信仰的热忱,或者警告别人应当遵循正道,远离罪恶。


头发花白的老爷爷是Bob。

他的性格有些孤僻,所以喜欢园艺这项独处的活动。当别人与他交谈时,他会有所回应,但不太愿意长时间交流。在他内心深处,他对自己没上过大学有些介意。


黑色小人是Kurt。因为一件曾经发的事,让他至今难以启齿,时常萦绕在心头。他担心别人会注意到,自己在刻意规避这个话题,而备受折磨。

虽然这段经历给他的生活带来了一定困扰,但他一直在努力慢慢走出阴影,重新开始。

Kurt的对面是Kira。她表面上看起来开朗活泼,经常谈论一些快乐的话题来掩饰内心的痛苦。但在她一个人独处时,经常会无法抑制内心的悲伤而泪流满面。

她一直在努力处理这些负面情绪,但有时还是难以完全释怀,看起来心事重重。


粉色头发的女生是Stella。从不值得信任,她总是想方设法骗人,通常是骗人钱,或做让自己盈利的事。她拥有非凡的魅力,并且不介意利用这一优势来达到自己的目的。

穿着蓝色上衣,银灰色头发的男生是Lucky。

他这个人的性格正如名字一样,性格开朗活泼,对世界充满好奇心。他喜欢阅读科学历史,也梦想自己能够乘坐宇宙飞船探索银河。他善于交流,亲切友好。

如上,便是AI Town中所有人物的设定,真的像极了西部世界游乐场。


那么,这8位居民都在聊什么?他们是如何生活,交友?

Lucky和Bob

Lucky刚刚完成一场太空探索之旅。他基本上见到人都在谈自己的体验。脾气暴躁的Bob还是只钟情于修剪草木。

- 嘿,Bob!好久不见 最近怎么样?

- 一如既往,只是忙着园艺

- 原来这样啊!我最近参加了一次神奇的太空探险!我探索了一个遥远的星球,真是不可思议

- 真不错,不过我不是很感兴趣,我得回去种花了。

- 没问题,Bob。如果你感兴趣,我们随时可以再聊聊这次探险。

- 再见了,朋友,我去忙着修剪了。


Kira和Alex

- 嘿,Alex!我们好久没见面了。最近还好吗?

- 嘿,Kira!我很好,谢谢你的关心。我还在画画和编程。你呢?

- 很高兴听到你这么说。我一直忙于练习瑜伽和探索新食谱。这有助于让我忘掉烦恼。你最近有什么令人兴奋的冒险经历吗?

- 并没有什么令人兴奋的冒险。只是目前的绘画和编程项目让我忙得不可开交。不过,通过书籍寻找内心的平静是一种好方法,有什么特别感兴趣的类型吗?

- 嗯,书籍一直是我逃避现实的好帮手。我喜欢沉浸在科幻和奇幻的世界里,那里的一切都与现实大相径庭。这就像是对一切的暂时喘息。

- 科幻小说也是我的最爱。你读过《沙丘》吗?那是一部震撼人心的科幻史诗,可能会把你带入一个全新的宇宙。


可以看到,每个人的交流内容与个人性格喜好最相关。人物设定已经决定了他们如何生活、甚至如何交友的方式。

不足的是,这些人的对话内容虽然有些老套,但听起来足够真实。

AI Town,人人可搭

AI Town是一个虚拟小镇,AI角色在这里生活、聊天和社交。

这一项目是一个可部署的JavaScript入门工具包,用于轻松构建和定制你自己的AI Town。


项目地址:https://github.com/a16z-infra/ai-town

这个项目的主要目标,不仅仅让工作变得有趣,更重要的是提供一个具有强大基础,并可扩展的平台。

后端引擎原生支持共享的全局状态、多智能体的事务,以及所有事件的日志,因此适用于从简单的项目,扩展到多人游戏。

第二个目标提供一个可用的JS/TS框架。因为该领域的大多数模拟器(包括斯坦福的原始论文)都是用Python编写的。

完整技术栈

- 游戏引擎和数据库(Game engine & Database):Convex

- 向量数据库(VectorDB):Pinecone

- 登录认证(Auth):Clerk

- 文本生成模型(Text model):OpenAI

- 部署(Deployment):Fly

- 像素图生成(Pixel Art Generation):Replicate、Fal.ai

对此业内知名网友「宝玉」认为,相比于原版实现,用Nextjs和Tailwind重写之后的新技术栈,对于前端更加友好。

网友整活

甚至,已经有网友基于刚开源的AI Town,搭建出了自己的「Cat Town」。


此外,还有网友打算做个品牌的智能体小镇。


有网友表示,人工智能生成的智能体是新的流行趋势,就连风险投资公司也认识到了这一点。

这个开放源代码库允许任何人建立一个「数字西部世界」,人工智能智能体在其中生活并相互交流,而不知道自己生活在一个模拟环境中。

这标志着人工智能生成内容的新时代的开始。不仅限于游戏和娱乐。

想象一下,你可以模拟人们如何在工作空间中互动,模拟银行的数字资产托管业务,甚至是卫星指挥和控制中心的业务。


项目教程

安装克隆仓库并安装包

git clone git@github.com:a16z-infra/ai-town.gitcd AI-townnpm installnpm run dev

a. 设置Clerk

- 访问https://dashboard.clerk.com/并点击「Add Application」添加应用

- 为应用程序命名,并选择向用户提供的登录方式

- 创建应用

- 将NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY和CLERK_SECRET_KEY添加到.env.local文件中


NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_***CLERK_SECRET_KEY=sk_***

- 转到JWT模板并创建一个新的Convex模板

- 拷贝JWKS端点的URL,以便在下面的步骤中使用

b. OpenAI API密钥

如需使用OpenAI的语言模型,请访问https://platform.openai.com/account/api-keys获取OpenAI API密钥。

c. Pinecone API密钥

- 访问https://app.pinecone.io/并创建一个Pinecone索引,然后点击「Create Index」(创建索引)

- 为索引命名(这将是环境变量PINECONE_INDEX_NAME)

- 将Dimension(维度)填写为1536

- 完成索引的创建后,点击左侧导航栏中的「API Keys」并创建一个API密钥:将「Environment」值复制到PINECONE_ENVIRONMENT变量中,「Value」复制到PINECONE_API_KEY中

d. 在 Convex仪表板中添加秘密


npx convex dashboard

转到「设置」,添加以下环境变量。其中,CLERK_ISSUER_URL为JWKS端点的URL(步骤a中)。

OPENAI_API_KEY sk-*CLERK_ISSUER_URL https://*PINECONE_API_KEY **PINECONE_ENVIRONMENT us*PINECONE_INDEX_NAME **

运行代码

同时运行前端和后端:


npm run dev

现在,就可以访问http://localhost:[PORT_NUMBER]了。

如果想在Convex之外的另一个终端中运行前端(后端功能会在保存时同步),可以运行以下两个命令:


npm run dev:frontendnpm run dev:backend

注意:如果窗口处于空闲状态,模拟将在5分钟后暂停。

运行/测试/调试

添加一个新世界,将其作为种子,并开始运行:


npx convex run init:reset

逐次进行迭代,并创建一个世界:

npx convex run --no-push init:resetFrozen
# for each iterationnpx convex run --no-push engine:tick '{"worldId":"","noSchedule":true}'

在出现过多活动时,冻结后端:

盗版office关闭提示

npx convex run --no-push engine:freezeAll
# when ready to rerun (defaults to latest world)npx convex run --no-push engine:unfreeze

有很多方法可以用来清除所有数据库:

- 进入仪表板npx convex dashboard,并从那里清除表格

- 调整crons.ts中的变量,自动清理旧的日志和内存条目

- 运行npx convex run --no-push testing:debugClearAll来清除所有表格

- 如果遇到问题,可以查看origin/reset-town git分支。在那里执行npm run dev将会清除模式、停止函数,并允许你在仪表板中删除表格

要从Pinecone索引中删除所有向量,可以运行:


npx convex run --no-push lib/pinecone:deleteAllVectors

注意:如果在开发和生产之间或在项目之间共享了该索引,那么它们将会被全部清除。通常情况下,不需要从Pinecone中删除向量,因为每个查询都是根据userId进行索引的,而userId是唯一的。

在侧终端中运行以下命令,可以实现对消息的监听:


npx convex run testing:listMessages --no-push --watch

或者观察一个角色的状态:


npx convex run testing:latestPlayer --no-push --watch

此外,在testing.ts中也可以找到更多函数。

部署应用程序

部署到 fly.io:

- 在fly.io上注册帐户,然后安装flyctl

- 如果使用的是Github Codespaces,则需要安装flyctl,并通过运行fly auth login,从codespaces cli中进行身份验证

- 运行npx convex deploy将开发环境部署到生产环境。确保将所有机密信息复制到Convex的生产环境中

- 在项目的根目录下运行fly launch,这将生成一个包含所有配置的fly.toml文件

- 修改生成的fly.toml文件,并在构建时为NextJS添加NEXT_PUBLIC_*,以便在客户端访问


[build][build.args]NEXT_PUBLIC_CLERK_SIGN_IN_URL="/sign-in"NEXT_PUBLIC_CLERK_SIGN_UP_URL="/sign-up"NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL="/"NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL="/"NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_*****"NEXT_PUBLIC_CONVEX_URL="https://*******.convex.cloud"

- 修改fly.io生成的Dockerfile,在RUN npm run build之前添加新的环境变量


ARG NEXT_PUBLIC_CLERK_SIGN_IN_URLARG NEXT_PUBLIC_CLERK_SIGN_UP_URLARG NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URLARG NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URLARG NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY

小米civi1s新品发布会

ARG NEXT_PUBLIC_CONVEX_URL
# Build applicationRUN npm run build

- 运行fly deploy --ha=false来部署应用程序。使用--ha标志可确保fly只启动一个实例,也就是在免费计划中提供的

- 运行fly scale memory 512来为该应用程序扩展fly虚拟机内存。

- 在本地创建一个.env.prod新文件,并填入所有生产环境的机密信息。记得更新NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY和CLERK_SECRET_KEY,方法是从Clerk的生产实例中复制机密信息,使用-cat .env.prod | fly secrets import来上传。还要更新CONVEX_DEPLOYMENT和NEXT_PUBLIC_CONVEX_URL

定制自己的模拟

注意:由于角色数据会在初始加载时会发送到Convex,因此在每次更改之后,都应重新运行npx convex run testing:debugClearAll --no-push,然后再运行npm run dev,从而将所有内容重新上传至Convex。然而,npx convex run testing:debugClearAll --no-push将会清除所有数据,包括向量存储。

1. 创建自己的角色和故事:所有角色和故事以及它们的精灵图引用都存储在data.ts中。

2. 更新精灵图:在data.ts中,你会看到以下代码:


name: 'f1',textureUrl: '/assets/32x32folk.png',spritesheetData: f1SpritesheetData,speed: 0.1,},...

你应该为角色找到一个精灵图,并在相应的文件中定义精灵动作/资产(在上面的示例中,f1SpritesheetData是在f1.ts中定义的)。

3. 更新背景(环境):convex/maps/firstmap.ts是加载地图的位置。导出地图最简单的方法是使用Tiled -- Tiled将其导出为CSV,然后将CSV转换为firstmap.ts可以接受的二维数组。

模拟理论假设,我们生活的世界本质上是一个由更先进的文明创造的模拟,如计算机模拟。

也就是说,随着文明的进步,它们能够创造出自己的逼真模拟,这使得我们生活的世界不太可能是基础现实。


虽然有些难以理解,但是AI Town的最新发展使该理论更接近现实,可能会成为人工智能发展历史上的关键的时刻。

如果AI可以创造出角色之间能够互动的逼真世界,将会有各种应用,比如取代游戏中的NPC。

乍一看,我们很难判断这些角色是否记得他们进行过的对话,并将这些对话作为未来对话的输入。

但如果确实如此,我们可能会拥有第一个人工智能模拟小镇。

参考资料:

https://github.com/a16z-infra/ai-town#customize-your-own-simulation


返回网站首页

本文评论
家用电脑一体机推荐「家用电脑一体机推荐知乎」
家用电脑一体机已成为许多家庭娱乐和工作的必备品。它结合了显示屏、中央处理器、内存、硬盘、光驱等各种元件于一身,具有节省空间、简单易用等优点。但是,不同品牌和型号的家...
日期:06-03
锂离子动力电池在电动汽车领域的应用情况如何「部分性能媲美锂电 钠离子电池即将爆发:这类电动车受益」
锂电池已经成为电动车动力的主要来源,然而它也面临着成本高、安全性等问题考验,下一代动力电池中,钠离子电池已经处于产业化前夕,部分性能指标媲美锂电,有望在A00级电动车等市场...
日期:10-14
iPhone 13系立减800 和iPhone 14没差但只4388「苹果13出来苹果8会降价吗」
iPhone14和iPhone 13的芯片相同,都是用的是A15芯片,而性能方面有差不太多,所以导致了iPhone 14在首销当日就出现了破发情况,而10月7日iPhone 14 Plus首销当日就立减400多元破发,...
日期:10-11
崔东山百科「年轻人压力较大 乘联会崔东树:中国车市还得指望中老年人」
日前在第十五届中国汽车蓝皮书论坛上,全国乘用车联席会秘书长崔东树表示,汽车消费是未来拉动消费的核心重点,而换购需求是未来汽车消费市场的主力。崔东树还提到,Z世代的年轻人...
日期:06-17
红米note3开不了机怎么办「无塑料支架!Redmi Note 13曝光:开机就是MIUI 15」
快科技7月6日消息,博主数码闲聊站透露,Redmi Note 13系列预装MIUI 15操作系统。目前小米已经在内测MIUI 15,预计在今年下半年正式推出。从MIUI 14开始,MIUI就对系统进行精简,同时...
日期:07-07
新表情包?腾讯申请新狗头图形商标_QQ新表情狗头
10月9日消息,天眼查App显示,近日,腾讯科技(深圳)有限公司申请注册多个狗头形象图形商标以及“微信创意表情”商标,国际分类含广告销售、教育娱乐、通讯服务等,当前商标状态均为申请...
日期:10-11
暴亏39亿,关店400家,昔日超市“巨无霸”,被谁拖垮了?_超市关门倒闭
一切也还来得及。编者按:本文来自微信公众号 金错刀(ID:ijincuodao),作者:经旭,创业邦经授权转载。永辉超市,成为了超市行业里开店最快,也是关店最快的选手。最猛的时候,它一年就开了...
日期:09-07
全球诈骗超500万元,炒偶像小卡也是一门发财生意?
声明:本文来自于微信公众号 音乐先声(ID:nakedmusic),作者:范志辉,授权转载发布。一张小卡衍生出来的“价值”,早已超出常人想象。整个11月,首尔警方围绕着涉及中国、韩国、泰国、...
日期:12-13
骁龙8cx gen4「ARM把高通逼上梁山 骁龙8 Gen4放弃公版:升级自研架构Oryon CPU」
快科技5月22日讯,ARM正酝酿对其IP授权模式进行大刀阔斧地改革。对此,数码闲聊站分享称,ARM授权收紧,高通最快在SM8750也就是骁龙8 Gen4开始使用自研架构Nuvia,2 6 8核设计。此前,...
日期:05-23
懂车帝App日活升至行业第一,二手车业务落地重庆_懂车帝入驻
完成日订单200万后赴美上市   记者 | 肖芳   8月17日,界面新闻从接近字节跳动的人士处独家获悉,字节旗下懂车帝日活用户数从2021年10月起跃居行业第一,超过汽车之家和易车,...
日期:08-19
教授用ChatGPT写推荐信,帮助学生获得剑桥大学奖学金「剑桥奖学金申请」
4月25日 消息:ChatGPT生成能力有多强?最近,一名加拿大的大学教授通过使用ChatGPT写推荐信,帮助学生获得剑桥大学奖学金。马斯克发推特说市值大多数大学的推荐信都是公式化的,没...
日期:04-25
网易有道发布“子曰”大模型 可为学生提供个性化分析指导
7月27日 消息:7月26日,网易有道正式发布垂直教育行业的大模型“子曰”。有道表示,在内部调研中,子曰大模型的翻译能力已经优于ChatGPT、超过了市面上所有主流翻译引擎。游侠汽...
日期:07-27
拼多多电视直播_拼多多上线多多直播
  近日,拼多多宣布多多直播正式上线。据官方介绍,多多直播是拼多多开放给有带货能力或潜力的合作方的营销工具,以提升合作方用户粘性和流量转化效率。用户登录拼多多App-个...
日期:02-12
苹果官方将推通用micro-USB充电转接器(苹果接usb转换器)
  10月7日消息,据国外媒体报道,苹果终于打算为它的iPhone手机推出通用的micro-USB充电转接器。苹果在日前发布iPhone 4S的同时,也将iPhone micro-USB充电转接器放在它的Appl...
日期:07-23
三星回应 990 Pro SSD 使用 PCIe 4.0 而非 5:根据市场情况判断_三星980pro在pcie3.0
IT之家 9 月 1 日消息,上周,三星正式发布了 Samsung990 PRO PCIe 4.0SSD,官方称 990 PRO 充分平衡了高速度、高能效和高可靠性的要求,采用了 3D TLC(3bit)颗粒以及新的自研主控,顺...
日期:09-27
诺基亚贝尔副总裁「诺基亚贝尔常疆:打造数字新基建 释放网络无限潜能」
诺基亚贝尔常疆:打造数字新基建 释放网络无限潜能 通信产业网|2023-06-08 09:40:41作者:通文来源:通信产业网【通信产业网讯】6月4日举办的第31届中国国际信息通信展览会上,诺基...
日期:06-08
极氪事故「极氪009隧道被大巴追尾:框架几无变形」
一般而言,由于结构的特殊性,MPV相比于轿车和SUV,在安全性尤其是碰撞安全方面会比较难做,但随着一体式压铸技术的诞生,这种情况发生了改变。4月5日,有博主发布了一条极氪009在隧道...
日期:04-05
美团一度跌超5% 抖音或将入局外卖业务「抖音取代美团」
2月8日 消息:2月8日消息,今日上午,美团一度跌超5%,此前有报道称,3月1日抖音将上线全国外卖服务。增程SUV迅雷极速版2020官网对此,抖音生活服务相关负责人回应,“团购配送”项目目...
日期:02-09
马斯克:我是OpenAI存在的理由,公司名字是我想出来的_马斯克说pi
  讯 北京时间5月17日早间消息,特斯拉首席执行官埃隆·马斯克(Elon Musk)周二表示,他就是“OpenAI存在的理由”。他提到了以往自己对OpenAI的投资,以及微软对OpenAI的控制。微...
日期:05-17
骁龙888+19GB内存!荣耀X40 GT性能封神_X40骁龙888
今日晚间,荣耀X40 GT正式亮相。该机搭载高通骁龙888旗舰处理器,同时配备了12GB内存,支持智慧内存引擎,可以扩展7GB,带来比肩19GB内存手机的体验。据悉,智慧内存引擎的原理是将RAM...
日期:10-14