歡迎來到「AI代理入門」課程!本課程旨在為您提供AI代理的基礎知識以及應用範例,幫助您學習如何構建AI代理。
加入 Azure AI Discord 社群,與其他學員以及AI代理開發者交流,並隨時提出您在學習過程中的問題。
在開始本課程之前,我們將首先了解什麼是AI代理,以及如何將它們應用於我們的應用程式和工作流程中。
本課程涵蓋以下內容:
- 什麼是AI代理?有哪些不同類型的代理?
- AI代理最適合的應用場景有哪些?它們如何幫助我們?
- 設計代理解決方案時需要考慮的基本組成部分有哪些?
完成本課程後,您應該能夠:
- 理解AI代理的概念,並了解它們與其他AI解決方案的不同之處。
- 有效地應用AI代理。
- 為用戶與客戶高效設計代理解決方案。
AI代理是系統,它通過為大型語言模型(LLMs)提供工具和知識的訪問權限,使其能夠執行操作,從而擴展其能力。
讓我們將這個定義分解為更小的部分:
- 系統 - AI代理不僅僅是單一組件,而是一個由多個組件組成的系統。基本上,AI代理的組件包括:
- 環境 - 定義AI代理運行的空間。例如,若我們有一個旅行預訂AI代理,環境可能是AI代理用來完成任務的旅行預訂系統。
- 感應器 - 環境提供信息和反饋。AI代理使用感應器來收集並解讀環境當前狀態的信息。在旅行預訂代理的例子中,旅行預訂系統可以提供如酒店空房情況或機票價格等信息。
- 執行器 - 當AI代理獲取環境的當前狀態後,針對當前任務決定執行的操作,以改變環境。對於旅行預訂代理來說,可能的操作是為用戶預訂一間可用的房間。
大型語言模型 - 代理的概念早於LLMs的誕生而存在。使用LLMs構建AI代理的優勢在於它們能夠解讀人類語言和數據的能力。這種能力使LLMs能夠解讀環境信息並制定改變環境的計劃。
執行操作 - 在AI代理系統之外,LLMs的操作通常限於根據用戶提示生成內容或信息。而在AI代理系統內,LLMs能夠通過解讀用戶請求並使用環境中可用的工具來完成任務。
工具的訪問權限 - LLM可訪問的工具由以下兩個因素決定:1)它運行的環境,2)AI代理的開發者。例如,在旅行代理的案例中,代理的工具可能受限於預訂系統中的操作,或者開發者可以限制代理只能訪問航班相關的工具。
知識 - 除了環境提供的信息外,AI代理還可以從其他系統、服務、工具甚至其他代理中獲取知識。在旅行代理的例子中,這些知識可能是存儲在客戶數據庫中的用戶旅行偏好信息。
現在我們已經了解了AI代理的一般定義,接下來讓我們看看一些具體的代理類型,以及它們如何應用於旅行預訂AI代理。
代理類型 | 描述 | 範例 |
---|---|---|
簡單反射代理 | 根據預定義規則執行即時操作。 | 旅行代理解讀電子郵件內容,並將旅行投訴轉發給客戶服務部門。 |
基於模型的反射代理 | 根據世界模型及其變化執行操作。 | 旅行代理根據歷史價格數據的訪問權限,優先處理價格有重大變動的路線。 |
目標導向代理 | 通過解讀目標並確定達成目標所需的行動,來制定計劃實現特定目標。 | 旅行代理根據當前位置到目的地,確定所需的旅行安排(如汽車、公共交通、航班)並完成預訂。 |
效用導向代理 | 考慮偏好並數值化權衡,以確定如何達成目標。 | 旅行代理在便利性與成本之間進行權衡,以最大化效用並完成旅行預訂。 |
學習代理 | 通過回應反饋並相應地調整行動來不斷改進。 | 旅行代理根據客戶在旅行後調查中的反饋,改進未來的預訂策略。 |
分層代理 | 包含多個代理的分層系統,高層代理將任務分解為子任務,由低層代理完成。 | 旅行代理通過將任務分解為子任務(例如取消具體預訂),由低層代理完成並回報給高層代理來實現取消行程。 |
多代理系統(MAS) | 多個代理獨立完成任務,可以是合作或競爭關係。 | 合作:多個代理分別預訂具體的旅行服務,如酒店、航班和娛樂活動。競爭:多個代理管理並競爭共享的酒店預訂日曆,以為客戶安排酒店入住。 |
在之前的部分中,我們使用旅行代理的案例說明了不同類型的代理如何應用於旅行預訂的不同場景。在整個課程中,我們將繼續使用這個應用作為示例。
接下來,讓我們看看AI代理最適合的應用場景:
- 開放性問題 - 允許LLM自行決定完成任務所需的步驟,因為這些步驟無法總是硬編碼到工作流程中。
- 多步驟流程 - 涉及一定複雜度的任務,AI代理需要在多次交互中使用工具或信息,而不是一次性檢索。
- 隨時間改進 - 任務需要代理通過來自環境或用戶的反饋,不斷改進以提供更高的效用。
在《構建可信任的AI代理》課程中,我們將更深入探討使用AI代理的考量因素。
設計AI代理系統的第一步是定義工具、行動和行為。在本課程中,我們專注於使用 Azure AI Agent Service 來定義我們的代理。該服務提供以下功能:
- 選擇開放模型,例如OpenAI、Mistral和Llama。
- 通過Tripadvisor等提供商使用授權數據。
- 使用標準化的OpenAPI 3.0工具。
與LLM的交互是通過提示完成的。由於AI代理的半自主性質,並非總是需要或可能在環境變化後手動重新提示LLM。我們使用 代理模式,允許我們在多個步驟中以更具規模化的方式提示LLM。
本課程將介紹當前一些流行的代理模式。
代理框架允許開發者通過代碼實現代理模式。這些框架提供模板、插件和工具,幫助實現更好的AI代理協作。這些優勢使得AI代理系統更易於觀察和排查問題。
在本課程中,我們將探討基於研究的AutoGen框架,以及Semantic Kernel提供的生產級Agent框架。
免責聲明:
本文件是使用機器翻譯AI服務進行翻譯的。我們努力確保準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。應以原文文件為最具權威性的來源。對於關鍵信息,建議尋求專業人工翻譯。我們對因使用此翻譯而產生的任何誤解或誤讀概不負責。