初めに
EconAgentは、LLMを経済エージェントの意思決定エンジンとして使い、マクロ経済活動をシミュレートするフレームワークです。各エージェントに名前・年齢・職業などのプロフィールが割り当てられ、毎月の「労働意欲」と「消費率」をLLMがJSON形式で出力します。エージェント全体の行動が集積することで、物価・賃金・金利・失業率などのマクロ経済指標が内生的に変動します。
今回は公式実装をGPT-4.1-mini向けに調整し、100エージェント×240ヶ月(20年間)のフルシミュレーションを実行しました。
今回の実験用のforkしたリポジトリです
開発環境
| 項目 | バージョン |
|---|---|
| OS | Windows 11 |
| Python | 3.12 |
| uv | 0.9.x |
| OpenAI SDK | 1.0+ |
| モデル | gpt-4.1-mini |
環境構築
# 依存インストール uv sync --extra gpt # APIキー設定(.envファイルに記載、python-dotenvで自動読み込み) echo 'OPENAI_API_KEY=your-key' > .env
シミュレーション実行
uv run python simulate.py --num_agents 100 --episode_length 240
仕組み
毎月、各エージェントに対して経済状況(物価・賃金・貯蓄・金利・税金等)を自然言語で伝え、{'work': 0-1, 'consumption': 0-1} のJSON形式で意思決定を返させます。work の値は確率的に0/1に変換され、consumption は資産のうち消費に回す割合です。
さらに3ヶ月毎にReflection(振り返り)プロンプトを実行し、四半期の経済環境を回顧させることで、より長期的な判断を可能にしています。
シミュレーション結果
マクロ経済指標
| 指標 | 初期値 | 最終値 | 変動率 |
|---|---|---|---|
| 物価 | $135.29 | $45.08 | -66.7% |
| 賃金 | $132.07 | $76.53 | -42.1% |
| 金利 | 3% | 0% | - |
20年間で物価が約1/3に下落する大幅なデフレが発生しました。年次のインフレ率を見ると、最初の3年間で-30〜-40%の急激なデフレが起き、その後Year 4-9でインフレに反転(+8〜+14%)、Year 10-15で安定(+2〜+5%)、Year 16-19で再デフレ(-5〜-20%)と、景気循環のような波が観察されました。
金利はテイラールールに基づいて初年度の3%からすぐに0%に低下し、以降ゼロ金利が続きました。
失業率
失業率は13%〜40%の範囲で推移しました。インフレ期(Year 7)に13%まで低下し、再デフレ期(Year 17)に40%まで上昇しており、フィリップス曲線的な逆相関パターンが確認できます。
資産分布
| 指標 | 値 |
|---|---|
| 平均資産 | $984,540 |
| 中央値 | $330,619 |
| 最大 | $7,787,128 |
| 最小 | $6,574 |
| ジニ係数 | 0.6669 |
Top 20%が全資産の72.7%を保有するという、大きな格差が生まれました。累進課税と再分配がある環境でもこの結果です。
スキルレベルと最終資産のピアソン相関は0.78でした。富裕層と貧困層で労働月数に大きな差はなく(平均176/240ヶ月)、格差の主因は時給に相当するスキルレベルの差でした。
結果からわかること
- 景気循環の創発: 明示的にプログラムしていないのに、デフレ→回復→安定→再デフレという景気サイクルがLLMの意思決定から自然に生まれた
- LLMのデフレバイアス: エージェント全体が消費に慎重で、デフレが進行しやすい傾向があった
- スキル格差の増幅: 累進課税と再分配があっても、初期スキルの差が20年で大きな資産格差に拡大した(ジニ係数0.67)