> Discover all available pages from the documentation index: https://mastra.zisheng.pro/zh-TW/llms.txt # 多 Agent 系統 多 Agent 系統會將一項任務分配給多個 Agent,而不是要求單一 Agent 完成所有工作。在 Mastra 中,這通常表示組合 Agent、Workflow 或兩者,讓系統的每個部分都有明確角色。 目標是將正確的上下文、Tool 與責任指派給合適的元件。當分工明確時,多 Agent 系統會比承擔冗長提示詞、過多 Tool 或責任的單一 Agent 更容易理解與推理。 ## 何時使用多 Agent 系統 當單一 Agent 已不再適合作為工作的邊界時,請使用多 Agent 系統。 以下情況通常適合使用: - 任務涵蓋研究、規劃、寫作或審查等不同類型的工作。 - 單一 Agent 需要過多上下文或太多 Tool。 - 任務的部分工作應平行執行。 - 不同階段需要不同的提示詞、模型或防護機制。 - 你希望路由、執行與統整之間有明確界線。 可行時先從單一 Agent 開始。只有在額外結構能明確改善品質、速度或可靠性時,才加入更多 Agent。 當系統需要明確地在元件間劃分上下文、決策與責任時,多 Agent 模式相當實用。實務上的關鍵設計問題,是任務推進時由哪個元件持續掌控流程。 ## 交接 交接模式會將控制權從一個 Agent 移交給另一個 Agent。不同於 supervisor 模式,第一個 Agent 不會在整個任務期間持續負責,而是由目前作用中的專門 Agent 接手下一段互動。 當下一位專門 Agent 應直接繼續互動,而非透過中央協調者回報時,請使用交接。其取捨是上下文管理會變得更重要,因為系統必須決定下一個 Agent 要繼承哪些內容,以及哪些內容仍維持在原有範圍內。 在 Mastra 中,可組合 [Agent](https://mastra.zisheng.pro/zh-TW/docs/agents/overview)、[Workflow](https://mastra.zisheng.pro/zh-TW/docs/workflows/overview) 與 [memory](https://mastra.zisheng.pro/zh-TW/docs/memory/overview) 來實作此模式。Workflow 可以路由任務,但此模式的核心特徵是所有權會移交給下一個 Agent。 ## Workflow Workflow 模式會在程式碼中定義執行路徑。你不必要求 Agent 決定接下來要做什麼,而是透過步驟、分支、迴圈與平行區塊定義順序。 當任務已充分理解,且執行路徑可預先得知時,請使用 Workflow。其主要優點是可預測性:明確的結構讓系統更容易偵錯與稽核。取捨則是彈性,因為任務在執行期間發生變化時,Workflow 的調適能力較低。 在 Mastra 中,[Workflow](https://mastra.zisheng.pro/zh-TW/docs/workflows/overview) 可實作交接與 council 等協調模式。Workflow 的特點在於其控制邏輯位於 Workflow 本身,無論它呼叫哪些 Agent 都不受影響。 ## Supervisor Supervisor 模式會讓一個主導 Agent 在整個任務期間持續掌控流程。Supervisor 會決定何時委派、呼叫哪個專門 Agent、傳遞哪些上下文,以及如何組合結果。 當任務屬於開放式,且無法預先得知完整順序時,請使用此模式。例如,研究任務可能需要根據先前步驟的發現,採取不同的調查方向。Supervisor 能隨任務進展進行調整。 其取捨是 supervisor 會成為主要協調點。這使模式具備彈性,但也表示結果高度取決於良好的委派行為及清楚的子 Agent 邊界。 在 Mastra 中,此模式直接對應至 [supervisor Agent](https://mastra.zisheng.pro/zh-TW/docs/capabilities/subagents)。Supervisor Agent 會在 `agents` 屬性定義子 Agent,並使用 `stream()` 或 `generate()` 進行協調。Mastra 也提供委派 hook、訊息篩選與 memory 隔離,協助控制此模式。 > **提示:** 請依照 [supervisor Agent 教學](https://mastra.zisheng.pro/zh-TW/guides/guide/research-coordinator)逐步操作。 ## Council Council 模式會要求多個 Agent 各自處理同一個問題,再比較或統整其輸出,形成最終答案。Supervisor 會將問題拆分為多個部分,而 council 則讓所有 Agent 共享同一個問題,並針對相同問題提出多種觀點。 當問題模糊、需要評估或風險較高,且答案品質比速度更重要時,請使用此模式。其取捨是成本,因為 council 會刻意重複投入工作,通常比其他模式花費更多時間與 token。 Mastra 並未提供專用的 council primitive。在 Mastra 中,可透過 [Agent](https://mastra.zisheng.pro/zh-TW/docs/agents/overview) 與 [Workflow](https://mastra.zisheng.pro/zh-TW/docs/workflows/overview) 實作此模式:平行執行多個 Agent 並收集其輸出,再加入最終統整或審查步驟。`.parallel()` 等 Workflow 控制流程方法可提供此模式所需的結構。 ## 選擇模式 這些模式的主要差異在於控制權的分配方式: | 模式 | 持續掌控流程的角色 | 適用時機 | 取捨 | Mastra 實作方式 | | ---------------- | ----------- | ------------------ | ---------------- | -------------------------------------------------------------------------------- | | 交接 | 目前的專門 Agent | 所有權應在專門 Agent 之間移交 | 上下文轉移變得更重要 | 結合 Workflow 與 memory 的 Agent | | Workflow | 執行圖 | 路徑可預先得知 | 任務變更時調適能力較低 | [Workflow](https://mastra.zisheng.pro/zh-TW/docs/workflows/overview) | | Supervisor Agent | 一個主導 Agent | 委派方式必須在執行期間調整 | 結果取決於良好的協調與清楚的界線 | [Supervisor Agent](https://mastra.zisheng.pro/zh-TW/docs/capabilities/subagents) | | Council | 最終統整步驟 | 任務需要多個獨立觀點 | 成本與延遲較高 | 搭配 Workflow 平行處理的 Agent | 實務上,這些模式經常組合使用: - Workflow 可包含一個或多個由 supervisor 驅動的步驟。 - 交接流程可從路由 Workflow 開始。 - Council 可在 Workflow 內執行,並將結果傳入最終核准步驟。 - Supervisor 可將內部結構固定的任務委派給 Workflow。 請根據協調問題選擇模式,而非根據任務標籤。