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 代理是 系統,透過賦予 大型語言模型(LLMs) 存取工具知識 來延伸其能力,進而使其 執行動作

讓我們把這個定義拆成較小的部分:

  • 系統 - 思考代理時,重要的是不要只把它視為單一元件,而是由多個元件組成的系統。在基本層級,AI 代理的元件包括:
    • 環境 - AI 代理運作的定義空間。例如,如果我們有一個旅行訂票 AI 代理,該環境可能是代理用來完成任務的旅行訂票系統。
    • 感測器 - 環境具有資訊並提供回饋。AI 代理使用感測器收集並解析關於環境當前狀態的資訊。在旅行訂票代理的例子中,訂票系統可以提供像是飯店可用性或航班價格等資訊。
    • 執行器 - 一旦 AI 代理收到環境的當前狀態,針對當前任務代理會決定要執行什麼動作以改變環境。對於旅行訂票代理,可能是為使用者預訂一間可用的房間。

什麼是 AI 代理?

大型語言模型(LLMs) - 代理的概念在 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。我們使用 代理模式,讓我們能以更具擴充性的方式在多個步驟中提示 LLM。

本課程分為目前幾種流行的代理模式。

代理框架

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

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

範例程式碼

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

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

前一課

課程設定

下一課

探索代理框架


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