用途:这是一个 ANALYSIS MODULE(分析模块),用于构建多智能体模型,让宏观模式从局部智能体规则中涌现,例如谢林隔离、观点动力学、扩散、合作等。核心原则是“模型是关于宏观如何从微观涌现的理论”,要求正确使用 Mesa 3 并对模型加以验证,视其为生成性解释而非仅能运行的小玩具。
触发场景:构建关于隔离、扩散、观点、合作等的 Agent-Based 模型或 Mesa 模型;模拟大量异质交互智能体并观察涌现结果;对 ABM 做参数扫描并收集结果。不触发的情况包括:离散事件/排队/过程仿真、强化学习策略优化、判断 ABM 是否为合适方法、系统动力学或 ODE 房室模型,这些应路由到其他技能。
主要能力与 Mesa 3 API 要点:Mesa 3 移除了 mesa.time 调度器(如 RandomActivation)。智能体自动注册进 model.agents,unique_id 自动分配;模型必须调用 super().init(rng=...)。Mesa 3.5 弃用 seed= 关键字,改用 rng=,新代码应传 rng=。调度方式包括 model.agents.shuffle_do('step')(随机激活)、model.agents.do('step')(固定顺序)、do('step') 后再 do('advance')(同时)、model.agents_by_type[Type].shuffle_do('step')(分阶段),model.steps 自动递增。空间支持经典 mesa.space.MultiGrid/SingleGrid/NetworkGrid(维护模式)及新的 mesa.discrete_space.OrthogonalMooreGrid、OrthogonalVonNeumannGrid、HexGrid。批量扫描用 mesa.batch_run(...),每个 rng 值对应一个重复实验。可视化使用 SolaraViz、make_space_component、make_plot_component。
验证纪律:能运行的 ABM 不是证据。需报告:多次不同随机种子的重复实验并报告宏观结果分布而非单次运行;跨关键参数做 batch_run 参数扫描,展示涌现结果如何依赖参数(相变、临界点);面向模式的验证,即模型能否重现其要解释的目标典型事实;敏感性分析,说明哪些假设驱动结果。
输出模板:MODEL、SCHEDULE、MACRO OUTCOME、VALIDATION、CLAIM SCOPE(生成性,即一种充分的微观机制,而非唯一或真实机制)。参考文件 references/mesa_patterns.md 提供经过验证的 Mesa 3 骨架、空间 API 选择、batch_run 扫描与验证清单。限制:不适用于离散事件、强化学习、系统动力学等场景;具体安装命令与代码示例详见原始资料,此处不重复。