Mesa · LiteLLM · Plotly Dash · DuckDB

Emergenta

一座 AI 文明的活体培养皿

GitHub 仓库 ↗许可证 MIT

它是什么

Emergenta 是一个大规模 AI 驱动的文明模拟器。数千个自治智能体在程序化生成的 2D 世界里劳作、交易、抗议、结盟、开战——没有预设剧本,所有宏观社会现象都从微观个体行为里自然长出来。文明级的复杂,源自结构化环境里、信息不对称之下、一条条简单的个体规则。

数据总览:人口·资源·满意度·革命时间线

造物主面板的数据总览:人口、资源、满意度、革命时间线一屏尽收。

关键数字 说明
5000+ 同时在场的自治智能体
99%+ 相比全量 LLM 模拟的成本降幅
200+ 运行时可调参数
8 造物主面板标签页

核心创新:三层混合智能

如果每个智能体都调 LLM,5000 个体的模拟会贵到跑不起来。Emergenta 的答案是按决策的重要性分配算力——一座三层金字塔。

三层金字塔架构

首领(战略)在顶、镇长(治理)居中、平民(生存)在底,算力向上收敛。

层级 数量 智能模型 决策频率 LLM 成本
首领 2–15 Frontier LLM 每半年 极低
镇长 3–50 轻量 LLM 每季度
平民 100–5000+ FSM + 马尔可夫链 每 tick

底层几千号平民用零成本的有限状态机加马尔可夫链跑日常行为,只有真正需要战略判断的镇长和首领才调 LLM。绝大多数算力花在最少数、最关键的决策上。

信息不对称,才有真实的治理困境

金字塔不是简单的层级——信息向上聚合时会衰减,指令向下传播时可能被扭曲。镇长看不到每个平民的状态,只能从聚合统计里推断民意;首领收到的,可能是镇长过滤甚至篡改后的报告。真实的治理困境和涌现冲突,就从这里长出来。

AI 神经元:LLM 镇长/首领实时决策推理

AI 神经元面板:实时看到 LLM 镇长与首领的决策推理过程。

涌现现象

没有任何预编程的剧情,下面这些现象都从 Agent 交互里自发出现:

涌现现象 机制 表现
革命级联 Granovetter 阈值传染 抗议从少数叛逆者扩散到全聚落,镇长被罢免
贸易网络 供需匹配 + 信任积累 聚落间自发形成贸易路线,资源从富裕区流向匮乏区
外交博弈 LLM 多轮谈判 首领之间结盟、背叛、宣战,地缘政治自然浮现
经济周期 繁荣 → 膨胀 → 耗竭 → 崩溃 荷兰病、恶性通胀等经济病理自发出现
信息茧房 镇长选择性上报 首领被蒙蔽,底层饥荒却不自知,直到革命爆发

外交与贸易:外交网络图 + 贸易桑基图

聚落间的外交网络与贸易流向,一张桑基图看清资源怎么走。

造物主面板

一条命令启动,浏览器自动打开配置向导;配好 API Key 与规模就能开跑。之后,整个世界都在你手里。

实时地图:Agent 散点 + 马尔可夫转移滚动

Perlin Noise 程序化地形 + 5000 Agent 实时散点 + 状态着色,马尔可夫转移矩阵随机抽样滚动展示。

  • 场景注入引擎 — 内置荷兰病、信息茧房、世界末日三大极端预设,一键注入初始条件,看文明如何应对危机。
  • God Mode — 实时注入灾难(旱灾 / 瘟疫 / 流寇)、强制外交操作(联盟 / 战争),随手拨动历史。
  • 自适应恒温器 — 一个 P-controller 动态调节系统「温度」,自动平衡抗议烈度、革命频率与满意度恢复,防止系统过热或过冷。

自适应恒温器:P-controller 动态调节系统温度

恒温器思路:P-controller 盯着抗议烈度与满意度,动态回调系统「温度」,不让文明烧穿也不让它冻死。

聚落排行榜 造物主 God Mode
聚落排行榜 造物主面板:场景注入·事件日志·时间控制
进度条 · 发光圆点 · 颜色分级 场景注入 · 事件日志 · 时间控制

200+ 运行时参数实时调整

从微观的饥饿衰减率到宏观的革命触发阈值,7 大分类 200+ 参数全部运行时可调、即时生效。

场景预设

造物主面板内置三大极端场景,各自逼问一个问题:

场景 设定 核心问题
荷兰病 一个聚落坐拥 5 万金币但零食物,农田荒废 财富能否通过贸易买到生存?
信息茧房 25% 聚落极端困境,镇长可能粉饰太平 信息封锁能否阻止底层革命?
世界末日 所有聚落同时崩溃,70% 农田毁坏 文明能否在灭绝边缘存活?

技术栈

技术栈

一张图看全技术选型:ABM 框架、LLM 网关、实时面板、分析库与通信层各司其职。

组件 技术 用途
ABM 框架 Mesa 3.x 网格世界、Agent 调度、数据收集
LLM 网关 LiteLLM 统一 OpenAI / Anthropic / 任意兼容 API
实时面板 Plotly Dash 8 标签页 Web UI、实时图表
分析数据库 DuckDB 列式存储、高效聚合查询
Agent 通信 MQTT 异步消息队列、P2P / 广播
配置系统 Pydantic 类型安全的 200+ 参数校验
地图生成 Perlin Noise 程序化地形(海拔 / 湿度 → 地块类型)

它想探索什么

Emergenta 站在 AI、社会学与复杂性科学的交叉口,想拿它做实验:去中心化的 Agent 如何自组织成层级社会?什么条件会触发集体行动的级联(革命、大迁徙)?社会层级间的信息不对称如何影响治理稳定性?AI 社会能不能「发现」博弈论里的概念?个体多样性又在文明韧性里扮演什么角色?

不配 API Key 也能跑——镇长和首领会退化成规则决策,核心仿真完整可用。


MIT 开源。python scripts/run_dashboard.py 起向导,或 --quick --agents 500 --seed 42 跳过向导直接开跑。

查看 GitHub 源码 →