ai-agents-for-beginners

多代理設計

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

多代理設計模式

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

介紹

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

學習目標

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

更大的圖像是什麼?

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

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

適用多代理的場景

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

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

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

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

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

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

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

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

多代理互動能見度

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

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

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

多代理模式

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

群聊

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

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

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

群聊

任務交接

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

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

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

任務交接

協同過濾

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

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

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

推薦

範例場景:退款流程

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

特定於退款流程的代理

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

一般代理

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

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

作業

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

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

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

解決方案

解決方案

知識檢測

問題 1

下列哪種情境最適合多代理人系統?

問題 2

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

解決方案小測驗

總結

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

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

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

額外資源

前一課

規劃設計

下一課

AI 代理人的元認知


免責聲明: 此文件已使用 AI 翻譯服務 Co-op Translator 進行翻譯。雖然我們努力追求準確性,但請注意自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用此翻譯所產生的任何誤解或誤譯承擔責任。