开发与工程 human-behavior-simulationopenai-apidjangosmallvillesimulation-replaytiled

Generative Agents

在 Smallville 游戏环境中运行并回放具有人类行为模拟的多角色仿真。

FollowAgents 评估 · FARS-2.1
不推荐
29/ 100 五分制 1.5 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全0 / 29 · 0.0/5

证据显示:README要求用户手动创建utils.py并硬编码OpenAI API密钥,没有提供最小权限或密钥管理的指导;没有用户确认机制;数据流不透明;敏感数据处理(API密钥)仅靠用户自觉;依赖安全未提及;外部影响(如API调用成本)有提示但无控制;回滚仅通过保存模拟,无版本控制;来源归属有作者列表,但发布者未验证。扣分原因:缺乏安全实践和透明度。

2可靠稳定5 / 14 · 1.8/5

证据显示:README步骤清晰,但未提供错误处理或恢复指导;依赖列表存在但未固定版本;失败消息(如API挂起)有提示但无详细错误处理。扣分原因:依赖可用性未验证,失败处理不充分。

3适用触发8 / 18 · 2.2/5

证据显示:面向研究人员和开发者,提供了多种场景(模拟、回放、演示);能力边界未明确;触发命令(run, call)有说明但精度一般;环境适配仅提及Python 3.9.12和浏览器建议。扣分原因:能力边界和触发精度不足。

4规范维护8 / 18 · 2.2/5

证据显示:README结构清晰,安装步骤详细;命名稳定(如base_the_ville...);有示例和FAQ(如Tips);已知限制(如API挂起)有提及;Apache-2.0许可证明确;无版本号或变更日志;维护责任未明确。扣分原因:缺少版本管理和维护责任说明。

5有效结果6 / 13 · 2.3/5

证据显示:输出(模拟结果)可保存和回放,但格式未标准化;边际价值高(研究用途);成本效益有提示(API成本)但无优化。扣分原因:输出可用性有限,成本控制不足。

6证据核验2 / 8 · 1.3/5

证据显示:README引用论文,但未提供复现细节;无交叉验证;事实与推断未明确区分。扣分原因:缺乏可验证性。

证据充分度: 评估于 2026年8月9日 审查版本 fe05a71d3e4e
源码中未见的安全控制:最小权限约束、执行前用户确认、数据流向说明、敏感信息处理、依赖安全审查、外部影响披露、回滚或恢复路径、来源归属可核验
使用前请注意
  • 用户需自行管理API密钥,存在泄露风险。
  • 依赖未固定版本,可能影响可复现性。
  • 模拟成本可能较高,需注意API费用。
评估证据 [1][2]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

这是论文《Generative Agents: Interactive Simulacra of Human Behavior》配套的核心仿真模块与游戏环境。项目由 Django 环境服务器和位于 reverie/backend_server 的仿真服务器组成,后者通过 reverie.py 从命令行运行。用户可在浏览器中查看 Smallville 地图及活跃角色,并以游戏步推进仿真;每步代表游戏内 10 秒。仿真可保存到 environment/frontend_server/storage,随后可从指定时间步回放或压缩为演示版本。它适合希望复现实验环境、调整角色初始记忆或制作 Smallville 仿真演示的开发者与研究人员,而非即开即用的聊天产品。

先在 environment/frontend_server 运行 python manage.py runserver,再在 reverie/backend_server 运行 python reverie.py。仿真服务器要求输入一个已存在的 forked simulation 名称和新仿真名称;例如可加载 base_the_ville_isabella_maria_klaus,然后输入新名称。服务器提示 Enter option: 后,run <step-count> 会按指定游戏步数推进仿真,浏览器中的 /simulator_home 显示地图和角色移动;fin 保存并退出,exit 不保存退出。它可用 call -- load history the_ville/<history_file_name>.csv 读取 CSV 中以分号分隔的角色记忆记录,也可通过 reverie/compress_sim_storage.pycompress 函数准备演示文件。已保存的仿真可通过 /replay/<simulation-name>/<starting-time-step> 回放,压缩后的仿真可通过 /demo/<simulation-name>/<starting-time-step>/<simulation-speed> 演示。

  1. 希望复现论文配套环境的研究人员,可加载 base_the_ville_n25 并运行 25 名角色的基础仿真。
  2. 需要观察 Isabella Rodriguez、Maria Lopez 与 Klaus Mueller 三角色互动的开发者,可从 base_the_ville_isabella_maria_klaus 创建新仿真。
  3. 要为既有角色补充背景记忆的实验人员,可编辑与示例格式一致的 CSV,并用 call -- load history 导入。
  4. 需要从某个已保存时间点检查角色行为的调试人员,可访问 /replay/<simulation-name>/<starting-time-step>
  5. 要展示已完成仿真的演示者,可先压缩仿真,再通过 /demo/.../<simulation-speed> 调整播放速度。
  6. 需要更换地图布局、角色名称或可容纳角色数量的项目维护者,可基于现有基础仿真修改,并在必要时使用 Tiled 编辑地图。

这个 Agent 有哪些优点和局限?

优点
  • 同时提供命令行仿真服务器、Django 环境服务器与浏览器地图界面,可直接观察角色在 Smallville 中的移动。
  • 提供 3 角色和 25 角色两套基础仿真,便于从可运行的初始状态开始。
  • 支持从 CSV 导入按角色组织的记忆记录,能够为初始化提供明确的历史输入。
  • 保存、指定时间步回放与压缩演示是分离的明确流程,分别覆盖调试和展示需求。
局限
  • 核心运行依赖 OpenAI API 密钥,README 明确提示 API 达到每小时速率限制时可能挂起。
  • 运行需要同时维护两个本地服务器,并通过终端提示管理 fork、新仿真、运行和保存。
  • README 指出多角色仿真在早期 2023 年可能成本较高,且建议频繁保存以避免重启造成损失。
  • 自定义角色名称或增加 Smallville 容量可能需要直接用 Tiled 修改地图,配置门槛较高。

如何安装或部署这个 Agent?

需要 OpenAI API 密钥。在 reverie/backend_server 创建 utils.py,至少配置 openai_api_keykey_owner,并保留 README 所列的资源、存储与环境路径配置。安装 requirements.txt 中列出的全部依赖;项目测试所用 Python 版本为 3.9.12。随后进入 environment/frontend_server,运行 python manage.py runserver 启动环境服务器。

如何使用这个 Agent?

保持环境服务器运行,并在另一终端进入 reverie/backend_server,运行 python reverie.py。按提示输入基础仿真名,例如 base_the_ville_isabella_maria_klaus,再输入一个新的仿真名称。打开 http://localhost:8000/simulator_home,然后在仿真终端输入例如 run 100;完成后输入 fin 保存,或输入 exit 放弃保存。保存后的结果位于 environment/frontend_server/storage,可从相应 replay URL 重新播放。

常见问题

运行前必须准备什么凭据?
必须在 reverie/backend_server/utils.py 中填写 OpenAI API 密钥,并设置 key_owner
一次游戏步代表多长时间?
一次游戏步代表游戏内 10 秒;例如 run 100 会执行 100 个游戏步。
API 请求卡住时怎么办?
README 将此情况与 OpenAI API 的每小时速率限制相关联,并建议重启仿真;应经常使用 fin 保存进度。
如何保留并继续一段仿真?
在提示符输入 fin 保存并退出;下次启动仿真服务器时,将该保存名称作为 forked simulation 输入即可从保存点继续。
回放为何所有角色外观相同?
README 说明 replay 主要用于调试,不优先处理视觉与文件大小;要用合适角色精灵展示,需要先压缩目标仿真。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents