(點擊上方圖片觀看本課程影片)
一旦開始著手涉及多代理的專案,就需要考慮多代理設計模式。然而,什麼時候轉換成多代理以及其優點可能不會立即清楚。
在本課程中,我們希望回答以下問題:
完成本課後,你應該能夠:
更大的圖像是什麼?
多代理是一種設計模式,可讓多個代理協同工作以實現共同目標。
此模式廣泛應用於多個領域,包括機器人技術、自主系統和分散式計算。
那麼哪些情況適合使用多代理呢?答案是:許多場景下使用多代理特別有利,尤其是在以下情況:
單一代理系統或許能應付簡單任務,但對於更複雜的任務,使用多代理可帶來多項優勢:
以訂行程為例,單一代理需處理從尋找航班、訂飯店到租車等所有流程。這會使系統複雜且難以維護和擴展。相反地,多代理系統可讓不同代理專職尋找航班、訂飯店與租車,使系統更模組化、更易維護與擴展。
可將此比喻為由夫妻店經營與加盟連鎖的旅行社。夫妻店由單一代理負責行程所有面向,加盟連鎖則由不同代理分工負責不同面向。
在實作多代理設計模式前,需瞭解模式的基本構建模組。
再以訂行程為例,構建模組包含:
能看見多代理間的互動非常重要,這有助於除錯、優化並確保整體系統效能。為此,你需導入工具與技術以追蹤代理活動與互動,如日誌監控工具、視覺化工具及效能指標。
以訂行程為例,系統可有一個儀表板顯示各代理狀態、使用者偏好與限制以及代理間互動,儀表板展示旅行日期、航班代理推薦的航班、飯店代理推薦的飯店與租車代理推薦的車輛,讓你清楚看見代理間互動以及是否符合使用者偏好與限制。
讓我們進一步細談每個層面。
日誌與監控工具:需為代理所採取的每個行動做日誌記錄。日誌可涵蓋執行該行動的代理、行動內容、行動時間與結果。這些資訊可用於除錯、優化等。
視覺化工具:視覺化工具可以更直觀地反映代理間互動,例如建立展示代理間資訊流動的圖表,有助於識別瓶頸、效率問題與系統其他問題。
效能指標:效能指標能協助追蹤多代理系統效能,例如追蹤完成任務所花時間、單位時間完成任務數及代理推薦準確度,有助於辨識改進空間並優化系統。
接下來探討一些實作多代理應用的具體模式,以下是值得關注的模式:
當你想建立一個多代理能互相通訊的群聊應用時,此模式很有用。典型使用案例包括團隊協作、客戶支持和社交網絡。
在此模式中,每個代理代表群聊中的一位用戶,透過消息協議在代理間交換訊息。代理能發送、接收群聊訊息,並回應其他代理的訊息。
此模式可用集中式架構實現,由中央伺服器中轉所有訊息,或以分散式架構,讓訊息直接在代理間交換。

當想建立一個多代理能將任務交接給彼此的應用時,此模式非常有用。
典型使用案例包括客戶支持、任務管理與工作流程自動化。
在此模式中,每個代理代表一個任務或工作流程的一個步驟,代理可依預定規則將任務交接給其他代理。

當你想建立一個多代理能協同合作給用戶推薦的應用時,此模式非常有用。
你需多個代理協同合作的原因是各代理擁有不同專長,能分別以不同方式貢獻推薦過程。
舉例來說,一位用戶想要獲得股市最佳買股建議。

考慮一個顧客申請產品退款的情境,整個過程可能有許多代理參與,我們將特定於退款流程的代理與可用於其他流程的一般代理分開。
特定於退款流程的代理:
以下為可能參與退款流程的部分代理:
一般代理:
這類代理可供你業務中其他部分使用。
前述列出的代理數量頗多,包括特定於退款流程的代理與可用於業務其他部分的一般代理。希望這能幫助你了解如何決定在多代理系統中使用哪些代理。
設計一個客戶支持流程的多代理系統。辨識流程中涉及的代理,其角色和責任,以及他們之間的互動方式。考慮既有特定於客戶支持流程的代理,也有可應用於業務其他部分的一般代理。
在閱讀以下解決方案前,先思考一下,你可能需要的代理人比想像中多。
提示:思考客戶支援流程的不同階段,也要考慮任何系統所需的代理人數量。
下列哪種情境最適合多代理人系統?
何時單一代理人通常是較佳選擇?
在本課程中,我們探討了多代理人設計模式,包括多代理人適用的場景、使用多代理人優於單一代理人的優勢、實作多代理人設計模式的構成要素,以及如何了解多個代理人彼此互動的情形。
加入 Microsoft Foundry Discord,與其他學習者交流,參加開放時間並解決你的 AI 代理人相關問題。
免責聲明: 此文件已使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們努力追求準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用此翻譯所產生的任何誤解或誤譯承擔責任。