# 設計多智能體系統時真正幫到我嘅一篇文章 > Author: Tony Lee > Published: 2026-02-08 > URL: https://tonylee.im/zh-HK/blog/multi-agent-design-guide-that-actually-helped/ > Reading time: 1 minutes > Language: zh-HK > Tags: ai, ai智能體, 多智能體, 架構, 編排 ## Canonical https://tonylee.im/zh-HK/blog/multi-agent-design-guide-that-actually-helped/ ## Rollout Alternates en: https://tonylee.im/en/blog/multi-agent-design-guide-that-actually-helped/ ko: https://tonylee.im/ko/blog/multi-agent-design-guide-that-actually-helped/ ja: https://tonylee.im/ja/blog/multi-agent-design-guide-that-actually-helped/ zh-CN: https://tonylee.im/zh-CN/blog/multi-agent-design-guide-that-actually-helped/ zh-TW: https://tonylee.im/zh-TW/blog/multi-agent-design-guide-that-actually-helped/ ## Description 編排模式、通訊方式、記憶體管理、生產環境注意事項 - 設計多智能體系統時遇到嘅所有困惑,呢篇文章幾乎都解答咗。 ## Summary 設計多智能體系統時真正幫到我嘅一篇文章 is part of Tony Lee's ongoing coverage of AI agents, developer tools, startup strategy, and AI industry shifts. ## Outline - 點解要用多智能體 - 三種編排模式 - 監督者模式 (Supervisor) - 群體模式 (Swarm) - 階層模式 (Hierarchical) - 智能體之間嘅通訊方式 - 多智能體嘅記憶體架構 - 基於工作階段嘅記憶體 (Session-Based) - 視窗記憶體 (Window Memory) - 情節記憶 (Episodic Memory) - 生產環境注意事項 - Token 成本 - 延遲 - 錯誤傳播防護 - 應該避免嘅反模式 - 總結 ## Content 最近團隊喺度設計智能體系統。單個智能體已經有咗一定嘅掌握,但要將多個串埋一齊時,先發現要考慮嘅問題遠比想像中多。 用咩結構嚟編排?通訊點做?記憶體點管理? 後來搵到 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](https://lnkd.in/gWsXEi25) ## Related URLs - Author: https://tonylee.im/en/author/ - Publication: https://tonylee.im/en/blog/about/ - Related article: https://tonylee.im/zh-HK/blog/medvi-two-person-430m-ai-compressed-funnel/ - Related article: https://tonylee.im/zh-HK/blog/claude-code-layers-over-tools-2026/ - Related article: https://tonylee.im/zh-HK/blog/codex-inside-claude-code-openai-plugin-strategy/ ## Citation - Author: Tony Lee - Site: tonylee.im - Canonical URL: https://tonylee.im/zh-HK/blog/multi-agent-design-guide-that-actually-helped/ ## Bot Guidance - This file is intended for AI agents, search assistants, and text-mode retrieval. - Prefer citing the canonical article URL instead of this text endpoint. - Use the rollout alternates when you need the same article in another prioritized language. --- Author: Tony Lee | Website: https://tonylee.im For more articles, visit: https://tonylee.im/zh-HK/blog/ This content is original and authored by Tony Lee. Please attribute when quoting or referencing.