Mesa · LiteLLM · Plotly Dash · DuckDB
Emergenta
一座 AI 文明的活体培养皿
它是什么
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 镇长与首领的决策推理过程。
涌现现象
没有任何预编程的剧情,下面这些现象都从 Agent 交互里自发出现:
| 涌现现象 | 机制 | 表现 |
|---|---|---|
| 革命级联 | Granovetter 阈值传染 | 抗议从少数叛逆者扩散到全聚落,镇长被罢免 |
| 贸易网络 | 供需匹配 + 信任积累 | 聚落间自发形成贸易路线,资源从富裕区流向匮乏区 |
| 外交博弈 | LLM 多轮谈判 | 首领之间结盟、背叛、宣战,地缘政治自然浮现 |
| 经济周期 | 繁荣 → 膨胀 → 耗竭 → 崩溃 | 荷兰病、恶性通胀等经济病理自发出现 |
| 信息茧房 | 镇长选择性上报 | 首领被蒙蔽,底层饥荒却不自知,直到革命爆发 |

聚落间的外交网络与贸易流向,一张桑基图看清资源怎么走。
造物主面板
一条命令启动,浏览器自动打开配置向导;配好 API Key 与规模就能开跑。之后,整个世界都在你手里。

Perlin Noise 程序化地形 + 5000 Agent 实时散点 + 状态着色,马尔可夫转移矩阵随机抽样滚动展示。
- 场景注入引擎 — 内置荷兰病、信息茧房、世界末日三大极端预设,一键注入初始条件,看文明如何应对危机。
- God Mode — 实时注入灾难(旱灾 / 瘟疫 / 流寇)、强制外交操作(联盟 / 战争),随手拨动历史。
- 自适应恒温器 — 一个 P-controller 动态调节系统「温度」,自动平衡抗议烈度、革命频率与满意度恢复,防止系统过热或过冷。

恒温器思路:P-controller 盯着抗议烈度与满意度,动态回调系统「温度」,不让文明烧穿也不让它冻死。
| 聚落排行榜 | 造物主 God Mode |
|---|---|
![]() |
![]() |
| 进度条 · 发光圆点 · 颜色分级 | 场景注入 · 事件日志 · 时间控制 |

从微观的饥饿衰减率到宏观的革命触发阈值,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 跳过向导直接开跑。

