WorldSeed
用 YAML 定义规则与角色,运行可观察、可干预的多智能体世界。
这个 Agent 能做什么,适合哪些场景?
WorldSeed 是一个用于构建涌现式多智能体场景的本地世界引擎。开发者在 YAML 中声明实体、角色、私密信息、感知过滤、动作、规则与后果,随后通过 worldseed CLI 启动场景。运行时采用 tick 循环:每个角色看到经过过滤的世界状态、提出动作,确定性结果由 YAML DSL 处理,不确定结果交给基于 LLM 的 Dungeon Master 返回结构化 effects。它提供本地 Web 仪表盘,可观察角色内在状态、私下干预角色,或以角色身份参与;运行记录可保留并回放。仓库附带 AI Layoffs 和 Teahouse 等场景,并支持接入 OpenClaw agents、Codex subagents 及 LiteLLM 支持的模型提供商。
使用 uv run worldseed validate configs/my_scene.yaml 校验场景 YAML,再使用 uv run worldseed play configs/my_scene.yaml 运行世界。引擎在每个 tick 按角色的 perception 规则筛选状态,让角色提出 action;YAML 中可确定的规则由 DSL 解析,无法确定的结果则发送给 LLM Dungeon Master,接收结构化 effects 并更新世界状态、触发后果和日志。启动后在 http://localhost:8000 提供仪表盘,用户可 Watch、Intervene 或 Play。/create-world 可根据提示生成经过验证的 YAML scene config 和 UI config,用户也可直接编辑 configs/teahouse.yaml、configs/ai_layoffs.yaml 一类文件。
- 研究团队想把一个粗略研究想法交给多名专业角色提出假设、执行实验、同行评审并保留可审计过程时。
- 游戏或叙事设计师需要用同一套 tick 引擎测试带有秘密、阵营和非对称信息的间谍或办公室剧情时。
- AI 工具团队希望让学习 API 的角色、构建者、批评者、受众和策展者在一个可追溯场景中竞争产出时。
- 开发者需要通过 YAML 快速试验社会模拟中的角色规则、感知边界和后果链,而不为每个领域重写引擎时。
- 想把 OpenClaw agents 或 Codex subagents 接入一个可观察、可私下干预的多角色世界的工程团队。
这个 Agent 有哪些优点和局限?
- 以 YAML 声明角色、规则、私密信息和感知过滤,核心引擎不依赖硬编码领域知识。
- 将确定性动作交给场景内 DSL,将不确定结果交给返回结构化 effects 的 Dungeon Master,便于同时表达规则与开放式判断。
- 每名角色拥有被过滤的感知视图,适合模拟秘密、误解、情报不对称和社会互动。
- 本地仪表盘同时支持观察、私下干预和扮演,并记录状态变化以便回放。
- 运行环境同时依赖 Python 3.11+、Node.js 18+、uv 和前端 npm 构建步骤。
- 需要配置 LiteLLM 提供商凭据;涉及 Dungeon Master 的结果取决于所选模型。
- 新世界需要理解并维护 YAML 场景、UI 配置、感知规则和 DSL 规则。
- 仓库给出了本地启动方式,但未提供生产部署、托管服务或成本控制的具体说明。
如何安装或部署这个 Agent?
需要 Python 3.11+、Node.js 18+ 和 uv。执行:
git clone https://github.com/AIScientists-Dev/WorldSeed && cd WorldSeed
uv sync --extra dm
cd frontend && npm install && npm run build && cd ..
cp .env.example .env
在 .env 中添加任一 LiteLLM 提供商的 API key,例如 OpenAI、Anthropic 或 Ollama 配置所需的凭据。
如何使用这个 Agent?
先运行 uv run worldseed validate configs/ai_layoffs.yaml 校验场景,再运行 uv run worldseed play configs/ai_layoffs.yaml。打开 http://localhost:8000,在仪表盘中选择 Watch 观察、Intervene 私下提示角色,或 Play 进入角色。创建新场景时可执行 /create-world "你的世界描述",或直接编写 YAML,然后以 uv run worldseed validate configs/my_scene.yaml 和 uv run worldseed play configs/my_scene.yaml 校验并启动。