(點擊上方圖片觀看本課程影片)
當你開始著手一個涉及多個代理的專案時,就必須考慮多代理設計模式。然而,何時切換到多代理,以及其優勢為何,可能不會立即明朗。
在本課程中,我們將嘗試回答以下問題:
完成本課程後,你應該能夠:
更大的圖景是什麼?
多代理是一種設計模式,允許多個代理共同合作以達成共同目標。
該模式在各種領域廣泛使用,包括機器人技術、自主系統及分散式計算。
那麼,哪些場景適合使用多代理呢?答案是多個場景中使用多代理格外有益,特別是在以下情況:
單一代理系統可用於簡單任務,但對於更複雜任務,使用多代理有幾個優點:
舉一例子,替使用者預訂旅程。單一代理必須處理旅程預訂的所有面向,從尋找航班到預訂飯店與租車。要以單一代理完成,該代理需具備處理所有任務的工具,這將造成難以維護與擴展的複雜且單一龐大系統。反之,多代理系統可由專精尋找航班、預訂飯店和租車的代理分別負責,使系統更模組化、易於維護且具擴展性。
這可比擬於家庭式旅行社與連鎖加盟旅行社。家庭式旅行社由單一代理處理旅程訂位全部事項,而加盟店則由多個代理分別處理不同面向。
在實施多代理設計模式前,你需理解構成該模式的要素。
讓我們再次以為使用者預訂旅程的例子來具體說明。該場景下的構建要素包括:
掌握多個代理彼此如何互動非常重要。此種可視化對於除錯、優化及確保系統整體效能至關重要。為達成此目標,你需使用追蹤代理活動與互動的工具及技術,可能包括紀錄與監控工具、視覺化工具及效能指標。
例如,針對為使用者預訂旅程場景,你可以設置一個顯示每個代理狀態、使用者偏好與限制、代理間互動的儀表板。該儀表板會顯示使用者出行日期、航班代理推薦的航班、飯店代理推薦的飯店及租車代理推薦的租車資訊。讓你能清楚瞭解代理間互動,以及使用者偏好與限制是否被滿足。
讓我們更詳細檢視這些面向:
讓我們來探討幾個可用於創建多代理應用的具體模式。以下是值得考慮的幾種有趣模式:
此模式適用於想建立多個代理可相互通信的群組聊天室應用。典型用途包含團隊協作、客服支援和社群網路。
在此模式中,每個代理代表群組聊天中的一個用戶,透過訊息協議代理彼此交換訊息。代理可以發送訊息進群組、接收來自群組的訊息,並回應其他代理的訊息。
此模式可用中央式架構實現,所有訊息經由中央伺服器轉送,或是用去中心化架構讓代理直接交換訊息。

此模式適用於你想建立多個代理可相互交接任務的應用。
典型用途有客服支持、任務管理與工作流程自動化。
在此模式中,每個代理代表工作流程中的任務或步驟,代理可依預定規則將任務交給其他代理。

此模式適用於想建立多代理共同協作給予使用者推薦的應用。
多代理協作的原因是每個代理擁有不同專長,能以多種方式為推薦過程貢獻。
舉例,使用者想知道股市上最適合買進的股票。

考慮一個顧客申請商品退款的場景,這過程中可能涉及許多代理,我們將其劃分為特定退款流程的代理,以及可用於其他流程的一般代理。
退款流程專屬代理:
以下為可能涉入退款流程的代理:
一般代理:
這些代理可應用於企業其他部分流程。
以上羅列了相當多的代理,包括專屬退款流程的以及可以用於企業其他部分的一般代理。希望這能幫助你理解如何決定在多代理系統中使用哪些代理。
設計一套多代理系統以支持客服流程。識別參與此流程的代理、其角色職責,以及它們如何相互作用。考慮同時包含專屬客服流程的代理與可用於企業其他部分的一般代理。
請在閱讀以下解決方案之前先思考一下,您可能需要比想像中更多的代理人。
TIP:思考客戶支援流程的不同階段,並且也要考慮系統所需的代理人數量。
Question: 什麼時候應該考慮使用多代理人?
在本課程中,我們探討了多代理人設計模式,包括適用多代理人的情況、使用多代理人相較於單一代理人的優勢、實作多代理人設計模式的基本構件,以及如何監控多個代理人彼此互動的情況。
加入 Microsoft Foundry Discord,與其他學習者交流、參加辦公時間並解答您的 AI 代理人相關問題。
免責聲明:
本文件係使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們力求準確,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件之母語版本應視為權威資訊來源。對於重要資訊,建議採用專業人工翻譯。我們不對因使用本翻譯所產生之任何誤解或誤譯承擔任何責任。