跳至主要內容

多 Agent 系統

多 Agent 系統會將一項任務分配給多個 Agent,而不是要求單一 Agent 完成所有工作。在 Mastra 中,這通常表示組合 Agent、Workflow 或兩者,讓系統的每個部分都有明確角色。

目標是將正確的上下文、Tool 與責任指派給合適的元件。當分工明確時,多 Agent 系統會比承擔冗長提示詞、過多 Tool 或責任的單一 Agent 更容易理解與推理。

何時使用多 Agent 系統
「何時使用多 Agent 系統」的直接連結

當單一 Agent 已不再適合作為工作的邊界時,請使用多 Agent 系統。

以下情況通常適合使用:

  • 任務涵蓋研究、規劃、寫作或審查等不同類型的工作。
  • 單一 Agent 需要過多上下文或太多 Tool。
  • 任務的部分工作應平行執行。
  • 不同階段需要不同的提示詞、模型或防護機制。
  • 你希望路由、執行與統整之間有明確界線。

可行時先從單一 Agent 開始。只有在額外結構能明確改善品質、速度或可靠性時,才加入更多 Agent。

當系統需要明確地在元件間劃分上下文、決策與責任時,多 Agent 模式相當實用。實務上的關鍵設計問題,是任務推進時由哪個元件持續掌控流程。

交接
「交接」的直接連結

交接模式會將控制權從一個 Agent 移交給另一個 Agent。不同於 supervisor 模式,第一個 Agent 不會在整個任務期間持續負責,而是由目前作用中的專門 Agent 接手下一段互動。

當下一位專門 Agent 應直接繼續互動,而非透過中央協調者回報時,請使用交接。其取捨是上下文管理會變得更重要,因為系統必須決定下一個 Agent 要繼承哪些內容,以及哪些內容仍維持在原有範圍內。

在 Mastra 中,可組合 AgentWorkflowmemory 來實作此模式。Workflow 可以路由任務,但此模式的核心特徵是所有權會移交給下一個 Agent。

Workflow
「Workflow」的直接連結

Workflow 模式會在程式碼中定義執行路徑。你不必要求 Agent 決定接下來要做什麼,而是透過步驟、分支、迴圈與平行區塊定義順序。

當任務已充分理解,且執行路徑可預先得知時,請使用 Workflow。其主要優點是可預測性:明確的結構讓系統更容易偵錯與稽核。取捨則是彈性,因為任務在執行期間發生變化時,Workflow 的調適能力較低。

在 Mastra 中,Workflow 可實作交接與 council 等協調模式。Workflow 的特點在於其控制邏輯位於 Workflow 本身,無論它呼叫哪些 Agent 都不受影響。

Supervisor
「Supervisor」的直接連結

Supervisor 模式會讓一個主導 Agent 在整個任務期間持續掌控流程。Supervisor 會決定何時委派、呼叫哪個專門 Agent、傳遞哪些上下文,以及如何組合結果。

當任務屬於開放式,且無法預先得知完整順序時,請使用此模式。例如,研究任務可能需要根據先前步驟的發現,採取不同的調查方向。Supervisor 能隨任務進展進行調整。 其取捨是 supervisor 會成為主要協調點。這使模式具備彈性,但也表示結果高度取決於良好的委派行為及清楚的子 Agent 邊界。

在 Mastra 中,此模式直接對應至 supervisor Agent。Supervisor Agent 會在 agents 屬性定義子 Agent,並使用 stream()generate() 進行協調。Mastra 也提供委派 hook、訊息篩選與 memory 隔離,協助控制此模式。

提示

請依照 supervisor Agent 教學逐步操作。

Council
「Council」的直接連結

Council 模式會要求多個 Agent 各自處理同一個問題,再比較或統整其輸出,形成最終答案。Supervisor 會將問題拆分為多個部分,而 council 則讓所有 Agent 共享同一個問題,並針對相同問題提出多種觀點。

當問題模糊、需要評估或風險較高,且答案品質比速度更重要時,請使用此模式。其取捨是成本,因為 council 會刻意重複投入工作,通常比其他模式花費更多時間與 token。

Mastra 並未提供專用的 council primitive。在 Mastra 中,可透過 AgentWorkflow 實作此模式:平行執行多個 Agent 並收集其輸出,再加入最終統整或審查步驟。.parallel() 等 Workflow 控制流程方法可提供此模式所需的結構。

選擇模式
「選擇模式」的直接連結

這些模式的主要差異在於控制權的分配方式:

模式持續掌控流程的角色適用時機取捨Mastra 實作方式
交接目前的專門 Agent所有權應在專門 Agent 之間移交上下文轉移變得更重要結合 Workflow 與 memory 的 Agent
Workflow執行圖路徑可預先得知任務變更時調適能力較低Workflow
Supervisor Agent一個主導 Agent委派方式必須在執行期間調整結果取決於良好的協調與清楚的界線Supervisor Agent
Council最終統整步驟任務需要多個獨立觀點成本與延遲較高搭配 Workflow 平行處理的 Agent

實務上,這些模式經常組合使用:

  • Workflow 可包含一個或多個由 supervisor 驅動的步驟。
  • 交接流程可從路由 Workflow 開始。
  • Council 可在 Workflow 內執行,並將結果傳入最終核准步驟。
  • Supervisor 可將內部結構固定的任務委派給 Workflow。

請根據協調問題選擇模式,而非根據任務標籤。