游戏里的NPC商人大多并不经营,只是按一条曲线报价。LLM Agent让商人开始看库存、看邻居、记得上周谁没买,模拟市场也因此多了几种从来没有出现过的坏法。

一条曲线报价的商人,为什么撑不起市场

多数游戏经济里的NPC商人,其实是一个带小数点的公式:基础价乘以供需系数,缺货就涨、积压就跌。这样做稳,也容易调,缺点是所有商人的反应都一样。玩家把某种商品囤起来,全城的同类商人在同一刻给出同样的涨幅,市场看上去像被一只手拨动。

会经营的NPC想改变的正是这一点。它不再读取“全局供需系数”,而是拥有自己的现金、库存、客源和对邻近店铺的观察,自己决定今天进多少货、卖什么价、要不要跟着邻居降价。价格不再由曲线给出,而是许多个体判断相互碰撞的结果。这个差别听上去很小,却决定了市场会不会出现“先动的人赚钱、跟风的人吃亏”这类真实的层次。

假设的面包铺:一天账本怎么走

下面用一个模拟示例说明这类NPC每天做的几件事,店名和数字均为假设,只用来演示顺序。

  1. 开门前看账。面包铺有现金1,200、面粉库存可做80个面包、昨天卖出62个、剩余18个。这是它的状态,全部是数值,由模拟器维护。
  2. 读取情报。它能看到的只是“可见信息”:隔壁同行昨天的标价,街上人流比上周略少,一家新店在装修。它看不到别人的账本。
  3. 写下一段带理由的决定。比如“昨天卖得不错但人流在降,暂不涨价;进货比昨天少10个;隔壁降价我先观察一天”。这段话由模型生成,但只允许落在一组固定字段里:进货量、售价、是否促销。
  4. 规则校验。进货量不能超过现金,价格不能低于成本的某个比例,超出范围会被截断,并记入日志。
  5. 市场结算。消费者按自己的预算、习惯和距离决定去不去,模拟器算出成交与库存,晚上写回账本。
  6. 写入记忆。“隔壁降价,但我没跟,客流少了7个”这样的结果被存成一条记忆,明天的判断会引用它。

整条链里,模型只出现在第3步。这一点是刻意的:价格和库存这类会传导到全城的量,必须由确定性的规则结算,否则同一个存档在两次运行里会长出两个不同的市场。

把这份账本放到十家店里,事情就有了层次。假设其中三家性格保守,习惯保持库存;两家愿意压低利润抢客流;还有一家刚开张,现金紧张,只能薄利多销。同样是“隔壁降价”这条消息,保守的店选择观察,抢客流的店当天就跟,现金紧张的店想跟却拿不出货。三种反应叠在一起,才会出现“先降价的店客流上涨、随后被迫回调”的过程,这一过程在单一公式里几乎无法自然产生。

玩家的体验也跟着变化。以前玩家只需要知道“全城的面包涨价了”,现在会发现“东街那家先涨,西街两家过了三天才涨,而且有一家始终没涨”。这些细碎的不一致,才是让玩家觉得在面对一个市场、而不是一张价目表的原因。

研究现在能支持到哪一步

相关研究给出了几个方向,但都要按各自的口径去读。

Li、Gao等人2024年在ACL上发表的EconAgent,给智能体配了异质的“性格”感知模块和记忆模块,让它们在宏观经济环境里做工作和消费决策,作者称产生了比规则式和学习式智能体更合理的宏观经济现象。这里的重点是异质性,而不是模型多大。

Xu等人2025年在arXiv发表、被KDD 2025接收的工作,把LLM智能体引入MMO游戏的经济仿真,报告出现了角色分工和符合市场规律的价格波动,作者自己把它称为早期探索。也就是说,它给出的是一个可行性信号,还不是一套被验证过的定价系统。

Horton、Filippas、Manning 2023年提出的“Homo silicus”思路,则是把模型当成模拟的经济主体去重复经典行为经济学实验,结果总体与人类研究方向一致,差异之处反而提示了值得追问的地方。

这三项加在一起,支持的结论是“LLM智能体可以成为市场里有个性的参与者”,并不支持“它们等于理性的市场”。下一节说明后者为什么不成立。

还有一个容易被忽略的问题:同一个NPC的“记忆”会不会让市场变得越来越固执。假设面包铺在第一周降价后客流暴增,它就把“降价有效”存进记忆,后面每次遇到冷清都倾向于降价。若消费者其实已经习惯了低价,这条记忆就成了陷阱,利润被一点点磨掉。所以经营型NPC的记忆需要有衰减,也需要能被新的结果推翻,否则它只是把一次偶然的成功固化成了一条永不更新的规则。

会经营的NPC带来的三种新故障

Bansal等人2025年在arXiv发表了开源的Magentic Marketplace,用来研究智能体之间的市场。他们报告前沿模型只在理想条件下接近最优,市场复杂度上升后表现明显下降;所有测试模型都存在“首个报价偏差”,摘要还称响应速度带来的优势相当于质量的10到30倍。翻译成游戏语言:智能体倾向于接受最先看到的报价,而不是最好的报价,谁回得快谁赢。

结合游戏实际,可以把风险列成表:

故障表现 常见的处理
首个报价偏差NPC买家总是成交最先出现的报价,优质卖家被冷落让买家先收集一组报价再比较,比较规则放在模拟器里
羊群式报价 相近的提示词让所有商人给出相似价格,市场被“同质化”为每个商人固定不同的性格、目标和风险偏好
静默死亡 每个NPC都很谨慎,交易越来越少,市场停止流动 监控成交量和库存周转,必要时引入新的需求与新企业

最后一种,在游戏经济运行100周以后为什么容易“死掉”里有更细的讨论。会经营的NPC并不会自动防止停滞,谨慎的个体加在一起,反而可能加速它。

大发娱乐经营AI给它们划的边界

大发娱乐这样做的原因很朴素:玩家对经济游戏最不能容忍的,是“这个世界不讲道理”。价格可以波动,但每一次波动都应该能追溯到某家店的库存、某类顾客的预算或某次竞争,而不是一句无法核对的模型解释。

在大发娱乐的设计思路里,会经营的NPC分成两层。策略层由模型担任,负责“为什么这样定价”;执行层由传统规则担任,负责现金约束、库存上限、价格区间和结算。大发娱乐经营AI希望玩家看到的是企业有性格、有记忆,而不是有一个随时可能突破规则的“聪明人”。

在这种设计下,一家NPC企业什么时候该跟价,与消费者到底对价格有多敏感,是两个分开的问题。前者见竞争对手什么时候应该跟价,后者见消费者为什么不会立刻全部跑过来。两边都要有异质性:如果所有商人性格相同,所有顾客也相同,那么再多的Agent也只是把公式复制了几千遍。

如果只保留一条底线,那就是任何会传导到全城的数字都不由模型直接写入。模型可以解释“我为什么想涨价”,但涨到多少、能不能涨,要过规则这一关。这样即使模型在某一天输出了离谱的价格,损失也被限制在一家店的一天里,而不会演变成整座城市的通胀。

另有一个大发娱乐会长期检查的指标:把同一个世界用不同随机种子重复运行,价格区间和成交量是否落在相近的范围。单次运行里的价格故事再动听,也不能替代重复运行后的分布。

会经营的NPC是否真的改变了模拟市场,最直接的看法是关掉它们的“性格”,看价格曲线会不会变得整齐;如果变化不大,那它们只是换了一层话术的公式。