ai-agents-for-beginners

多代理設計

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

多代理設計模式

一旦你開始從事涉及多代理的專案,你就需要考慮多代理設計模式。然而,何時切換到多代理及其優勢可能不會立即明顯。

介紹

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

學習目標

課程結束後,你應該能夠:

大局觀是什麼?

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

這種模式廣泛應用於各種領域,包括機器人技術、自主系統和分散式運算。

適用於多代理的場景

那麼哪些場景適合使用多代理?答案是有許多場景中使用多個代理是有益的,特別是在以下情況:

多代理相較於單一代理的優勢

單一代理系統對於簡單任務可能運作良好,但對更複雜的任務,使用多代理可帶來多項優點:

舉例來說,為用戶訂購旅程時,單一代理須處理從找航班到訂飯店和租車的所有流程。為此單一代理需具備處理所有任務的工具,可能導致系統複雜且難以維護與擴展。相較之下,多代理系統可設有專門尋找航班、訂飯店及租車的代理,使系統更模組化、易於維護且具可擴展性。

將此與由夫妻小店經營的旅行社與特許經營的旅行社相比較。夫妻小店由單一代理處理所有訂旅程事務,而特許經營則由不同代理負責各部分業務。

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

在實現多代理設計模式前,你需要了解組成該模式的構建模組。

再次以為使用者訂旅程為例,構建模組包含:

觀看多代理間互動情況

能察看多代理間互動很重要。這種可視化對除錯、優化及確保系統整體效能絕對不可或缺。為此,需要追蹤代理活動與互動的工具與方法,如記錄與監控工具、視覺化工具及效能指標。

舉例為為使用者訂旅程,你可有一介面展示各代理狀態、使用者偏好與限制、代理間互動。介面展示使用者旅遊日期、航班代理推薦航班、飯店代理推薦飯店及租車代理推薦租車狀況。這提供清晰視圖,了解代理間互動及使用者條件是否被滿足。

接著讓我們更詳細看這些方面。

多代理模式

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

群組聊天

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

在此模式中,每個代理代表群組中的一使用者,並利用訊息協定在代理間交換訊息。代理能向群組聊天發送訊息、接收訊息並回應其他代理訊息。

此模式可用集中式架構實現,所有訊息通過中央伺服器路由,或去中心化架構,代理間直送訊息。

群組聊天

任務交接

當你想建立多代理能彼此交接任務的應用時,此模式很有用。

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

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

任務交接

協同過濾

當你想建立多代理能合作為用戶提供推薦的應用,此模式很有用。

多代理合作的原因在於每個代理擁有不同專長,可從不同角度為推薦過程做出貢獻。

例如用戶想要股票市場最佳買股推薦:

推薦

場景:退款流程

假設有一客戶嘗試退款,過程中可能涉及多個代理,讓我們把代理分為專門處理退款流程的代理和可用於其他流程的一般代理。

專門用於退款流程的代理

以下是可能參與退款流程的一些代理:

一般代理

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

前述列出不少代理,既有退款流程專用者,也有可用於業務其他部分的一般代理。希望這能讓你對如何決定多代理系統中應用哪些代理有所啟發。

作業

設計一個用於客戶支援流程的多代理系統。識別流程中涉及的代理、其角色與責任,及代理間如何互動。請同時考慮客戶支援流程專用代理與可用於業務其他部分的一般代理。

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

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

解決方案

解決方案

知識檢測

問題 1

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

問題 2

什麼時候通常單一代理是較佳選擇?

解答測驗

小結

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

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

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

額外資源

上一課

規劃設計

下一課

AI 代理的後設認知


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