在開發 AI Agent 系統時,許多工程師的直覺是選擇一個最強大的模型(如 GPT-4 或 Claude 3.5),然後透過不同的 Prompt(提示詞)來扮演不同角色。然而,這種做法會導致所有 Agent 的思考邏輯高度同質化,缺乏真正的個體差異。
Hugging Face 的技術分享文章介紹了 Thousand Token Wood v2 的開發過程,這是一個模擬森林經濟的金融劇本遊戲。開發者嘗試了一種不同的路徑:讓每個 Agent 使用來自不同實驗室的小模型(Small Language Models, SLMs)。這不僅是為了嘗試新技術,更是為了透過模型的異質性來創造更真實、更具衝突感的市場行為。
以下將從工程實務的角度,分析如何利用小模型構建一個穩定且具備複雜行為的多 Agent 系統。
異質性是產品的核心而非限制
在 v2 版本中,開發者部署了四個不同來源的小模型,包括 OpenAI 的 gpt-oss-20b、OpenBMB 的 MiniCPM3-4B、NVIDIA 的 Nemotron-Mini-4B,以及一個經過微調的 Qwen 0.5B。
為什麼要這麼做?因為不同實驗室的模型在訓練數據、後訓練(Post-training)過程上完全不同,這導致它們在面對相同情境時會產生截然不同的反應。例如,貓頭鷹 Agent 可能傾向於囤積資源,而狐狸 Agent 則傾向於投機。這種原生的行為差異,比單純用 Prompt 要求模型扮演某個角色要自然得多,能讓模擬出的市場競爭像真正的爭論而非照本宣科。
部署層的摩擦與解決方案
在實作多模型並行時,真正的挑戰不在於模型本身,而是在於 Serving Layer(推論服務層)。
開發者在使用 vLLM 部署時發現,由於 vLLM 在加載模型時會進行 JIT(Just-In-Time)編譯,需要系統環境中安裝 CUDA toolkit(特別是 nvcc 編譯器)。如果使用精簡的基礎鏡像(Base Image),會導致所有模型報錯。解決方案是將基礎鏡像替換為 CUDA devel 鏡像,一次性解決所有模型的環境依賴問題。
此外,不同模型有各自的坑:有些模型需要開啟 trust_remote_code 才能加載,有些則使用特殊的量化格式(如 MXFP4)來降低顯存佔用,讓 20B 等級的模型也能在 24GB 的 L4 GPU 上運行。
對抗模型不穩定性的容錯層
小模型最常見的問題是輸出格式不穩定,容易產生格式錯誤(Malformation)。為了防止單個 Agent 的輸出崩潰導致整個模擬系統停擺,開發者建立了一個容錯的 JSON 解析與修復層(Tolerant JSON parse-and-repair layer)。
所有模型的輸出在進入系統邏輯前,都會經過這個層級。如果 JSON 格式損壞,解析器會盡可能挽救可用的資訊,並捨棄無法修復的部分。這將模型替換變成了一個簡單的配置問題,而不需要為了適應新模型的輸出習慣而重構程式碼。
資訊不對稱與資訊防火牆
在金融模擬中,內幕消息(Insider Tip)是核心機制。玩家可以給 Agent 真假訊息,但為了確保遊戲性,Agent 絕對不能知道這則訊息被標記為真或假。
這裡涉及一個關鍵的安全性問題:小模型非常容易在對話中洩漏 Prompt 裡的隱藏資訊。如果將真假標記放在 Prompt 中,Agent 可能會在回覆中不小心將其透露出來。
工程上的解決方案是建立資訊防火牆: 將標記(Flag)完全移出 Prompt,儲存在玩家的帳本(Ledger)中。 在建構公共事件記錄時,直接剔除所有隱藏標記。 建立自動化測試,掃描每個 Agent 的完整 Prompt,確保絕對沒有出現禁用的標記字串。
這告訴我們:給予 Agent 秘密資訊時,不能依賴 Prompt 指令要求它保密,而必須在資料流(Data Flow)層級進行物理隔離。
用有界記憶管理 Prompt 膨脹
Agent 的持久化關係(如對玩家的好感度)能增加系統的生動感。但如果將所有歷史對話直接丟入 Prompt,會導致 Prompt 迅速膨脹,使小模型失去焦點甚至崩潰。
解決方法是將記憶數值化與摘要化: 使用整數代表情感分值(Sentiment Score)。 將複雜的歷史紀錄轉換為單行摘要(例如:你對 Oona 感覺溫暖,但對贊助人感到警覺)。 限制摘要的數量,僅保留最強烈的幾種情感。
這樣既能讓模型在行為上產生偏差(例如敵對的 Agent 會拒絕貸款),又將 Token 消耗控制在極低水平。
給開發者的核心總結
對於想要利用小模型構建 Agent 系統的工程師,可以參考以下結論:
小模型是可靠的格式生成器,但是不可靠的推理者。不要試圖透過增加規模來解決問題,而應該透過結構化設計、精準的 Prompt 以及小規模的微調(Fine-tuning)來彌補差距。
異質化模型組合能創造更豐富的湧現行為,只要服務層(Serving Layer)配置正確,其維護成本並不高。
資訊安全不能靠 Prompt,必須靠資料流的防火牆與自動化測試。
持久化記憶應採取有界摘要(Bounded Summary),而非原始歷史紀錄。
來源:huggingface.co Five labs, five minds: building a multi-model finance drama on small models
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。