Command Palette
Search for a command to run...
EconAgent:大语言模型驱动的宏观经济活动模拟智能体
EconAgent:大语言模型驱动的宏观经济活动模拟智能体
Nian Li Chen Gao Mingyu Li Yong Li Qingmin Liao
摘要
人工智能的兴起促使宏观经济学中数据驱动建模受到越来越多的关注,其中基于主体的建模(ABM)作为一种自底向上的仿真范式逐渐成为主流。在 ABM 中,智能体(如家庭、企业)在宏观经济环境中进行交互,共同生成市场动态。现有的智能体建模通常采用预设规则或基于学习的神经网络进行决策。然而,对每个智能体进行定制化建模面临显著挑战,使得智能体异质性的建模变得困难。此外,多周期市场动态和多方面宏观经济因素对决策过程的影响往往被忽视。本文提出了 EconAgent,一种由大语言模型驱动、具有类人特征的宏观经济模拟智能体。我们首先构建了一个仿真环境,该环境涵盖了由智能体关于工作和消费决策所驱动的多种市场动态。通过感知模块,我们创建了具有不同决策机制的异质智能体。此外,我们利用记忆模块对宏观经济趋势的影响进行建模,使智能体能够反思过去的个体经验和市场动态。仿真实验表明,EconAgent 能够做出符合现实的决策,相较于现有的基于规则或基于学习的智能体,能够产生更合理的宏观经济现象。我们的代码已开源于 https://github.com/tsinghua-fib-lab/ACL24-EconAgent。
一句话总结
清华大学提出 EconAgent,这是一个由 LLM 赋能的 Agent 框架,用于宏观经济模拟;该框架利用感知与记忆模块构建具有类人决策能力的异质 agents,捕捉多期市场动态,并比现有基于规则或基于学习的基线产生更真实的宏观经济现象。
核心贡献
- EconAgent 被提出作为一个基于 LLM 的宏观经济模拟框架,其构建了劳动与消费市场环境,其中 agents 的工作与消费决策与财政和货币政策相互作用,从而生成市场动态。
- 通过感知模块赋予 agents 基于画像的决策机制,并通过记忆模块将过往个体经验和宏观经济趋势纳入决策,形成了一种异质 agent 设计;该设计能够实现多步类人适应,而非依赖预设规则。
- 实验表明,相较于传统基于规则或基于学习的 agents,EconAgent 更合理地再现了消费市场中的通胀和劳动力市场中的失业等经典现象,同时展现出类人且对环境有响应的决策模式。
引言
该研究探讨基于 LLM 的 agent 在宏观经济学中的模拟;这一场景很重要,因为数字痕迹数据和 AI 工具使得建模异质个体的决策成为可能,而不只是依赖总量指标。早期统计模型与 DSGE 模型难以应对较大冲击或较强的均衡假设,而基于 agent 的模型改善了自下而上的模拟,但仍需要手工构造规则或大规模训练数据,使得异质行为和宏观动态记忆难以表达。主要贡献是 EconAgent,一个由 LLM 赋能的 agent 框架;该框架利用感知构建多样 agent 画像,并利用记忆将过往个体经验和市场动态纳入模拟劳动与消费经济体中的财政和货币政策,从而更真实地再现通胀、失业以及类人自适应决策。
方法
该方法采用闭环宏观经济模拟,其中由 LLM 驱动的 EconAgent 与结构化市场环境交互。整体系统组织为两个耦合侧:由 LLM 驱动的 agent 侧,以及实现劳动、消费、金融和政府机制的宏观经济侧。每个模拟步骤被视为一个月,agents 做出关于工作和消费的决策,这些决策影响市场结果,而随后得到的宏观经济反馈再用于塑造未来 agents 的决策。参考下方框架图:
agent 侧的核心是 EconAgent 设计,该设计将每个家庭视为一个异质 LLM agent。模拟首先用真实属性初始化 agents,例如年龄、工作和工资。小时工资来自帕累托分布,月工资计算为
vi=168wi,其中 wi 是小时工资,168 小时对应月工作时长。每个 agent 随后在每个月度步骤中做出两项基本决策。首先,agent 决定是否工作:
li∼Bernoulli(piw),其中 piw 是工作倾向。如果 li=1,agent 获得月工资收入;否则,agent 收入为零。其次,agent 选择消费倾向 pic,它表示 agent 希望将当前财富中用于必需品消费的比例。这些决策不是由固定方程规定,而是由 LLM 在处理经济信号、个人情况和近期市场历史后生成。
政府模块实施征税和再分配。税收依据累进税制从 agents 的收入中征收。对于收入 zi,税负计算为
T(zi)=k=1∑Bτk((bk+1−bk)1[zi>bk+1]+(zi−bk)1[bk<zi≤bk+1]),其中 bk 表示税档,τk 表示对应税率,1[⋅] 是示性函数。征税后,收入在所有 agents 之间平均再分配。税后收入变为
z^i=zi−T(zi)+N1j=1∑NT(zj),每个 agents 的储蓄更新为
si←si+z^i.该机制将个体劳动决策与财政结果相联系,并通过再分配把这些结果反馈给家庭。
劳动和消费模块把个人决策与市场层动态连接起来。工作的 agents 产生生产力,并根据
G←G+j=1∑Nlj×168×A,更新必需品库存,其中 A 是统一的生产力参数,G 表示总商品库存。同时,总消费需求为
D=j=1∑NPpjcsj,其中 P 是必需品的价格。随后系统计算供需失衡为
φˉ=max(D,G)D−G.该失衡决定工资和价格的调整。如果需求超过供给,模型会推高工资和商品价格,以反映更高的劳动成本和更紧张的消费条件。小时工资更新为
wi←wi(1+φi),φi∼sign(φˉ)U(0,αw∣φˉ∣),商品价格更新为
P←P(1+φP),φP∼sign(φˉ)U(0,αP∣φˉ∣),其中 αw 和 αP 分别界定工资和价格的最大调整率。随后,在实际库存限制下实现真实消费:
d^j=min(dj,G),c^j=d^j×P,随后为
G←G−d^j.因此,模拟明确把总市场压力与生产决策和价格信号联系起来。
金融模块完成宏观经济循环。储蓄按年计息:
si←si×(1+r).利率采用泰勒风格规则调整:
r=max(rn+πt+απ(π−πt)+αu(un−u),0),其中 rn 是自然利率,πt 是目标通胀率,un 是自然失业率,απ 和 αu 分别是通胀与失业缺口调整系数。通胀和失业定义为
π=Pˉn−1Pˉn−Pˉn−1,u=12N∑m=112∑j=1N(1−lj).这使银行业能够根据年度价格趋势和劳动力市场松弛做出反应。
为了使 LLM agents 能够理解这些信号并据此行动,框架包含三个专门模块:感知、记忆和行动。感知模块为每个 agent 配置结构化画像,包括姓名、年龄和职业,同时将当前经济变量嵌入提示中。职位名称根据工资十分位数生成,使 agents 的角色与收入水平保持一致。就业历史也反映在提示中,例如告知一名失业 agent 有新工作机会和薪资。这让 LLM 能以类似现实经济中家庭行为的方式,推理收入风险、消费压力和就业稳定性。
记忆模块存储近期交互历史,并定期诱发反思。系统维护近期市场动态和 agents 决策的滚动上下文;在每个季度结束时,agent 会被提示反思劳动力市场变化、消费趋势和金融状况。这一反思步骤将逐月原始观察浓缩为关于通胀、失业、收入充分性和不确定性的更高层判断。由此,agent 能够将过往宏观经济模式纳入当前决策,而不只是对最新状态作出反应。
行动模块将感知到的上下文中记忆下来的内容转化为数值经济决策。提示中明确强调生活成本、未来期望和当前经济趋势,并指示 LLM 输出表示工作倾向和消费倾向的数值。通过这种方式,系统用基于语言模型的决策层替代刚性行为方程,该决策层能够整合收入、储蓄、税收、失业、商品短缺和利率变化等异质因素。
实验
实验在宏观经济模拟中将 EconAgent 与代表性的基于规则和基于学习的 agent 基线进行比较,考察指标稳定性、移除感知和反思的影响、决策可解释性,以及对外部冲击的响应。EconAgent 产生更稳定、更合理的宏观经济动态,并再现关键经济规律,而基线表现出更大波动或关系不一致。消融实验和决策分析进一步表明,感知与反思支持适应性行为;agents 的选择一致地反映收入、价格、储蓄、税收以及更广泛的经济趋势,包括对 COVID-19 提示具有定性上更符合现实的响应。
跨 agents 的回归分析表明,嵌入的经济变量在塑造决策时经常具有统计显著性。工作倾向对税收、再分配和预期收入特别敏感,而利率效应最不一致。消费倾向与当前储蓄关联最强,先前的消费也影响大多数 agents。工作决策广泛反映财政和收入相关变量。消费决策对当前储蓄表现出特别强的敏感性。对于工作倾向,利率的显著性相对较弱。
跨 agents 的回归分析表明,嵌入的经济变量在塑造模拟决策过程中发挥重要作用。工作倾向主要受财政和收入相关因素影响,尤其是税收、再分配和预期收入,而利率影响较弱且一致性不足。消费决策与当前储蓄关联最强,先前的消费也影响许多 agents;这表明家庭支出主要由财务约束和过往行为驱动,而不是利率条件。