多代理系統(Multi-Agent Systems)的核心不是「多」,而是「分工與協調」:把一個大任務拆給多個各有角色、各有工具的代理去做,再由一個編排層(orchestration)決定誰先做、誰接手、結果怎麼彙整。昨天談單一 AI Agent 如何靠工具呼叫完成任務,今天要處理的問題是——當一個代理裝不下整個任務,該怎麼讓多個代理協作而不互相拖累。

📖 學

三種常見編排模式

  • Orchestrator–Worker(編排者—工人):一個 lead agent 負責規劃與拆解,把子任務丟給多個 worker 子代理「平行」執行,最後自己彙整。Anthropic 的研究系統就是這個結構,適合可切成互相獨立分支的任務(例如同時查多個主題)。
  • Planner–Executor(規劃者—執行者):先由 planner 產出一份步驟計畫,再交給 executor 逐步執行;計畫與執行分離,好處是可以先檢查計畫合不合理,再花錢去跑。
  • Debate / 辯論:讓多個代理針對同一問題各自提案、互相反駁,再由裁判代理(judge)收斂。這在需要提高正確率、減少單一模型偏誤時有用,但成本最高。

角色分工與訊息傳遞

每個子代理通常被賦予明確 persona(角色)、可用工具、以及一段具體任務,避免「什麼都要做」。代理之間靠**訊息傳遞(message passing)溝通:可能是 orchestrator 明確「handoff」把控制權連同上下文轉交給另一個代理(OpenAI Agents SDK 的核心抽象就是 handoff),也可能透過共享記憶(shared memory / scratchpad)**寫入中間結果讓彼此讀取。關鍵在於:傳過去的到底是「完整對話」還是「壓縮過的摘要」——這直接決定成本與準確度。

框架概念地圖

  • LangGraph:用「圖(graph)」描述狀態與節點流轉,可做審計軌跡與回滾點,是 2026 年企業級生產部署最主流的選擇。
  • CrewAI:以 role-based「crew(團隊)」為心智模型,做原型(prototype)最快,但生產環境的可觀測性與錯誤復原較弱。
  • AutoGen(Microsoft):在研究與學術圈成熟,擅長多代理辯論與驗證模式。
  • OpenAI Agents SDK:取代早期實驗性的 Swarm,核心是 handoff:代理間顯式交接控制權並帶著上下文過去。

失敗模式(比模式本身更該記)

  • 上下文爆炸(context explosion):每多一個代理、每一輪訊息,token 都在疊加。多代理系統的 token 消耗可達一般對話的約 15 倍。
  • 責任分散 / 協調失靈:早期常見「為簡單問題狂生子代理」「重複搜尋」「彼此不同步」,導致結果矛盾或漏掉關鍵。
  • 成本與延遲暴增:平行代理雖快,但總花費與 debug 難度都上升;出錯時很難定位是哪個代理、哪一步壞掉。

何時「多代理」反而不如「單代理 + 好工具」

當任務是緊密相依(tightly interdependent)、需要共享同一份上下文時——例如同一個功能的規劃、實作、測試——多代理會因為上下文切不乾淨而變糟,這類「同一件事的連續階段」用單一代理更好。多代理真正的甜蜜點是:任務能切成平行、彼此獨立的分支,而且成果價值大到值得多花那 15 倍成本。原則是:先用最簡單能動的做法,有證據支持再加複雜度。

🧠 記

  • 多代理的價值來自「可平行、可獨立」的拆分,不是代理數量。
  • 三模式:orchestrator–worker(平行分工)、planner–executor(先計畫後執行)、debate(多方辯論收斂)。
  • 溝通兩條路:顯式 handoff(帶上下文交接)與共享記憶(寫/讀 scratchpad)。
  • 傳「摘要」還是「全文」是成本與準確度的關鍵權衡。
  • 三大失敗模式:上下文爆炸、責任分散、成本/延遲暴增(約 15× token)。
  • 緊密相依、共享上下文的連續階段 → 用單一代理 + 好工具,別硬拆。

✍️ 實踐

今天的練習:把一個任務判斷該不該多代理化(約 25 分鐘) 1.(5 分)挑一個你手上真實的任務,寫下它的「輸入 → 產出」。 2.(8 分)畫拆解圖:列出子步驟,並標記每一步是「可平行且獨立」還是「相依於前一步的上下文」。 3.(5 分)套判準:若大多是相依步驟 → 結論是「單代理 + 好工具」;若有明顯可平行的獨立分支 → 才考慮 orchestrator–worker。 4.(5 分)若決定多代理,為每個子代理寫一句話 persona + 明確工具清單 + 單一任務,並註明它要傳回「摘要」還是「原始結果」。 5.(2 分)估算成本直覺:把預期代理數 × 輪數,提醒自己 token 會膨脹,寫下「值不值得」的一句話判斷。

🔗 延伸學習

💬 問 AI

把你今天的拆解圖丟給 AI,請它當「架構審查者」幫你抓過度設計。試試這個提示詞:

我要做一個任務:<用一兩句描述輸入與產出>。
我的初步拆解如下:<貼上你的子步驟,標好哪些可平行、哪些相依>。

請你:
1. 判斷這個任務適合「單代理 + 工具」還是「多代理編排」,說明理由。
2. 若適合多代理,建議用 orchestrator-worker、planner-executor 還是 debate,為什麼。
3. 指出至少兩個可能的失敗模式(上下文爆炸/責任分散/成本暴增)並給緩解方法。
4. 直言我是否在過度設計,最簡可行版本會長怎樣。