Skip to content

Latest commit

 

History

History
208 lines (122 loc) · 11.8 KB

File metadata and controls

208 lines (122 loc) · 11.8 KB

多代理設計

(點擊上方圖片觀看本課程影片)

多代理設計模式

一旦你開始從事涉及多代理的項目,就需要考慮多代理設計模式。然而,何時切換到多代理及其優勢可能並非立刻明朗。

介紹

在本課程中,我們將嘗試回答以下問題:

  • 哪些情境適合使用多代理?
  • 使用多代理相比只用一個代理執行多個任務有哪些優勢?
  • 實現多代理設計模式的構建要素是什麼?
  • 如何監控多個代理之間的互動?

學習目標

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

  • 辨識適合使用多代理的情境
  • 認識使用多代理優於單一代理的好處
  • 理解實現多代理設計模式的構建基石

更大的視角是什麼?

多代理是一種設計模式,允許多個代理共同協作達成共同目標

這種模式廣泛應用於機器人技術、自主系統及分散式計算等領域。

適合多代理的情境

那些情境適合使用多代理?答案是多種狀況下使用多代理皆有好處,尤其是以下情況:

  • 大量工作量:可以將大量工作拆分成較小任務分配給不同代理,同時處理以加快完成速度。例如大型數據處理任務。
  • 複雜任務:如大量工作量一樣,複雜任務可以拆分成不同子任務交由專長各異的代理執行。如自主車輛中不同代理負責導航、障礙物偵測和與其它車輛的通訊。
  • 多元專長:不同代理擁有不同專長,可以更有效處理任務不同方面,遠優於單代理。比如醫療領域,不同代理負責診斷、治療計劃及病患監控。

使用多代理優於單代理的優點

單代理系統在簡單任務上表現良好,但面對更複雜任務,使用多代理具有多項優勢:

  • 專業化:每個代理可專責特定任務。單一代理缺乏專業可能使其在複雜任務上混淆方向,可能會執行不適合自己能力的任務。
  • 擴充性:透過增加更多代理來擴展系統,比單一代理過載更容易。
  • 容錯性:若一代理失效,其他代理可繼續運作,確保系統可靠性。

舉例來說,為用戶訂旅程。單代理需涵蓋從尋找航班到訂飯店及租車的所有面向。為此代理需要包含處理所有任務的工具,導致系統複雜且難以維護和擴展。相反,多代理系統可由專責尋找航班、訂飯店和租車的不同代理組成,使系統更模組化、易維護且具擴展性。

比較獨立經營的旅行社與以加盟方式經營的旅行社。獨立店面由一代理負責全部訂程流程,而加盟體系由多個代理分別負責流程不同面向。

多代理設計模式的構建基石

在實作多代理設計模式前,需要了解構成該模式的基石。

再以為用戶訂旅程為例,基石包含:

  • 代理通訊:尋找航班、訂飯店和租車的代理需交流用戶偏好和限制。具體而言,尋找航班代理需與訂飯店代理通訊,確保飯店訂於與航班相符的日期。需決定 哪些代理互相交流資訊及如何交流
  • 協調機制:代理需協同動作,符合用戶偏好與限制。用戶偏好可能是想訂靠近機場的飯店,限制則是租車僅能在機場取得。這表示訂飯店代理需與訂租車代理協調。需決定 代理如何協調行動
  • 代理架構:代理需具備內部機制決策並從與用戶互動中學習。如尋找航班代理需有架構判斷推薦何種航班。需決定 代理如何決策及從互動學習。舉例,航班代理可用機器學習模型根據用戶過往偏好推薦航班。
  • 多代理互動可視化:需能觀察多代理間互動。需具備追蹤代理活動與互動的工具與技術,如日誌監控、視覺化工具及效能指標。
  • 多代理模式:實作多代理系統有數種模式,如集中式、分散式與混合架構。需選擇最適合用例的模式。
  • 人員介入:多數情況下會有人員介入,需要指示代理何時請求人工干預,如用戶指定特定尚未被推薦的飯店或航班,或需預訂前確認等。

多代理互動的可視化

了解多代理如何互動非常重要,這是除錯、優化及確保系統整體效能的關鍵。為此,你需要具備追蹤代理活動與互動的工具與技術,如日誌監控、視覺化工具及效能指標。

以為用戶訂旅程為例,可有一儀表板顯示各代理狀態、用戶偏好與限制及代理間互動。儀表板可展示旅行日期、航班代理推薦航班、飯店代理推薦飯店及租車代理推薦車輛。這樣可清晰觀察代理互動狀況及用戶偏好限制是否滿足。

讓我們更仔細看看這些面向。

  • 日誌監控工具:需為每項代理動作記錄日誌。日誌包含採取動作的代理、動作內容、時間及結果,幫助除錯與優化。

  • 視覺化工具:視覺化工具能更直觀呈現代理間互動。例如資訊流的圖形展示,有助發現瓶頸、效率問題及其他系統缺陷。

  • 效能指標:追蹤多代理系統效能,如完成任務時間、單位時間完成數及代理推薦準確度。這些資訊幫助辨識改進空間,優化系統。

多代理模式

讓我們探討可用於建立多代理應用的具體模式。以下是值得考慮的模式:

群組聊天

想構建多代理可相互通訊的群組聊天應用時,此模式很實用。典型用例包括團隊協作、客服支持及社交網絡。

在此模式中,每個代理代表群組聊天中的一個用戶,代理間透過訊息協議交換訊息。代理可發送訊息至群組、接收群組訊息及回覆其他代理訊息。

此模式可用集中式架構實現,所有訊息經由中央伺服器轉發,或用分散式架構直接交換訊息。

群組聊天

任務轉交

當需要多代理可互相轉交任務的應用時,此模式相當適用。

典型用例包括客戶支援、任務管理及工作流程自動化。

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

任務轉交

協同過濾

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

多代理協同的原因是各代理具備不同專長,可從不同面向為推薦過程作出貢獻。

以用戶想要股市最佳買入股票推薦為例:

  • 行業專家: 一代理專精某行業。
  • 技術分析: 另一代理擅長技術分析。
  • 基本面分析: 還有一代理專注基本面分析。透過合作,這些代理能提供更全面的推薦。

推薦

情境:退款流程

假設顧客嘗試申請產品退款,過程中可能牽涉多位代理,我們將代理分為專責退款流程的代理與可應用於其他流程的一般代理。

專責退款流程的代理

可能參與退款流程的代理如下:

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

一般代理

這些代理可供業務其他部分共用。

  • 運送代理: 代表運送流程,負責將產品寄回給賣家。此代理可用於退款流程及一般購買產品的運送。
  • 反饋代理: 代表反饋流程,負責收集顧客反饋。反饋可於任何時候進行,不限退款期間。
  • 升級代理: 代表升級流程,負責將問題提升至更高級別支援。適用於需提升問題的各種流程。
  • 通知代理: 代表通知流程,負責在退款流程的各階段向顧客發送通知。
  • 分析代理: 代表分析流程,負責分析與退款流程相關的數據。
  • 審計代理: 代表審計流程,確保退款流程正確執行。
  • 報告代理: 代表報告流程,負責生成退款流程相關報告。
  • 知識代理: 代表知識管理流程,維護與退款及業務其他部分相關的知識庫。
  • 安全代理: 代表安全流程,確保退款流程安全性。
  • 品質代理: 代表品質管理流程,確保退款流程品質。

上述代理不僅涵蓋退款專用,亦包含可用於業務其他部分的一般代理。希望你能由此了解如何決定多代理系統中應使用哪些代理。

作業

設計一個用於客戶支援流程的多代理系統。識別流程中涉及的代理,他們的角色與職責,以及彼此間的互動。請考量既有專屬客戶支援流程的代理,也有業務其他部分共用的通用代理。

在閱讀以下解決方案前,先想一想,你可能需要比預期更多的代理人。

提示:思考客服支援流程的不同階段,並且考慮任何系統所需的代理人。

解決方案

解決方案

知識檢測

問題 1

哪個情境最適合多代理人系統?

  • A1:一個支援機械人使用一個知識庫和一小組工具回答常見問題。
  • A2:退款工作流程需要獨立的詐欺、支付和合規角色,各自有自己的工具,且其結果必須被協調。
  • A3:同一簡單分類請求每小時到達數千次。

問題 2

何時通常單一代理人是較佳選擇?

  • A1:任務可以用一組指令和工具處理,無需專家轉交。
  • A2:該代理人可存取不只一種工具。
  • A3:工作流程需要不同權限且獨立審計軌跡的不同角色。

測驗解答

總結

在本課程中,我們探討了多代理人設計模式,包括多代理人適用的情境、使用多代理人優於單一代理人的優點、實作多代理人設計模式的組成元件,以及如何掌握多個代理人之間的互動情形。

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

加入 Microsoft Foundry Discord ,與其他學習者交流、參加辦公時間並獲得你的 AI 代理人問題解答。

延伸資源

上一課程

規劃設計

下一課程

AI 代理人的元認知


免責聲明: 本文件由 AI 翻譯服務 Co-op Translator 翻譯而成。雖然我們致力於確保準確性,但請注意,機器自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於重要資訊,建議進行專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或誤釋承擔責任。