什么是 AI 小镇游戏?
AI 小镇是一个像素艺术小镇,AI 角色在其中生活、聊天并自己交朋友。你主要是观察。它也是免费的开源代码,开发人员可以复制和修改以制作自己的 AI 小镇游戏。
GitHub README 称其为“一个可部署的入门工具包,用于轻松构建和自定义您自己的 AI 小镇版本。”所以 AI 小镇有两层含义。它是一个可以在浏览器中打开的演示。它也是一个供开发人员使用的代码库。
每个 AI 角色都有一个名字、一个简短的故事和一个精灵。语言模型编写每个角色说的话。角色在地图上走动,开始对话并记住之前的谈话。代码还允许人类加入小镇并与角色交谈。
AI Town 并非一款有明确目标、关卡或完整剧情的成品游戏。它是一个供玩家观察和构建的沙盒。想玩有 AI 角色的完整游戏,请阅读我们的AI 游戏指南。
您正在阅读 LifeSim 博客。我们开发了 LifeSim,一款同样有 AI 角色的游戏。我们会在文章末尾说明它与 AI Town 的异同。
AI Town 的开发者
AI Town 由 a16z(Andreessen Horowitz)和 Convex 团队于 2023 年开发。代码托管在 GitHub 的 a16z-infra 账户下,Convex 负责后端运行。
2023 年 9 月,《认知革命》播客采访了该团队。a16z 合伙人 Yoko Li 发起了这个项目。a16z 普通合伙人 Martin Casado 称其为“Yoko 的一个业余项目”。Convex 首席技术官 James Cowling 协助构建。一位 Convex 开发者在服务器上制作了游戏引擎。
这个想法源于 Yoko Li 早期开发的一款配套应用。那款应用赋予了一个 AI 角色记忆和个性。随后,人们开始好奇当多个 AI 角色相遇时会发生什么。AI Town 应运而生。
Convex 在 AI Town 中扮演的角色
README 文件指出,Convex 负责游戏引擎、数据库和向量搜索。Convex 维护城镇状态并运行模拟。向量搜索功能用于查找与当前对话相关的旧记忆。
README 文件还列出了其他技术栈。PixiJS 负责绘制城镇。Ollama 在您本地电脑上运行默认聊天模型llama3。Clerk 登录功能是可选的。
AI Town 是开源的吗?
是的。仓库中的许可证文件是 MIT 许可证,其中包含“Copyright (c) 2023 a16z-infra”一行。您可以复制、修改和销售代码,但请在您的副本中保留许可证文本。
AI Town 是否基于斯坦福大学的 Smallville 论文?
是的。README 文件中提到,AI Town“受到”论文《生成式智能体:人类行为的交互式模拟》的“启发”。该论文将 25 个 AI 角色置于一个名为 Smallville 的小镇中。
Joon Sung Park 和其他五位研究人员撰写了这篇论文。其中四位来自斯坦福大学,另外两位来自 Google Research 和 Google DeepMind。他们于 2023 年 4 月 7 日在 arXiv 上发布了第一个版本,并于 2023 年 8 月 6 日发布了修订版本。
Smallville 发生了什么?
这篇论文将 Smallville 描述为“一个受《模拟人生》启发的交互式沙盒环境”。研究人员给一个角色设定了一个简单的想法:举办情人节派对。随后,角色们便开始散发邀请函、结交新朋友、互相约会,并最终一同参加了派对。
这个计划并非预设,而是角色们通过论文添加到语言模型中的三个部分自主生成的:
- 记忆。 每个角色所见所闻的完整纯文本记录。
- 反思。 随着时间推移,角色将大量记忆提炼成关于自身和他人的普遍认知。
- 规划。 角色根据相关记忆来决定下一步行动。
研究人员让 25 个角色运行了整整两个游戏日。论文指出,这花费了“数千美元的令牌费用”和“数天时间才能完成”。
AI Town 与论文代码的区别
Smallville 的代码也托管在 GitHub 上,地址是 joonspk-research/generative_agents,采用 Apache-2.0 许可证。它使用 Python 编写,需要 OpenAI API 密钥。其 README 文件警告运行成本可能很高。
AI Town 是一个用 JavaScript 和 TypeScript 编写的新代码库。README 文件中提到,这是有意为之,因为大多数此类工具都使用 Python。AI Town 还增加了多玩家后端和可在您本地电脑上运行的默认模型。
想了解更多关于自主思考的游戏角色如何运作的信息,请阅读NPC 的含义。
可以在浏览器中玩 AI Town 吗?
是的。实时演示位于 convex.dev/ai-town,我们在 2026 年 11 月检查时已加载。您无需账户即可观看。要加入城镇,您需要登录。
AI Town 代码中的帮助文本解释了您可以做什么:
- 观看。 “点击并拖动以在城镇中移动,滚动以放大和缩小。”点击一个角色以阅读其聊天记录。
- 加入。 登录并点击“互动”按钮。您的角色会出现在地图上,下方有一个高亮显示的圆圈。
- 交谈。 点击一个角色,然后点击“开始对话”。角色会走向您,然后您就可以交谈了。角色也可以邀请您交谈。
演示有局限性。帮助文本说城镇一次只能容纳一定数量的玩家。如果您五分钟内没有任何操作,游戏会移除您。
Convex 博客上的 v2 更新为演示添加了更多内容。您可以邀请附近的角色聊天,他们也可以邀请您。谣言也会在角色间传播,并在后续对话中再次出现。
可以更改演示城镇吗?
不能。演示是一个由 Convex 运行的共享城镇。要更改角色、地图或 AI 模型,您需要运行自己的副本。下一节将告诉您如何操作。
如何在本地运行 AI Town?
您需要克隆仓库,安装、启动,并连接一个语言模型。README 文件提供了四种运行方式。这是一个简短版本,请按照 README 文件中的完整步骤操作。
- 标准设置。 您可以在自己的电脑上或使用免费的 Convex 账户在云端进行开发。README 文件称这是最简单的方法。
- Docker Compose。 您可以在 Docker 中运行后端、前端和仪表板,无需 Convex 账户。
- Pinokio。 一个社区分支提供一键安装。README 文件中写道,它适用于那些想运行 AI Town 但不想更改它的人。
- Fly.io。 您可以将应用程序部署到 Fly.io。仓库中有一个 fly 文件夹,其中包含部署步骤。
步骤 1:构建并启动应用
对于标准设置,README 文件提供了以下命令:
git clone https://github.com/a16z-infra/ai-town.git
cd ai-town
npm install安装会要求您登录 Convex。然后使用npm run dev启动应用程序并打开 http://localhost:5173。
对于 Docker,README 文件以docker compose up --build -d开头。然后它会告诉您创建一个管理员密钥,将其添加到.env.local文件,并运行npm run predev。前端在端口 5173 上运行。
在 Windows 上,README 文件告诉您首先安装带有 Ubuntu 和 Node.js 18 的 WSL2。如果您遇到 Node.js 版本错误,README 文件建议使用版本 18。
步骤 2:连接语言模型
默认情况下,AI Town 使用 Ollama 在您本地电脑上运行模型。README 文件提供了以下步骤:
- 下载并安装 Ollama。
- 打开 Ollama 应用,或在终端中运行
ollama serve。 - 运行
ollama pull llama3下载模型。 - 使用
ollama run llama3进行测试。
您可以改用 OpenAI、Together.ai 或其他与 OpenAI API 类似工作的 API。对于每个 API,您需要更改convex/util/llm.ts中的一行,并使用npx convex env set设置您的 API 密钥。
如果您稍后更改模型提供商或嵌入模型,请删除您的数据并重新开始。README 文件中写道,内存搜索必须与嵌入模型匹配。
步骤 3:打造专属城镇
所有角色及其故事都在data/characters.ts中。您可以在 Tiled 编辑器中制作新地图,并使用仓库中的脚本进行转换。更改角色后,README 文件会告诉您使用npx convex run testing:wipeAllTables清除表格并再次运行npm run dev。该命令会删除您的所有数据。
运行 AI Town 需要多少钱?
代码是免费的。您支付的费用取决于语言模型和后端在哪里运行。
语言模型
在默认设置下,Ollama 在您本地电脑上运行模型。您无需向付费模型 API 发送任何调用。您的电脑承担所有工作,因此电脑性能越差,角色运行速度越慢。
使用云模型时,每一行对话都是付费 API 调用。Together AI 等提供商按每百万个令牌对聊天模型进行定价,输入和输出价格不同。更多的角色和更长的对话会产生更多的令牌。
README 文件提供了两种减少使用量的方法。当浏览器窗口闲置五分钟时,模拟会暂停。您还可以使用npx convex run testing:stop停止引擎,并使用npx convex run testing:resume再次启动它。
就规模而言,Smallville 论文让 25 个角色运行了两个游戏日。这花费了研究人员数千美元的令牌费用。
后端
Convex 为个人项目和原型提供免费计划。Convex 定价页面称其为“免费和入门”。超出限制的使用按单位计费,付费计划 会增加更多。使用 Docker,您可以在自己的电脑上运行 Convex 后端。
可选的附加功能也需要付费。背景音乐使用 Replicate,这需要一个账户和一个 API 令牌。
现在可以玩哪些 AI 城镇游戏?
您今天就可以在浏览器中玩 AI Town 演示。要玩一个有 AI 角色的完整游戏,您需要一个成品游戏,而不是一个入门套件。
| 选项 | 简介 | 运行方式 | 可否修改代码? |
|---|---|---|---|
| AI Town 演示 | 一个供观看或加入的共享城镇 | 浏览器,访问 convex.dev/ai-town | 否 |
| AI Town,您的专属副本 | 开发者入门套件 | 您的电脑、Docker、Convex 或 Fly.io | 是,MIT 许可证 |
| Smallville(生成式智能体) | 论文中的研究代码 | Python,需要 OpenAI API 密钥 | 是的,Apache-2.0 |
| LifeSim(我们的游戏) | 已完成的 AI 生活模拟游戏 | 浏览器,iPhone 应用 | 否 |
LifeSim:一个由 AI 角色组成的城镇,已完成
LifeSim 是我们的免费游戏,无广告,无内购。你将在地球 3D 地图上的真实城市中,一天天体验人生。AI 角色会用自己的话回答你,他们会记住你说过的话,并告诉他们的朋友,还会给你发短信。
LifeSim 不是开源的。你无法自行托管、修改代码或导入自己的模型。如果你想构建或研究 AI 城镇,AI Town 是更好的选择。
想玩更多游戏?请查看我们的AI 生活模拟器游戏列表和可与 AI 对话的游戏指南。
如果你想生活在 AI 城镇中,而不是建造它,请在浏览器或 iPhone 上免费玩 LifeSim。
更多游戏指南
- 100 Years - Life Simulator
- 3D 生活模拟游戏
- 拉各斯生活游戏
- 最佳 3DS 生活模拟游戏
- 人类或 AI 游戏
- AI 游戏制作器:2026 年免费工具
- 虚拟家庭 3
- 2026 年最佳生活模拟游戏
- 最佳模拟游戏
- 网页版人生模拟游戏
- AI 人生模拟游戏
- iPhone上的AI生活模拟器
- AI 游戏
- 可以和AI对话的游戏
- AI 角色扮演
- 最适合角色扮演的 AI 聊天机器人
- AI角色生成器
- 随机性格生成器
- 随机背景故事生成器
- 故事游戏
- 文字游戏
- 恋爱模拟游戏
- 能过一辈子的游戏
- 可以做任何事情的游戏
- 无聊时玩的游戏
- 制作你的超级英雄游戏
- 类似模拟人生的游戏
- 类似 BitLife 的游戏
- 星露谷物语存档文件位置
- 《星露谷物语》存档编辑器
- 类似星露谷物语的游戏
- 类似《动物森友会》的游戏
- 所有《朋友聚会》指南(按主题分类)
- 类似《朋友聚会》的游戏
- 《心之乌托邦》解析
- Tomodachi Life(朋友收集)
- 《朋友聚会》性格图表
- 《朋友聚会新生活》口头禅生成器
- 《朋友聚会新生活》岛屿名称生成器
- 有《朋友聚会 2》吗?
- Switch 和 Switch 2 上的最佳生活模拟游戏
- NPC 是什么意思?
- 类似IMVU的游戏
- 类似第二人生的游戏
