千符森林:在3B模型上運行多智能體經濟
一篇關於在Build Small Hackathon中構建的微型多智能體經濟模擬的現場報告,使用Qwen2.5-3B模型驅動五個林間生物進行貿易、囤積和恐慌。文章探討了小型模型在實時仿真中的可行性、設計稀缺性的必要性以及如何通過提示工程彌補模型推理能力的不足。
在Build Small Hackathon中,Lester Leong(AdmiralTaco)構建了一個名為“Thousand Token Wood”的微型多智能體經濟模擬系統。該系統使用Qwen2.5-3B模型驅動五個林間生物(如貓頭鷹、松鼠等)進行商品交易、囤積和恐慌行為。所有模型通過Modal上的vLLM提供服務,並通過Gradio應用展示。
項目的核心在於展示小型模型在實時多智能體仿真中的可行性。相比前沿大模型,小型模型成本低、速度快,使得每個時間步所有智能體能夠通過一次批量GPU調用做出決策。然而,最初的版本因缺乏稀缺性而失敗:生產大於消費,每個生物自給自足,貿易無從發生。修復方案是引入三種稀缺機制:飲食多樣性(每餐只能吃一種食物)、易腐性(食物會腐爛)以及冬季燃料危機(所有生物需要燃燒木柴取暖)。其中,木柴只有一個生產者,需求隨時間增長,導致木柴價格飆升,木匠致富,其他生物競爭取暖。
在稀缺性就位後,3B模型暴露出其推理能力的侷限。雖然100%的調用都能生成有效的JSON,但經濟判斷力差,例如橡子生產者會下單購買橡子。解決方案不是換更大的模型,而是優化提示詞。作者為每個智能體指定了生產物和禁止購買物,計算其短缺商品清單,並提供一個工作示例。決策質量顯著提升。整個循環還包裹了容錯的JSON解析和修復層,避免因格式錯誤導致崩潰。
福利系統的設計也經歷了迭代。最初作為累加器模型導致長期赤字使所有生物歸零,形成死亡螺旋。後來改為均值迴歸的情緒模型,當生物吃飽喝足時恢復,永遠不會降到零,從而將風險轉移到價格和地位上。
項目最引人注目的功能是將歷史市場事件重新包裝為林地傳説。玩家可以繪製“木材傳説”,例如鬱金香狂熱被重寫為“大橡果狂熱”,南海泡沫成為“空心木交易公司”,1929年的銀行擠兑變成“對烏娜財寶的擠兑”。這些傳説並非僅添加風味文字,而是會觸發真實的經濟衝擊。在一次運行中,烏娜(貓頭鷹)的寶庫被傳為空,她開始拋售蜂蜜以籌集鵝卵石,導致蜂蜜價格從10暴跌至3。所有反應均非腳本編寫。
為了使價格波動可見,作者讓市場參考價格隨未滿足的供需漂移:大量未成交的買單推高價格,供應過剩則壓低價格。最終,15輪運行的數據顯示:有效JSON動作100%,每輪交易3-9筆,蜂蜜價格在銀行擠兑傳説中從10跌至3,木柴價格因冬季稀缺從4升至7,財富基尼係數從0.14擴大到0.38,最終木匠成為最富者,囤積者破產。
作者總結的經驗包括:小型模型工程的核心在於利用其可靠的格式化輸出,同時通過結構和提示彌補其不可靠的推理;湧現系統需要設計稀缺性;最吸引人的小型模型演示無需虛構戲劇,幾個世紀的市場歷史足矣,而一羣3B智能體足以演繹這些故事。