logo
0
0
WeChat Login
localizeflow[bot]<skytin1004@users.noreply.github.com>
chore(i18n): sync translations with latest source changes (chunk 1/1, 171 changes)

AI 代理入門

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

AI 代理與代理使用案例簡介

歡迎來到 "AI Agents for Beginners" 課程!本課程提供建構 AI 代理的基礎知識與實作範例。

加入 Azure AI Discord 社群,與其他學習者及 AI 代理開發者交流,並針對本課程提出任何問題。

在開始本課程時,我們會先更深入了解什麼是 AI 代理,以及如何在我們所建構的應用程式與工作流程中使用它們。

介紹

本課程涵蓋:

  • 什麼是 AI 代理以及不同類型的代理是什麼?
  • 哪些使用案例最適合 AI 代理,它們能如何協助我們?
  • 在設計代理式解決方案時的一些基本構建要素?

學習目標

完成本課程後,您應該能夠:

  • 了解 AI 代理的概念以及它們與其他 AI 解決方案的不同之處。
  • 更有效地應用 AI 代理。
  • 為使用者和客戶設計具生產力的代理式解決方案。

定義 AI 代理與 AI 代理的類型

什麼是 AI 代理?

AI 代理是 系統,使 Large Language Models(LLMs) 能夠 執行動作,方法是透過擴展其能力,賦予 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 代理

在前面的章節中,我們使用旅遊代理的使用情境來說明不同類型的代理如何在旅遊預訂的不同情境中使用。我們將在整個課程中持續使用這個應用範例。

讓我們看看哪些類型的使用案例最適合使用 AI 代理:

何時使用 AI 代理?

  • 開放式問題 - 允許 LLM 決定完成任務所需的步驟,因為這些步驟並不總是能以工作流程硬編碼實現。
  • 多步驟流程 - 需要一定複雜度的任務,其中 AI 代理需要在多個回合中使用工具或資訊,而非一次性檢索即可完成。
  • 隨時間改進 - 透過從環境或使用者那裡接收回饋而逐步改進的任務,以提供更好的效用。

我們會在「建構可信賴的 AI 代理」課程中探討更多使用 AI 代理的考量。

代理式解決方案基礎

代理開發

設計 AI 代理系統的第一步是定義工具、動作與行為。在本課程中,我們著重使用 Azure AI Agent Service 來定義代理。它提供的功能包括:

  • 可選擇的開放模型,例如 OpenAI、Mistral 與 Llama
  • 透過像 Tripadvisor 這類的供應商使用授權資料
  • 使用標準化的 OpenAPI 3.0 工具

代理模式

與 LLM 的溝通是透過提示(prompts)。鑒於 AI 代理的半自動性質,在環境變更後並不總是有可能或必要手動再次提示 LLM。我們使用 Agentic Patterns,讓我們能以更可擴展的方式在多個步驟中提示 LLM。

本課程分為數個目前流行的代理模式。

代理框架

代理框架讓開發者能透過程式碼實作代理模式。這些框架提供範本、外掛程式與工具,以促進更好的 AI 代理協作。這些好處也提供了更佳的可觀測性與 AI 代理系統的故障排除能力。

在本課程中,我們將探索 Microsoft Agent Framework (MAF) 來建構可投入生產的 AI 代理。

範例程式碼

對 AI 代理還有更多問題嗎?

加入 Microsoft Foundry Discord 與其他學習者見面,參加辦公時間,並取得 AI 代理相關問題的解答。

上一課

課程設定

下一課

探索代理框架


免責聲明: 本文件已使用 AI 翻譯服務「Co-op Translator」(https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們力求準確,但自動翻譯可能包含錯誤或不精確之處。原始語言之文件應被視為具權威性的參考來源。對於關鍵資訊,建議採用專業人工翻譯。我們不對因使用本翻譯而產生的任何誤解或錯誤詮釋承擔責任。