AI Town 遊戲:是什麼?怎麼玩?

a16z 和 Convex 的 AI Town 遊戲:是什麼?背後的史丹佛 Smallville 論文、如何玩試玩版或自行運行,以及費用。

AI Town 是一個像素風格的小鎮,AI 角色在其中生活、聊天並自行結交朋友。你主要是旁觀。它也是免費的開源程式碼,開發人員可以複製和修改以製作自己的 AI 小鎮遊戲。

GitHub 的 README 稱其為「一個可部署的入門套件,用於輕鬆建構和自訂你自己的 AI 小鎮版本」。所以 AI Town 有兩層含義:它是一個可以在瀏覽器中開啟的試玩版,也是開發人員的程式碼庫。

每個 AI 角色都有名字、簡短的故事和精靈圖。語言模型會編寫每個角色說的話。角色在地圖上走動,開始對話並記住先前的談話。程式碼還允許玩家加入小鎮並與角色交談。

AI Town 不是一個有目標、關卡或故事的完整遊戲。它是一個可以觀看和建構的沙盒。想玩有 AI 角色的完整遊戲,請閱讀我們的AI 遊戲指南。

你在 LifeSim 部落格上閱讀了這篇文章。我們製作 LifeSim,這是一款有 AI 角色的不同遊戲。我們會在結尾說明它與 AI Town 的異同。

a16z (Andreessen Horowitz) 和 Convex 的一個團隊於 2023 年製作了 AI Town。程式碼在 GitHub 的 a16z-infra 帳戶下,Convex 運行後端。

Cognitive Revolution 播客在 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」一行。你可以複製、更改和銷售程式碼。請在你的副本中保留授權文字。

是的。README 說 AI Town「受到」論文「生成代理:人類行為的互動模擬」的「啟發」。該論文將 25 個 AI 角色放入一個名為 Smallville 的小鎮中。

Joon Sung Park 和其他五位研究人員撰寫了這篇論文。其中四位來自史丹佛大學。另外兩位來自 Google Research 和 Google DeepMind。他們於 2023 年 4 月 7 日在 arXiv 上發布了第一個版本,並於 2023 年 8 月 6 日發布了修訂版。

Smallville 發生了什麼事?

該論文稱 Smallville 為「一個受 The Sims 啟發的互動沙盒環境」。一個人給一個角色一個單一的想法:舉辦情人節派對。然後角色們散發邀請函,結交新朋友,互相約會,並一起參加派對。

沒有人編寫那個計畫。角色們從論文添加到語言模型的三個部分中創造了它:

  • 記憶。每個角色看到和做過的事情的完整記錄,以純文字形式。
  • 反思。隨著時間的推移,角色將許多記憶轉化為關於自己和他人的幾個普遍想法。
  • 規劃。角色找到正確的記憶並使用它們來決定下一步要做什麼。

研究人員讓 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 的含義。

是的。即時演示位於 convex.dev/ai-town,我們在 2026 年 11 月檢查時已載入。你無需帳戶即可觀看。要加入小鎮,你需要登入。

AI Town 程式碼中的幫助文字解釋了你可以做什麼:

  • 觀看。「點擊並拖曳以在地圖上移動,並捲動以放大和縮小。」點擊角色以閱讀其聊天記錄。
  • 加入。登入並點擊互動按鈕。你的角色會在地圖上出現,下方有一個高亮顯示的圓圈。
  • 交談。點擊一個角色,然後點擊「開始對話」。角色會走向你,然後你就可以交談。角色也可以要求你交談。

演示有其限制。幫助文字說小鎮一次只能容納一定數量的人類。如果你五分鐘沒有任何動作,遊戲會將你移除。

Convex 部落格上的 v2 更新為演示添加了更多內容。你可以邀請附近的角色聊天,他們也可以邀請你。謠言也會從一個角色傳播到另一個角色,並在後來的對話中再次出現。

你可以更改演示小鎮嗎?

不行。演示是一個由 Convex 運行的共享小鎮。要更改角色、地圖或 AI 模型,你需要運行自己的副本。下一節將告訴你如何操作。

你需要複製儲存庫、安裝它、啟動它並連接語言模型。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 提供了這些步驟:

  1. 下載並安裝 Ollama。
  2. 打開 Ollama 應用程式,或在終端機中運行ollama serve。
  3. 運行ollama pull llama3以下載模型。
  4. 使用ollama run llama3進行測試。

你可以改用 OpenAI、Together.ai 或其他類似 OpenAI 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。該命令會刪除你的所有資料。

程式碼是免費的。你支付的費用取決於語言模型和後端運行的位置。

語言模型

在預設設定下,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 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。

剛接觸生活模擬遊戲嗎?來看看什麼是生活模擬器,或直接玩 LifeSim,這是一款在真實地球地圖上的免費線上生活模擬器。

《模擬市民 4》資料庫

在《模擬市民 4》資料庫中查詢,從遊戲檔案中讀取:作弊碼, 特徵, 職業, 情緒, 死亡, 資料片, 挑戰, 食譜, 熱門模組, 資料片搜尋器,以及死亡機率計算器。

逐步說明:所有《模擬市民 4》操作指南。

相關文章

人生模擬遊戲