WorldSeed
用YAML配置一个AI世界,让多个智能体在规则、感知和后果中自主互动,涌现超越个体的行为
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用YAML配置一个AI世界,让多个智能体在规则、感知和后果中自主互动,涌现超越个体的行为
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
这天下午,某互联网公司的全员会上,CEO宣布了裁员决定。留下来的人面对翻倍的KPI、消失的同事、以及一个共同的命运问题:你们怎么撑下去?
这就是 WorldSeed 想要探讨的场景。
WorldSeed 是一个开源的多智能体(Multi-Agent)世界引擎,由 AIScientists-Dev 团队开发。它的核心思想来自诺贝尔物理学家菲利普·安德森的一句名言——"More is Different":当足够多的智能体聚集在一起,规则和互动会产生系统层面全新的行为,而这是任何单个智能体都无法预测的。
这听起来很理论,但在 WorldSeed 里,它被做成了真正可以跑起来的工具。你只需要写一份 YAML 配置文件,声明这个世界有哪些角色、每个人能看到什么、规则是什么、动作会产生什么后果——剩下的交给引擎,AI 智能体们就会在里面自主互动、谈判、背叛、合作,直到有用的成果涌现出来。
目前主流的 AI Agent 框架,本质上都是在编排工作流:你告诉 AI 做什么,它按步骤执行,输出结果。这种模式适合结构化任务(写代码、总结文档),但不适合需要自主探索、涌现创新的场景。
WorldSeed 的思路完全不同:不给智能体写死的工作流,而是创造一个世界,然后让智能体在这个世界里自主决策。具体来说:
这与传统的 LLM Agent 框架(LangChain、AutoGPT)有本质区别——工作流是被设计的,而世界是被模拟的。
WorldSeed 内置了多个可直接运行的场景配置,覆盖了从娱乐到科研的多样需求:
这是 WorldSeed 最硬核的演示场景。研究团队想验证一个想法:在 TinyStories 上训练一个 5M 参数的 GPT,如何把 val_loss 降到最低。
他们没有手动设计训练方案,而是把这个任务交给了一个由 AI 智能体组成的虚拟科研团队:三位研究员各自主攻一个方向(优化、架构、数据),还有一位 area chair 只负责评审论文。11 个小时内:
更有意思的是观察到的涌现行为:专注数据的那个研究员,在自己方向挖不出新东西之后,主动跨界去做了注意力设计和二阶优化——整套配置里没有任何规则要求她这么做,这是完全自发的"角色漂移"。
每篇论文都能完整溯源:假设 → code commit → 实验 → 自动复跑 → 引用链 → 评审意见,形成一张可审计的"研究进化图谱"。
前面描述的那家裁员公司场景。用户扮演旁观者,可以观察四个各怀心思的角色在这场动荡中的真实反应:
这不是预设剧本,而是 AI 智能体基于各自角色设定自主做出的反应——每次运行都不同。
同一个引擎,换一份 YAML,就是完全不同的世界。四个间谍在一间茶馆里互相试探、保护身份、交换情报。
这个场景的配置文件(configs/teahouse.yaml)是 WorldSeed 最完整的学习参考,展示了如何用 YAML 声明一个完整的虚拟世界:实体、规则、感知过滤器、动作后果。
一个多角色协作的工具开发流程:研究者发现新 API → 构建者做竞品 demo → 批评者拒绝任何泛化方案 → 观众判断实用性 → 策展人发布最强方案及完整迭代轨迹。
WorldSeed 的代码库(约 200 个 Python 模块,35KB+ 行核心代码)围绕三个核心组件组织:
WorldSeed 运行在一个 tick 驱动的循环上,tick 是世界钟的每一次跳动。每次 tick:
慢的或离线的智能体不会冻结世界——每个变化都被完整记录,任意时刻可回放。
YAML 中声明的规则通过 DSL(Domain Specific Language)引擎解析。开发者可以在 YAML 里声明复杂的条件-后果关系,比如"当角色A说出'我同意'且角色B持有红色令牌时,触发'联盟成立'状态变化"。规则引擎即时结算,不消耗 LLM API。
当动作结果无法用规则预测时(如"角色C是在开玩笑还是认真的"),引擎调用 LLM 作为裁判。DM 返回结构化的副作用(谁失去了谁的信任、哪个情报被泄露了),而不是自由文本。这使得结果可以精确定位、可被其他规则引用。
DM 支持任意 LiteLLM 兼容的模型(OpenAI GPT 系列、Anthropic Claude 系列、本地 Ollama 等)。
WorldSeed 不绑定特定 Agent 框架,提供了两个标准接入点:
两者都是为了让用户能把自己的 AI 智能体放进 WorldSeed 世界里运行。
从 pyproject.toml 和代码结构来看,WorldSeed 的工程化水平相当高:
| 维度 | 评估 |
|---|---|
| 类型安全 | Pydantic v2 建模所有配置和状态;Mypy strict 模式;Pyright 配置 |
| 测试覆盖 | pytest + pytest-asyncio + pytest-xdist(并行);Playwright E2E;pytest-cov |
| 代码风格 | Ruff lint(E/F/I/UP 规则集);line-length 120 |
| 文档 | 架构文档(docs/ARCHITECTURE.md);中文 README;场景配置规范;DSL 参考 |
| CI/CD | .github/ 目录存在;pre-commit hook |
值得注意的是,测试套件默认使用 pytest-xdist -n auto 并行执行,并特别注释了原因:服务器路由中存在模块级单例(tokens、agent_tokens),并行模式可以避免测试间状态污染。这是一个在真实项目中学到才能写出来的工程细节。
WorldSeed 作为一个 2026 年 4 月才发布的新项目,有以下需要注意的问题:
WorldSeed 出现在 2026 年,不是一个偶然的时间节点。这一年,多智能体系统(Multi-Agent Systems)已经从学术研究走向工业应用——OpenAI、Anthropic、Google DeepMind 都发布了自己的 Agent 框架。
但大多数框架都在解决同一个问题:如何让单个 AI 更好地完成给定任务。WorldSeed 回答的是另一个问题:如何让多个 AI 在相互作用中产生超越个体的智慧。
这个方向在科研(Autoresearch 场景已经展示了超越手工设计的潜力)、教育(模拟历史场景让 AI 学生辩论)、安全(AI 互相对抗测试鲁棒性)等领域都有想象空间。
更重要的是,WorldSeed 的 YAML 配置模式降低了创造门槛——不需要写 Python 代码,只需要理解"这个世界是如何运作的",就能定义一个有意义的 AI 社会实验。
快速上手:
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 # 填入你的 API key(支持任何 LiteLLM 提供商)
uv run worldseed play configs/ai_layoffs.yaml
打开 http://localhost:8000,你可以旁观每个智能体在想什么,介入推动剧情,或者直接扮演其中一个角色。