小模型實戰:五隻林地生物、一個會崩盤的經濟體,三個工程教訓
在 Build Small Hackathon,有人用 Qwen2.
在 Build Small Hackathon,有人用 Qwen2.5-3B 跑了五隻林地生物組成的多代理經濟體,讓牠們交易五種商品、積累財富、觸發泡沫與貧富分化。推論後端是 vLLM on Modal,前端是 Gradio 介面。這是一份工程實戰報告,核心命題不是「小模型也能做到」,而是「這個任務本來就只能用小模型做」。
小是設計決定,不是妥協
即時多代理模擬的結構決定了工具選擇:每個 tick,五隻生物要各自完成一輪完整決策。Frontier 模型在這裡是錯誤的工具,延遲與成本讓整個模擬直接無法運轉。3B 模型讓每隻生物以單次批次 GPU 呼叫完成決策,速度與成本才能支撐即時運轉。這看起來意味著,選小模型的理由不是預算限制,而是任務本身的時序結構。
Emergent 行為需要「設計出來」的稀缺
第一版經濟體死在起點:生產超過消費,自給自足,市場清算一次就沉默了。稀缺的工程解法分三層。飲食限制讓每隻生物必須向外購買自己不種的食物;腐敗機制讓囤積有成本,逼出拋售;冬季燃料危機則是最關鍵的設計,全場只有一隻生物能產柴火,而所有生物的燃料需求隨時間上升。結果就是:木柴生產者致富,其他生物競搶溫暖,貧富分化從機制裡長出來。泡沫與崩盤不是算法的副產品,是機制設計的直接輸出。
格式可靠 ≠ 判斷可靠
稀缺上線後,最誠實的小模型問題才浮現。3B 在 100% 的呼叫中都吐出合法 JSON,格式從不出錯。但經濟判斷很差:生產橡實的生物會掛單買橡實,花錢購買自己最不缺的東西。作者的修法不是換大模型,而是磨 prompt:明確告知 agent 它生產什麼、哪些商品絕對不能買、算出當前短缺清單、給出一個完整的決策範例。改完之後決策品質跳升,生物開始按角色分工交易。
對做小模型 agent 的團隊,這個教訓的遷移性很高:你的 3B 或 7B agent 格式或許從不出包,但它對自身狀態的推理能力很可能遠比你預期的弱。槓桿在 prompt 設計(把推理工作移出模型,直接給它結論所需的輸入)與機制設計(讓系統結構本身逼出目標行為)。格式服從只是起點,不是終點。
