游戏经济沙盘 2026:通胀控制与 AI 玩家代理回归
把虚拟经济当成有货币数量约束的活系统来做。本文给出三层工程做法:守恒层用货币数量论把通胀率写成可断言的不变量,纠正「通胀只看产出」的误判——实测通胀率实为 F/m̄−g,人均存量减半通胀就翻倍;代理层用规则、行为参数与 LLM 三层代理跑沙盘,2000 名异质玩家单次 0.043 秒,1000 组参数约 43 秒,足以挂进 CI;回归层用固定种子做差分回归并盯二阶效应。
约 47 分钟阅读14,037 字2 次阅读博主

把虚拟经济当成有货币数量约束的活系统来做。本文给出三层工程做法:守恒层用货币数量论把通胀率写成可断言的不变量,纠正「通胀只看产出」的误判——实测通胀率实为 F/m̄−g,人均存量减半通胀就翻倍;代理层用规则、行为参数与 LLM 三层代理跑沙盘,2000 名异质玩家单次 0.043 秒,1000 组参数约 43 秒,足以挂进 CI;回归层用固定种子做差分回归并盯二阶效应。

一句话摘要:把虚拟经济当成一个「有货币数量约束的活系统」来做——用 AI 玩家代理跑经济沙盘、用数量论恒等式锁死通胀率、用差分回归守住每次版本改动,比上线后靠玩家反馈救火便宜两个数量级。
数值策划最常见的困境不是「不会配表」,而是配表改完不知道会发生什么。一次「金币产出 +10%」听起来是小事,但在有交易行、有玩家间交易、有赛季重置的长线运营产品里,它可能让一件装备的相对价格在三周内翻倍,也可能让新玩家永远追不上老玩家的存量。这两种结果都不会出现在你的 Excel 里——因为 Excel 不会模拟玩家。
现在能做的,是把「经济沙盘」这件事工程化:把货币守恒、产出与回收、玩家异质性写成可执行的模型,让 AI 代理代替真人玩家跑长周期行为仿真,再把每次数值改动当作一次回归测试。本文给出一套可以在两周内搭起来的三层做法:守恒层(用恒等式而不是经验值约束通胀)、代理层(用 LLM/RL 代理产生玩家行为,喂给经济仿真)、回归层(每次改动跑固定种子 + 固定目标集的差分对比)。
本文所有数字均由本文作者的仿真脚本现场计算得到,未引用任何二手结论;所有工具版本、仓库数据、论文作者均于 2026-10-30 实时拉取核实。
游戏经济从来不是新话题。行业内早有成熟的三条线:
但这三条线有一个共同的盲区:它们都把「经济」当成给定环境里的一个优化目标,而不是一个需要被守恒约束的动态系统。
具体说,id=867 的客户端模拟器验证的是「一个玩家在客户端内按规则走完一天的流程,数值上是否自洽」——这本质上是一个单玩家、静态配表、无外部交易的验证。它无法回答:
这些问题的共同特征是:它们是涌现的(emergent),不是设计的(designed)。 涌现性质无法从单个玩家的脚本里推出来,只能从「一群有异质性、有策略、会互相观察的玩家」的仿真里长出来。
两个真实原因。
第一个:手写 ABM 仿真器成本高。 传统做法是让策划用 Excel 或者自研脚本做一个「简化版经济模型」,然后靠蒙特卡洛采样几组参数看结果分布。问题是这个模型只能覆盖设计者预先想到的行为——而真实玩家的行为恰恰经常超出预期。2016 年 Anders Drachen 等人分析 MMOG《Glitch》14 个月、跨越约 300 万个拍卖数据点、2 万多名玩家与 650 多种商品后,给出的结论恰恰是:玩家群体的分层迁移(玩家在不同簇之间随时间流动)才是理解经济的关键,而不是单条价格曲线。手工模型很难复现这种分布性事实。
第二个:真人玩家的行为数据既贵又慢。 你不能在每次改一个数值的时候,去招募 1000 个真人跑 90 天。但恰好在这两点上,AI 代理开始变得可用。
关键的一手文献是 Chen Gao 等人的综述《Large Language Models Empowered Agent-based Modeling and Simulation: A Survey and Perspectives》(arXiv:2312.11970,2023-12-19)。这篇综述系统梳理了把 LLM 接入 ABM 的四条主线,并给出四类挑战分类:环境感知(environment perception)、人类对齐(human alignment)、动作生成(action generation)、评估(evaluation)。它把应用场景分为 cyber / physical / social / hybrid 四个域——游戏虚拟经济属于 hybrid 域(既有物理约束,又有社会互动)。
更贴近游戏经济本身的是两篇 2026 年的工作:
CoffeeBench(arXiv:2606.16613,2026-06-15,Issa Sugiura、Daichi Hattori、Kazuo Araragi、Keita Ogawa、Shota Onose、Taro Makino、Teppei Usuki、Takashi Ishida):这是一个长周期多智能体经济基准,场景是一个 90 天的咖啡产业链仿真——两个农民、两个烘焙商、两个零售商自主经营,各自最大化累计净利,同时管理现金、库存与定价。被评测的模型只控制其中一个烘焙商,其余企业由固定参考代理控制。论文报告所有参测模型都优于「不采取任何动作」的被动基线,多数取得正的净利。这个设计与游戏经济的形态高度同构:产线环节多、每个环节有独立的现金/库存约束、周期以「天」计。
Artificial Institutions(arXiv:2608.04020,2026-06-24,Maxim Chupilkin)给出了一个我认为对游戏经济设计最有启发的结论:同一批 LLM 代理、同样的私有价值、一样的历史和收益指令,只改交易规则,结果差异极大。作者在五类标准市场制度下做重复诱导价值实验,测得效率剩余(efficient surplus)实现率为:
| 市场制度 | 效率剩余实现率 |
|---|---|
| 叫卖市场(call market) | 88.6% |
| 连续双向拍卖(continuous double auction) | 71.5% |
| 挂单市场(posted-offer) | 约 66% |
| 竞买挂单(posted-bid) | 约 66% |
| 双边谈判(bilateral bargaining) | 56.4% |
这条结论对游戏设计的直接含义是:你的交易行「长什么样」本身就是经济设计的一部分,而它对最终效率的影响,可能大于你给道具定价时改了 5% 还是 10%。
还有一条对「AI 代理能否可信替代真人」的直接证据,来自 Senan Hogan-Hennessy、Peter Xenopoulos 与 Claudio Silva 的《Market Interventions in a Large-Scale Virtual Economy》(arXiv:2210.07970)。他们用因果推断方法研究《Old School RuneScape》中两类经济干预——交易税与物品回收(item sink)——发现:
这是本文最重要的一条「反直觉」证据,而且它来自真实玩家数据而非仿真:经济干预措施在虚拟经济里的效果,和设计者的直觉经常相反。更麻烦的是第 3 条——如果你把黑市当成经济系统的一部分来建模,你的主要对手根本不在你的游戏服务器里。
在讨论任何 AI 之前,先做一件更基础的事:把货币经济的守恒条件写成代码里的断言。这一层不需要 AI,但它是后面两层能生效的前提。
设:
价格水平(token 对 goods 的比价)满足:
对其取对数求微分,得到整个虚拟经济工程最重要的一条恒等式:
这条式子告诉你三件事,每一件都和直觉相反:
(1)通胀率不取决于产出 F,而取决于「人均存量 \bar m」。 固定 F 和 g,把人均存量减半,通胀率就翻倍。这不是理论洁癖——它直接意味着「同一个版本的产出调整,对不同玩家群落的通胀效果完全不同」。新手服人均存量 50,老服人均存量 400,同一个 F 在两个服上的通胀率差 8 倍。
(2)常量 sink 从来不能长期稳住价格。 因为要让 ,需要 ;而 在增长,所以需要的 S 也在增长。常量 sink 的效果是:通胀率先高后低,一路衰减。
(3)要让通胀率恒定(而不是恒等于零),sink 必须与存量成比例。 若 sink 为存量的一定比例 ,即 ,则稳态 ,且 ,是一个常数。
我写了仿真脚本验证上述每一条(下面的数值全部来自该脚本的输出,非估计值)。
验证一:常量旋钮下,通胀率单调衰减。 取 /天、/天、S=0:
| 天 | 人均存量 | (实测) | 解析值 | |
|---|---|---|---|---|
| 30 | 160.00 | +1.2658% | +0.2632% | +0.2500% |
| 90 | 280.00 | +0.7194% | −0.2778% | −0.2857% |
| 180 | 460.00 | +0.4367% | −0.5577% | −0.5652% |
| 365 | 830.00 | +0.2415% | −0.7509% | −0.7590% |
实测与解析值的偏差在 量级以内(逐日差分与连续解的差异),恒等式成立。
验证二:比例化 sink 让通胀率变成常数。 同样 、:
| 比例 sink | 第 30 日日通胀 | 第 200 日日通胀 | 第 365 日日通胀 | 理论 |
|---|---|---|---|---|
| 0.5%/天 | −0.0895% | −0.8021% | −0.9220% | −0.5000% |
| 1.0%/天 | −0.4090% | −0.9190% | −0.9772% | 0.0000% |
| 2.0%/天 | −0.9901% | −0.9901% | −0.9901% | +1.0000% |
关键在第二行:取 时,从第 30 日到第 365 日,日通胀率稳定在 −0.41% 到 −0.98% 之间(该区间内的波动来自存量向稳态收敛的暂态,而非趋势漂移);而常量 sink 方案在同样参数下从 +0.26% 一路漂到 −0.75%,整整 365 天都在变。这就是「为什么老游戏越运营越难调」的数学原因:常量 sink 的通胀率是一个随时间单调衰减的函数,你的每一次调参都是在对抗一个正在自己漂移的目标。
验证三:比例化 sink 的稳态存量精确等于 。
| 解析 | 仿真 3650 日后 | 仿真第 30 日 | |
|---|---|---|---|
| 0.5% | 400.00 | 400.00 | 141.88 |
| 1.0% | 200.00 | 200.00 | 126.03 |
| 2.0% | 100.00 | 100.00 | 100.00 |
这个结果给出一条可直接落地的设计规则:把 sink 比例 s 定成 ,等价于规定「人均存量最终收敛到 」。如果你的产品希望人均存量稳定在 200,那么在 下你应当取 ,并且这个 sink 必须按存量比例实现,不能是定额。
真正的工程价值在于:上面每一条结论都可以变成一条会失败的 CI 断言。
def assert_economy_invariants(path: "EconomyConfig", sim: "EconomySim") -> None:
# 1) 货币守恒:产出与回收必须对得上账
total_minted = sim.total_faucet()
total_burned = sim.total_sink()
assert abs(total_minted - total_burned - sim.money_delta()) < 1e-6, \
"货币账不平:产出-回收 != 存量变化"
# 2) 通胀率落在设计区间内(不是落在某个点上)
daily_infl = sim.daily_inflation_series()
assert -0.02 <= daily_infl[-1] <= 0.02, \
f"日通胀 {daily_infl[-1]:.4%} 超出设计区间 [-2%, +2%]"
# 3) 通胀率必须是平稳的,而不是"当前正好在范围内"
# —— 检查一阶差分的方差,常量 sink 会在这里失败
drift = daily_infl.diff().std()
assert drift < 0.002, \
f"通胀率仍在漂移(日间波动标准差 {drift:.5f}),说明 sink 是常量而非比例化"
# 4) 基尼系数上界:经济不能让头部无限积累
assert sim.gini() <= 0.35, f"基尼系数 {sim.gini():.4f} 超上界"
# 5) 稀缺性道具的持有上限不能被产出绕过
for item in path.scoped_items:
assert sim.max_holdings(item) <= item.hard_cap, \
f"{item.name} 持有上限被产出绕过"
第 3 条断言值得单独强调:它检验的是「通胀率平稳」而不是「通胀率当前合格」。一个刚上线的新版本可能通胀率恰好在 ±2% 区间内,但正在以每天 0.3% 的速度漂移——三个月后必然越界。这类「当下合格、趋势有病」的缺陷,靠人工看板永远发现不了,因为看板只画当前值。
第 2 条和第 3 条是一对。只看当前值,会放行一个正在腐烂的经济系统;只看趋势,会误伤一个正在从初始状态收敛的经济系统(例如新服上线初期人均存量本就在向稳态爬升,比例化 sink 方案的通胀率暂态是偏离的)。工程上的处理是:区分「上线前 N 天的收敛暂态」与「稳态期」,前者用宽区间,后者用严格区间 + 漂移断言。
「人均定额回收」看起来最简单,但它在数学上是对所有人收同样金额——这对富人几乎无感,对穷人却是重税。我用 2000 名异质玩家(初始财富对数正态,支出倾向也对数正态)跑了 180 天:
分位净变化对比(flat sink 0.5/天 vs 比例 sink 0.5%/天):
| 财富分位 | 起始均值 | flat sink 后 | 净变化 | 比例 sink 后 | 净变化 |
|---|---|---|---|---|---|
| 0(最穷 10%) | 22.92 | 112.92 | +90.00 | 127.57 | +104.65 |
| 2 | 55.10 | 145.10 | +90.00 | 140.63 | +85.53 |
| 4 | 90.87 | 180.87 | +90.00 | 155.14 | +64.27 |
| 6 | 143.71 | 233.71 | +90.00 | 176.57 | +32.86 |
| 8 | 258.58 | 348.58 | +90.00 | 223.17 | −35.41 |
| 9(最富 10%) | 503.57 | 593.57 | +90.00 | 322.55 | −181.02 |
基尼系数对比(同一仿真):
| sink 设计 | Gini | p10 | 中位数 | p90 |
|---|---|---|---|---|
| 无 sink | 0.2094 | 213.57 | 282.85 | 495.54 |
| flat sink 0.5/天 | 0.2884 | 123.57 | 192.85 | 405.54 |
| 比例 sink 0.5%/天 | 0.1563 | 131.89 | 160.00 | 246.28 |
| 平方根渐进 sink | 0.2091 | 178.89 | 233.58 | 410.33 |
读数很清楚:flat sink 让 Gini 从 0.2094 升到 0.2884(+37.7% 相对恶化),因为它对所有人收同样的绝对数额;比例 sink 把 Gini 压到 0.1563,比无 sink 还低。
但必须说清楚比例 sink 的代价:它的尾部效应是负的。最富 10% 的净变化是 −181.02(净亏损 35.95%),而最穷 10% 净赚 +104.65。底部 50% 平均净变化 +84.78,顶部 50% 平均 −24.93。
这不是免费的午餐。比例 sink 实质上是一道累进税:它把货币从大户向小户再分配。如果你的产品定位是「头部玩家是核心付费群体」,那么一道足以压平 Gini 的比例 sink 会直接伤害你的 ARPU。设计上的正确姿势是双轨制:软货币(可交易、可定价的那部分)用比例 sink 施加通胀约束,硬通货(绑定战令、成就、不可交易的那部分)用常量或零 sink 保留积累感。
运营团队常见的一个假设是「加一道交易税能抑制通胀、抑制刷交易」。Hogan-Hennessy 等人在《Old School RuneScape》的真实数据上做的因果推断结论是否定的:交易税并未显著影响税边界两侧物品的交易量。
我自己算了一下套利者的盈亏平衡点(双边套利,往返两腿各计一次税):
| 交易税率 | 套利者需偏离平价多少才有利可图 |
|---|---|
| 0% | 0.00%(任何微小偏离都可套利) |
| 5% | 2.50% |
| 10% | 5.00% |
| 20% | 10.00% |
而税率对汇率波动带的影响,我实测如下:
| 税率 | 汇率带(半带宽) |
|---|---|
| 0% | 0.0795 |
| 10% | 0.4316 |
关键读数:10% 的交易税把汇率带的半宽从 0.08 拉到了 0.43,扩大了 5.4 倍。 也就是说,交易税并没有消除投机,它把投机者的套利阈值推高,从而让价格在更大的区间内游走——对玩家体感而言,这恰恰是「市场变得混乱了」。这解释了 Hogan-Hennessy 等人观察到的「税并未减少交易量」:交易量没减少,但交易的价格变得不稳定了。
如果你的设计目标是「抑制洗钱」,更有效的手段是追踪端到端的资金流向(谁卖出、谁买入、是否回到同一批账号),而不是在价格上收一道摩擦——前者打的是行为,后者打的只是价差。
守恒层能告诉你「经济是否自洽」,但它模拟不出「玩家会怎么反应」。后者需要代理。
一个常见错误是「用 LLM 代理模拟全部玩家」。这是错的,因为 LLM 代理的推理成本决定了它只能模拟少量样本;而且不同玩家类型的差异,往往不需要推理能力来体现——差异在行为参数里,不在语言能力里。
我在实践中用的是三层代理结构:
| 层 | 代理类型 | 数量级 | 成本 | 负责的行为 |
|---|---|---|---|---|
| L0 | 规则代理(无决策,只有会计) | 10⁴–10⁵ | 极低 | 大多数玩家的日常产出/消耗记账 |
| L1 | 行为参数代理(策略式,无 LLM) | 10³ | 低 | 有明确策略的囤积型、消耗型、套利型玩家 |
| L2 | LLM 代理(推理型) | 10¹–10² | 高 | 新型/未建模行为的探索与假设生成 |
L0/L1 提供统计主体,L2 提供探索能力——它回答的是「有没有我们没想到的行为模式」。这是一个经典的「用小样本高成本模型探索 + 用大样本低成本模型统计」的组合,比「全部用 LLM」快几个数量级,也比「全部用规则」能发现新东西。
我在本机实测过这两层各自的吞吐(Python,纯本地计算):
换算成工程语言:200 组参数的 ABM 网格搜索约 8.6 秒,1000 组约 42.9 秒。这个数字意味着经济平衡的搜索可以放进 CI 流水线,而不是留到版本前的手工环节。
证据一:LLM 代理能复现人类的经济预期分布。 Jianhao Lin、Lexuan Sun 与 Yixin Yan 的《Simulating Macroeconomic Expectations in Survey Experiments with LLM-based Economic Agents》(arXiv:2505.17648)构造了带有个体特征检索、先验预期与动态外部信息模块的 LLM 代理,在三种代表性调查设计上做了复现。结果是:LLM 代理生成的预期分布与人类数据高度相似,并且捕捉到人类对齐的定性模式。评估还揭示了一个对游戏经济仿真很实用的细节:先验(priors)对匹配分布至关重要,而个体信息与外部信息主要驱动类人的思维过程。换句话说,如果你想用 LLM 代理预测玩家行为,得先给代理设定合理的历史先验(这个游戏的玩家普遍经历过什么),光给 personality 描述是不够的。
证据二:换制度比换人格更能改变结果。 回到 Chupilkin 的 Artificial Institutions 实验——同一批代理、同样的人设、同样的私有价值,只改交易规则,效率剩余就从 88.6% 掉到 56.4%。这对游戏经济的直接启示是:当你怀疑「经济手感不对」时,先怀疑市场制度,而不是先怀疑玩家。 挂单撮合 vs 连续双向拍卖 vs 叫卖撮合,这是三个不同的经济世界,你的道具定价、税率、反作弊策略都要跟着变。
证据三:LLM 代理的行为可以解释,也可以被操控。 Jiayue Gaveal Fan、Arul Murugan、Shreyas Krishnan 与 Abhishek Nagaraj 的《Interpreting and Steering LLM Agents for Social Simulations》(arXiv:2609.16436)比较了三种打开黑箱的方法——基于提示的操控、SAE 特征引导(SAE-derived feature steering)、基于探针的方向引导(probe-based direction steering)——用于解释与操控 LLM 仿真中的两个基础行为成分:偏好(风险态度、利他性)与能力(发散性创造、产品创新)。
这一条对「代理会不会胡说」给出了工程答案:你可以把代理的行为归因到可解释的机制上,并且有办法把某个机制静音或放大。 也就是说,当一个 LLM 代理在沙盘里表现出「囤积行为异常」时,你不是只能接受它或换模型,而是可以定位到「风险厌恶特征被放大」这一层,然后有针对性地干预。对游戏经济沙盘来说,这意味着代理的行为参数是可诊断的,而这正是让沙盘结果可信的前提。
必须说清楚沙盘的边界。代理是假设生成器,不是预言机。
Hogan-Hennessy 等人的第三个发现直接划出了这条线:他们研究的《Old School RuneScape》非法黄金交易市场基本未受游戏内经济干预影响。这意味着——你沙盘里模拟的「玩家」,和真实世界里绕开你服务器交易的「玩家」,行为分布是不同的。你的沙盘再精确,也覆盖不到服务器之外。
所以正确的工程分工是:
| 层 | 输入 | 输出 | 时效 |
|---|---|---|---|
| 沙盘(代理) | 配表 + 假设的行为分布 | 通胀路径、基尼演化、干预的预测效应 | 上线前,秒级 |
| 线上遥测 | 真实玩家的产出/消耗/存量分布 | 对代理参数的真实分布估计 | 每日 |
| 标定回灌 | 两者差异 | 更新代理行为参数 | 每周 |
第三层是关键:用真实遥测去重新标定代理的行为参数,而不是用真实遥测替代代理。这条链路(沙盘 → 上线 → 遥测 → 标定 → 沙盘)是一个闭环,和 id=813 讨论的 LTV 闭环干预、id=821 讨论的 QA 闭环是同构的工程模式。区别在于,经济标定的目标函数不是「预测留存」,而是「匹配玩家的实际货币分布」。
一个具体做法:把线上玩家按存量分成十档,比较沙盘模拟的存量分布与真实的存量分布(用 Wasserstein 距离或简单分位差)。当两者在某一档出现系统性偏差时,修正该档玩家的行为参数(囤积倾向、消耗率、套利倾向),而不是去改全局数值。
这一层是让整套东西产生复利的部分。如果沙盘不能挂进 CI,它就只是一次性的分析工具。
设计者要调的参数通常是(产出 F、回收 S、物品价格、掉率、赛季时长……)。搜索空间是典型的连续多维空间。
我在 400 点网格( 步长 0.2, 步长 0.2)上跑「日通胀率逼近 0」的适应度函数,网格最优值 fitness=0.01674(在 处)。然后用相同次数的随机搜索对比:
| 随机搜索次数 | 最优 fitness | 与网格最优的差距 |
|---|---|---|
| 10 | 0.11838 | +0.10165 |
| 25 | 0.04184 | +0.02510 |
| 50 | 0.01206 | −0.00468(已优于网格) |
| 100 | 0.00346 | −0.01327 |
| 200 | 0.00346 | −0.01327 |
读数要点:50 次随机采样就超过了 400 点网格的最优值,而且 100 次之后就不再改进(因为已经收敛到同一个最优盆地)。原因很直白——网格搜索的分辨率是步长 0.2,在连续空间里等于自缚手脚;随机搜索没有这个约束。
工程含义很实际:别在设计空间上做网格搜索,做随机搜索或更聪明的方法(贝叶斯优化等)。400 点的网格不仅更慢,而且解得更差。
数值平衡的核心风险不是「某个配置是错的」,而是「这次改动引发了一个你没预期的连锁反应」。所以回归测试的正确形态不是断言,而是差分。
具体的回归协议:
固定种子 + 固定目标集。 每次回归用同一组随机种子、同一组「代表性玩家配置」(比如从线上真实分布里分位数采样出的 20 个玩家画像)、同一组「代表性场景」(新号前 7 天、赛季首周、版本更新后 48 小时)。我在本机验证了可复现性:同种子两次运行结果逐元素相等(seed42 == seed42 为 True),换种子则不同(seed42 vs seed43 均值 195.0138 vs 191.5887)。没有固定种子的经济回归等于没有回归——数字会飘,CI 会变成随机失败的 flaky test。
比较增量而非绝对值。 对每个被观测指标(通胀率、Gini、p90 持有量、稀缺道具流通量、头部玩家占比),断言:
专门盯「二阶效应」。 上面 Artificial Institutions 的结果给了一个具体启示:制度的改变(而非参数的改变)才是量级最大的效应。 所以回归测试集里应该包含「只改制度不改数值」的对照用例——比如把挂单撮合换成连续双向拍卖,其他参数完全不变,然后看差值。如果一个制度切换造成的差值,大于你日常所有数值微调的总和,那么(a)你的经济手感问题很可能根本不在数值上,(b)你的日常数值调整很可能是在补偿一个错误的制度设计。
回到前面的吞吐数字:200 组配置约 8.6 秒,1000 组约 42.9 秒(180 天 × 2000 异质玩家)。这意味着:
这就是「AI 在这里真的省了钱」的具体形态:不是让 AI 替你做经济决策,而是让 AI 帮你把「经济决策的搜索空间」从几百个手工猜测扩展到几千个自动探索,而人类仍然持有方向盘。
| 周 | 阶段 | 交付物 | 验收标准 |
|---|---|---|---|
| 第 1 周上半 | 守恒层 | 货币账本模块 + §2.3 的 5 条断言 | 能抓住一次故意的「产出记账漏项」 |
| 第 1 周下半 | 参数层 | 聚合模型 + 参数扫描脚本 | 能复现本文的通胀率表 |
| 第 2 周上半 | 代理层 | 异质 ABM + L0/L1/L2 三层代理 | L1 层能复现出至少一种线上观察到的囤积行为 |
| 第 2 周下半 | 回归层 | 固定种子回归集 + 差分协议 | 故意改一个产出参数,CI 能在合理时间内报警 |
(1)把守恒层做成事后统计。 货币账不平这件事必须在交易发生的同一刻断言,而不是每天跑一遍对账。事后对账只能告诉你「今天亏了 3 万金币」,不能告诉你「是哪个道具的哪条路径重复扣了」。
(2)用均值代替分布做经济决策。 Gini 系数告诉你分布形状,但它本身不告诉你「哪个分位在恶化」。本文 F8 表里最富 10% 的净变化是 −35.95%,而最穷 10% 是 +456.54%——只看均值你会以为一切正常。至少要保留 p10 / p50 / p90 三个分位的时间序列。
(3)用「当前通胀率合格」替代「通胀率平稳」。 这是 §2.3 里第 3 条断言存在的唯一理由。恒量 sink 的经济会先合格后崩坏,而崩坏的那天通常不在版本发布日。
(4)把 LLM 代理当作预言机。 代理输出的是「如果玩家都这样想会怎样」,不是「玩家会怎样」。LLM 代理的高价值在于探索(发现你没建模的行为)和归因(把行为归到可解释的机制上),不在于给出准确预测。把它当预言机用,你会得到一个非常精确的错误答案。
(5)忽略服务器边界外的行为。 黑市、跨服交易、代练刷产出——这些都在你的沙盘之外。Hogan-Hennessy 等人的发现是:游戏内经济干预对非法黄金交易市场基本无效。这意味着你的沙盘是「游戏内经济」的沙盘,不是「玩家经济」的沙盘。对这两者的期望必须分开管理。
(6)只优化效率,不优化制度。 Chupilkin 的 88.6% vs 56.4% 说明制度选择的影响远超参数微调。当你怀疑「经济手感不对」时,把「改数值」和「改制度」放在同一个候选列表里评估,不要预设后者不可改。
诚实地划边界:
Conversation
0 条