Module 4 - Workflow, Agent 與 MCP

Multi-Agent 系統

Microsoft - AI Agents for Beginners MIT GitHub 同步於 2026-09-23

多代理設計模式

一旦開始著手涉及多代理的專案,就需要考慮多代理設計模式。然而,什麼時候轉換成多代理以及其優點可能不會立即清楚。

介紹

在本課程中,我們希望回答以下問題:

  • 多代理適用於哪些場景?
  • 使用多代理相比於單一代理執行多重任務有哪些優勢?
  • 實現多代理設計模式的構建模組是什麼?
  • 如何能夠看到多個代理間的互動情況?

學習目標

完成本課後,你應該能夠:

  • 辨識多代理適用的場景
  • 了解使用多代理相較於單一代理的優勢
  • 理解實現多代理設計模式的構建模組

更大的圖像是什麼?

多代理是一種設計模式,可讓多個代理協同工作以實現共同目標

此模式廣泛應用於多個領域,包括機器人技術、自主系統和分散式計算。

適用多代理的場景

那麼哪些情況適合使用多代理呢?答案是:許多場景下使用多代理特別有利,尤其是在以下情況:

  • 龐大工作量:龐大的工作量可以分解成較小任務,分配給不同代理,允許並行處理且更快速完成。例如大型資料處理任務。
  • 複雜任務:複雜任務如龐大工作量類似,能拆分成多個子任務,分配給專精於特定面向的代理。例如在自動駕駛車中,不同代理分別管理導航、障礙物偵測及與其他車輛的通訊。
  • 多元專長:不同代理擁有不同領域的專長,使其能比單一代理更有效率地處理任務的不同面向。例如在醫療領域,代理可以負責診斷、治療計劃及病患監控。

使用多代理相較單代理的優勢

單一代理系統或許能應付簡單任務,但對於更複雜的任務,使用多代理可帶來多項優勢:

  • 專精化:每個代理可專注特定任務,缺乏專精的單一代理可能會對複雜任務感到困惑,甚至執行其不適合的任務。
  • 可擴展性:比起讓一個代理負荷過重,增加更多代理較易擴展系統。
  • 容錯性:當一個代理失效,其他代理仍可正常運作,確保系統穩定。

以訂行程為例,單一代理需處理從尋找航班、訂飯店到租車等所有流程。這會使系統複雜且難以維護和擴展。相反地,多代理系統可讓不同代理專職尋找航班、訂飯店與租車,使系統更模組化、更易維護與擴展。

可將此比喻為由夫妻店經營與加盟連鎖的旅行社。夫妻店由單一代理負責行程所有面向,加盟連鎖則由不同代理分工負責不同面向。

實作多代理設計模式的構建模組

在實作多代理設計模式前,需瞭解模式的基本構建模組。

再以訂行程為例,構建模組包含:

  • 代理間通訊:尋找航班、訂飯店與租車的代理須溝通並分享使用者偏好與限制。你需決定通訊協議與方式。具體而言,尋找航班的代理需與訂飯店的代理溝通以確保飯店須訂於航班相同日期。表示代理需分享使用者的旅行日期,需決定哪些代理分享資訊與如何分享
  • 協調機制:代理間須協調行動以符合使用者偏好與限制。使用者偏好可能是飯店需靠近機場,限制則是租車僅於機場可取車。表示訂飯店代理需與租車代理協調以符合偏好與限制,需決定代理如何協調行動
  • 代理架構:代理須擁有內部結構以決策並從與使用者互動中學習。尋找航班代理需擁有決策結構以推薦合適航班,須決定代理如何決策並從使用者互動學習。例如尋找航班代理可用機器學習模型,根據過去偏好推薦航班給使用者。
  • 多代理互動能見度:需能看見多個代理間的互動,這對除錯、優化與確保系統效能非常重要。你需導入工具與技術追蹤代理活動與互動,可為日誌監控工具、視覺化工具及效能指標。
  • 多代理模式:多代理系統有不同實作模式,如集中式、分散式與混合架構。需依使用案例決定最適合的模式。
  • 人類介入:多數情況下會有人類介入,需指示代理何時請求人工介入,例如使用者請求未被代理推薦的特定飯店或航班,或訂單前要求確認。

多代理互動能見度

能看見多代理間的互動非常重要,這有助於除錯、優化並確保整體系統效能。為此,你需導入工具與技術以追蹤代理活動與互動,如日誌監控工具、視覺化工具及效能指標。

以訂行程為例,系統可有一個儀表板顯示各代理狀態、使用者偏好與限制以及代理間互動,儀表板展示旅行日期、航班代理推薦的航班、飯店代理推薦的飯店與租車代理推薦的車輛,讓你清楚看見代理間互動以及是否符合使用者偏好與限制。

讓我們進一步細談每個層面。

  • 日誌與監控工具:需為代理所採取的每個行動做日誌記錄。日誌可涵蓋執行該行動的代理、行動內容、行動時間與結果。這些資訊可用於除錯、優化等。

  • 視覺化工具:視覺化工具可以更直觀地反映代理間互動,例如建立展示代理間資訊流動的圖表,有助於識別瓶頸、效率問題與系統其他問題。

  • 效能指標:效能指標能協助追蹤多代理系統效能,例如追蹤完成任務所花時間、單位時間完成任務數及代理推薦準確度,有助於辨識改進空間並優化系統。

多代理模式

接下來探討一些實作多代理應用的具體模式,以下是值得關注的模式:

群聊

當你想建立一個多代理能互相通訊的群聊應用時,此模式很有用。典型使用案例包括團隊協作、客戶支持和社交網絡。

在此模式中,每個代理代表群聊中的一位用戶,透過消息協議在代理間交換訊息。代理能發送、接收群聊訊息,並回應其他代理的訊息。

此模式可用集中式架構實現,由中央伺服器中轉所有訊息,或以分散式架構,讓訊息直接在代理間交換。

任務交接

當想建立一個多代理能將任務交接給彼此的應用時,此模式非常有用。

典型使用案例包括客戶支持、任務管理與工作流程自動化。

在此模式中,每個代理代表一個任務或工作流程的一個步驟,代理可依預定規則將任務交接給其他代理。

協同過濾

當你想建立一個多代理能協同合作給用戶推薦的應用時,此模式非常有用。

你需多個代理協同合作的原因是各代理擁有不同專長,能分別以不同方式貢獻推薦過程。

舉例來說,一位用戶想要獲得股市最佳買股建議。

  • 產業專家:一個代理可專精特定產業。
  • 技術分析:另一代理可專注技術分析。
  • 基本面分析:還有一個代理擅長基本面分析。透過協作,這些代理能為用戶提供更全面的建議。

範例場景:退款流程

考慮一個顧客申請產品退款的情境,整個過程可能有許多代理參與,我們將特定於退款流程的代理與可用於其他流程的一般代理分開。

特定於退款流程的代理

以下為可能參與退款流程的部分代理:

  • 顧客代理:代表顧客,負責啟動退款流程。
  • 賣方代理:代表賣方,負責處理退款。
  • 支付代理:代表支付流程,負責退款給顧客。
  • 處理代理:代表解決流程,負責處理退款過程中出現的問題。
  • 合規代理:代表合規流程,負責確保退款流程符合法規與政策。

一般代理

這類代理可供你業務中其他部分使用。

  • 運送代理:代表運送流程,負責將產品送回給賣方。此代理可同時用於退款流程與其他一般購買商品的運送。
  • 回饋代理:代表收集顧客回饋的流程。回饋不僅限於退款過程,也可能在任何時間進行。
  • 升級代理:代表升級流程,負責將問題升級至更高級別支援。此類代理適用於任何需升級問題的流程。
  • 通知代理:代表通知流程,負責在退款流程的各階段向顧客發送通知。
  • 分析代理:代表分析流程,負責分析與退款流程相關的資料。
  • 稽核代理:代表稽核流程,負責稽核退款流程以確保其正確進行。
  • 報告代理:代表報告流程,負責生成退款流程相關報告。
  • 知識代理:代表知識流程,負責維護與退款流程相關的知識庫。此代理對退款及業務其他部分均具知識。
  • 安全代理:代表安全流程,負責確保退款流程的安全。
  • 品質代理:代表品質流程,負責確保退款流程的品質。

前述列出的代理數量頗多,包括特定於退款流程的代理與可用於業務其他部分的一般代理。希望這能幫助你了解如何決定在多代理系統中使用哪些代理。

作業

設計一個客戶支持流程的多代理系統。辨識流程中涉及的代理,其角色和責任,以及他們之間的互動方式。考慮既有特定於客戶支持流程的代理,也有可應用於業務其他部分的一般代理。

在閱讀以下解決方案前,先思考一下,你可能需要的代理人比想像中多。

提示:思考客戶支援流程的不同階段,也要考慮任何系統所需的代理人數量。

解決方案

解決方案

總結

在本課程中,我們探討了多代理人設計模式,包括多代理人適用的場景、使用多代理人優於單一代理人的優勢、實作多代理人設計模式的構成要素,以及如何了解多個代理人彼此互動的情形。

對多代理人設計模式有更多疑問嗎?

加入 Microsoft Foundry Discord,與其他學習者交流,參加開放時間並解決你的 AI 代理人相關問題。

額外資源

前一課

規劃設計

下一課

AI 代理人的元認知