
(點擊上方圖片觀看本課程教學影片)
多智能體設計模式
當你開始進行一個涉及多個智能體的專案時,就需要考慮多智能體設計模式。然而,什麼時候切換到多智能體系統,以及其優勢為何,可能並不立即明朗。
介紹
在本課程中,我們將嘗試回答以下問題:
- 哪些情境適合使用多智能體?
- 使用多智能體相比於一個單一智能體執行多項任務有什麼優勢?
- 實現多智能體設計模式的組成要素有哪些?
- 我們如何監控多個智能體之間的互動情況?
學習目標
完成本課程後,你應該能夠:
- 辨識適合使用多智能體的場景
- 了解使用多智能體相較於單一智能體的優勢
- 掌握實現多智能體設計模式的組成要素
更宏觀的觀點是?
多智能體是一種設計模式,允許多個智能體合作以達成共同目標。
此模式廣泛應用於多個領域,包括機器人技術、自主系統及分散式運算。
適合使用多智能體的情境
那麼,哪些情境適合使用多智能體呢?多智能體尤其適用於以下幾種場景:
- 龐大工作量:龐大的工作量可拆分為較小任務分配給不同智能體,實現平行處理,提高效率。例子如大型資料處理任務。
- 複雜任務:複雜任務如龐大工作量,可細分為多個子任務,分配給專精特定任務的智能體。例如自駕車系統中,不同智能體分別負責導航、障礙物偵測以及與其他車輛通訊。
- 多元專長:多個智能體具備不同專長,能更有效分工處理任務。例如醫療領域中,有智能體專門負責診斷、治療計劃及病患監控。
使用多智能體相較單一智能體的優勢
單一智能體系統對於簡單任務或許適用,但面對複雜任務時,使用多智能體有數項優勢:
- 專業分工:每個智能體可專注於特定任務。單一智能體缺乏專業分工,面對複雜任務容易混淆,不一定能選擇最適合的方式完成任務。
- 擴展性:新增更多智能體比讓單一智能體超載更容易擴展系統。
- 容錯性:當一個智能體失效,其他智能體仍可運作,確保系統可靠度。
舉個例子,我們為使用者預訂行程。單一智能體需處理整個訂票流程,從尋找航班、訂酒店到租車,必須具備所有相關工具,導致系統複雜且難以維護與擴展。反之,多智能體系統中,不同智能體專精於尋找航班、訂酒店和租車,使系統模組化且易於擴展與維護。
這就像一間由夫妻經營的旅遊代理商,與一間加盟店營運的旅遊代理商的差異。夫妻經營的旅遊社由單一智能體處理所有訂票事宜,而加盟店則由多個智能體分別處理各環節。
多智能體設計模式的組成要素
在實作多智能體設計模式之前,需要理解其關鍵組成要素。
以為使用者預訂行程為例,組成要素包含:
- 智能體通訊:負責尋找航班、訂酒店及租車的智能體需要互相通訊,共享使用者偏好與限制。你必須決定通訊協議與方法。例如尋找航班的智能體需與訂酒店智能體溝通,確保訂房日期與航班日期一致,表示智能體需分享使用者的旅遊日期,你需決定哪些智能體共享資訊及共享方式。
- 協調機制:智能體需協調行動,確保滿足使用者偏好與限制。使用者偏好如希望酒店靠近機場,限制則是租車只能在機場取車。訂酒店智能體需與租車智能體協調,確保符合條件,這表示你需要決定智能體如何協調行動。
- 智能體架構:智能體需具備內部結構,以便在與使用者互動中做出決策及學習。尋找航班的智能體需要具備決策能力,例如選擇推薦哪班航班,因此你需決定智能體如何做決策與從互動中學習。例如航班智能體可利用機器學習模型,根據使用者過往偏好推薦航班。
- 多智能體互動可視化:你需要能清楚看到多個智能體如何彼此互動,這對除錯、優化、確保系統效能至關重要。需要設計工具和技術用來追蹤智能體活動及互動,例如記錄與監控工具、視覺化工具及效能指標。
- 多智能體模式:多智能體系統有不同模式,如集中式、去中心化及混合架構,需依據使用場景選擇最適合的模式。
- 人類介入:大多數情況下會有人工介入,你需要指示智能體何時該請求人工協助。舉例,使用者要求特定未被推薦的酒店或航班,或在訂票前要求確認。
多智能體互動可視化
清楚了解多智能體之間如何互動非常重要,這對於除錯、優化及確保整體系統效能不可或缺。為此,你需要具備用以追蹤智能體行動與互動的工具與技術。這些工具可能包含記錄和監控系統、視覺化工具及績效指標。
舉例來說,針對為使用者預訂行程,你可以具備一個儀表板顯示各智能體狀態、使用者偏好與限制,以及智能體之間的互動。此儀表板能顯示使用者出遊日期、航班智能體推薦的航班、酒店智能體推薦的酒店以及租車智能體推薦的車款,幫助你明確掌握智能體間的協作情況以及是否符合使用者需求。
以下細看這些面向:
- 記錄與監控工具:針對每個智能體所採取的行動進行記錄。記錄項目應包括採取行動的智能體、行動內容、時間及結果,這些資訊日後用於除錯、優化等用途。
- 視覺化工具:視覺化工具可讓你更直覺地看到智能體之間的互動。例如呈現智能體間資訊流向的圖表,可協助找出瓶頸、效率問題及其他系統問題。
- 效能指標:效能指標能協助追蹤多智能體系統的效益。例如追蹤完成任務所需時間、單位時間內完成任務數量與智能體推薦準確率,進而發現可改進之處並優化系統。
多智能體模式
讓我們探討一些具體可用的多智能體應用模式。以下是值得考慮的有趣模式:
群組聊天
此模式適用於你想建立群組聊天應用,讓多個智能體彼此溝通。典型應用場景如團隊協作、客服支援及社交網路。
在此模式中,每個智能體代表群組聊天中的一位用戶,訊息經由訊息通訊協議在智能體間傳遞。智能體可發送訊息至群組、接收群組訊息及回應其他智能體訊息。
此模式可用集中式架構實作,所有訊息皆透過中央伺服器傳遞,或採去中心化架構,直接在智能體間交換訊息。

任務轉交
此模式適用於你想建立一個多智能體能彼此轉交任務的應用。
典型場境包括客服支援、任務管理及工作流程自動化。
此模式中,每個智能體代表一個任務或工作流程中的一個環節,智能體能依預設規則將任務轉交給其他智能體。

協同過濾
此模式適用於你想讓多個智能體合作為使用者提供推薦的應用。
為何需要多個智能體合作?因為每個智能體擁有不同專長,可從不同角度貢獻推薦過程。
舉例,使用者希望獲得市場上最佳股票的推薦:
- 產業專家:一個智能體是特定產業的專家。
- 技術分析:另一個智能體專長於技術分析。
- 基本面分析:另有智能體專注基本面分析。多智能體協作,能提供使用者更全面的推薦。

情境:退款流程
設想一個客戶嘗試申請商品退款的情境,此過程可涉及多個智能體,我們將其分為針對退款流程的專屬智能體與可用於其他流程的通用智能體。
退款流程專屬智能體:
以下是可能參與退款流程的智能體:
- 客戶智能體:代表客戶,負責啟動退款流程。
- 賣方智能體:代表賣方,負責處理退款。
- 付款智能體:負責退款款項的處理。
- 解決智能體:負責解決退款過程中產生的問題。
- 合規智能體:確保退款流程符合相關規範及政策。
通用智能體:
這些智能體可用於你業務的其他部分。
- 運輸智能體:負責運送商品回賣方,既可用於退款流程,也可用於商品購買的運輸。
- 回饋智能體:負責收集客戶反饋,回饋可在任何時候進行,非僅限於退款流程。
- 升級智能體:負責將問題升級至更高層支援,適用於任何需要升級的流程。
- 通知智能體:負責在退款流程的各階段,向客戶發送通知。
- 分析智能體:負責分析與退款流程相關的資料。
- 稽核智能體:負責審核退款流程是否正確執行。
- 報告智能體:負責生成退款流程的報告。
- 知識智能體:負責維護與退款流程相關的知識庫,也可包含公司其他業務相關知識。
- 安全智能體:負責退款流程的安全性。
- 品質智能體:確保退款流程的品質。
上述列出了相當多智能體,涵蓋退款流程專屬與可用於業務其他部分的通用智能體,期望能幫助你了解如何決定在多智能體系統中使用哪些智能體。
作業
設計一個用於客戶支援流程的多智能體系統。識別流程中涉入的智能體、其角色與職責,以及它們如何互動。請考慮既包含專屬於客戶支援流程的智能體,也包含可用於你業務其他部分的通用智能體。
在閱讀以下解決方案之前,請先思考,你可能需要的代理數量比想像中更多。
TIP: 想想客戶支援流程的不同階段,同時也要考慮系統所需的代理。
Solution
Solution
Knowledge checks
Question: When should you consider using multi-agents?
Solution quiz
Summary
在本課程中,我們探討了多代理設計模式,包括適用多代理的場景、使用多代理比單一代理的優勢、實作多代理設計模式的構建元素,以及如何了解多個代理之間的互動狀況。
關於多代理設計模式還有更多問題?
加入 Microsoft Foundry Discord,與其他學習者交流,參加辦公時間並獲取你的 AI 代理相關問題解答。
Additional resources
Previous Lesson
Planning Design
Next Lesson
Metacognition in AI Agents
免責聲明:
本文件係使用人工智能翻譯服務 Co-op Translator 所翻譯。儘管我們力求準確,但請注意自動翻譯可能包含錯誤或不準確之處。文件之原文版本應視為權威資料。對於關鍵資訊,建議使用專業人工翻譯。我們不對因使用此翻譯而產生之任何誤解或曲解負責。