目錄
1 分鐘閱讀

設計多智能體系統時真正幫到我嘅一篇文章

編排模式、通訊方式、記憶體管理、生產環境注意事項 - 設計多智能體系統時遇到嘅所有困惑,呢篇文章幾乎都解答咗。

最近團隊喺度設計智能體系統。單個智能體已經有咗一定嘅掌握,但要將多個串埋一齊時,先發現要考慮嘅問題遠比想像中多。

用咩結構嚟編排?通訊點做?記憶體點管理?

後來搵到 Rohit Ghumare 寫嘅一篇文章,幾乎將我糾結嘅問題都釐清晒,同大家分享下。亦附上咗我自己嘅實戰經驗。

點解要用多智能體

之前嘅文章入面都提過,多智能體並唔係永遠都係最佳解。但上年一整年,我喺單智能體嘅上下文管理上反覆踩坑。

核心問題係:單智能體嘅上下文視窗好快就滿,一滿就容易唔記得上下文。再加上同時處理多個領域時,判斷力會明顯下降。

多智能體可以透過關注點分離嚟解決呢個問題,但代價係引入咗協調開銷。點樣管理呢個開銷先係關鍵,文章對此有好具體嘅討論。

三種編排模式

呢部分最實用。唔係按「邊個更型」嚟分類,而係按**「幾時用邊個」**嚟組織嘅。

監督者模式 (Supervisor)

管理智能體負責任務分解、分配俾工作者、彙總結果。

  • 適合情境:任務可以明確拆分為子任務,或者需要追蹤稽核時
  • 最佳規模:3-8 個工作者
  • 注意:所有決策都經過監督者,容易變成樽頸位

群體模式 (Swarm)

冇中心管理者,智能體之間 P2P 直接通訊,自主組織。

  • 適合情境:需要多角度分析,或即時回應好重要時
  • 注意:重複工作、無限迴圈、次優收斂嘅風險。除錯非常困難

階層模式 (Hierarchical)

監督者模式嘅遞迴擴展。頂層 → 中層管理者 → 工作者嘅多層結構。

  • 適合情境:智能體 10 個以上,需要分離策略同戰術時
  • 注意:每增加一個協調層,token 成本急劇上升

從個人實踐嚟睇,監督者模式係最穩定嘅。關鍵在於工作者分配嘅效率同錯誤處理 - 做得唔好嘅話,管理智能體本身就會變成故障點。

智能體之間嘅通訊方式

如果話編排模式決定咗結構,噉通訊方式就決定咗資訊喺智能體之間實際點樣流動。

  • 共享狀態 (Shared State):所有智能體讀寫同一個狀態物件。實作簡單,除錯方便。大多數情況由呢度開始就夠
  • 訊息傳遞 (Message Passing):透過事件匯流排進行非同步通訊。需要智能體之間保持鬆耦合時用
  • 交接 (Handoff):智能體之間明確傳遞接力棒同上下文。適合固定順序嘅管線

多智能體嘅記憶體架構

核心問題好直接:*點樣喺共享狀態嘅同時避免衝突?*文章畀咗三種模式。

基於工作階段嘅記憶體 (Session-Based)

每個智能體喺隔離嘅本地狀態入面工作,完成後將變更合併到共享記憶體。

  • 適合情境:平行工作者需要獨立工作互不干擾時
  • 運作方式:工作階段開始時攞共享狀態快照,喺本地工作 → 工作階段結束時只合併差異
  • 優勢:無衝突嘅平行處理

視窗記憶體 (Window Memory)

滑動視窗只保留最近 N 次互動,舊嘅內容壓縮為摘要。

  • 適合情境:長對話入面需要保持上下文同時控制 token 消耗時
  • 運作方式:視窗溢出時,將最舊嘅 1/3 壓縮為摘要
  • 優勢:解決狀態無限增長嘅問題

情節記憶 (Episodic Memory)

儲存特定智能體組合嘅歷史協作紀錄同結果,用嚟學習優化。

  • 適合情境:經常協作嘅智能體需要根據過去經驗進行改進時
  • 運作方式:記錄邊啲智能體組合喺邊啲任務上成功或失敗
  • 優勢:可以做出「上次呢個組合效果好,再用多次」噉嘅決策

生產環境注意事項

Token 成本

  • 監督者 + 4 個工作者:分解 1K + 工作者 12K + 彙總 2K = 約 15K token
  • 同一個任務用單智能體大約 4K。協調成本接近 4 倍
  • 優化:快取監督者指令,工作者輸出用結構化資料,按需呼叫

延遲

  • 每次 LLM 呼叫 2-5 秒,4 個智能體串列 12 秒,平行 3-4 秒
  • 獨立任務一定要平行化

錯誤傳播防護

  • 逾時:每一層都必須設定
  • 熔斷器:連續失敗 N 次後停止呼叫該智能體
  • 優雅降級:部分智能體唔可用時核心功能仍然運作
  • 狀態隔離:工作者失敗唔可以污染共享狀態

睇唔到就整唔到。監控由第一日起就係必需品。

應該避免嘅反模式

  • 過度編排:將本來可以獨立運行嘅智能體強行串聯
  • 萬能智能體:一個做晒所有嘢,噉多智能體就冇意義
  • 忽視成本:唔做 token 監控就上線,睇到帳單先嚇親
  • 冇降級方案:假設所有智能體都永遠可用

總結

文章嘅結論最打動我:

先做一個智能體 → 搵到樽頸位 → 喺樽頸位加第二個智能體 → 需要嘅話加監督者 → 重複。

我一開始都係用階層模式做咗個宏大設計,最後簡化成監督者 + 3 個工作者。先將兩個智能體嘅穩定協作跑通,再向上擴展,呢個先係正確嘅路徑。

如果你喺度考慮多智能體系統,推薦讀下原文。

原文:Building Effective Multi-Agent Systems

訂閱通訊

獲取關於我最新項目、文章同埋 AI 和 Web 開發實驗嘅更新。