AI Agents 入門課程 · 第 2 課 / 共 18 課

探索 Agentic 框架

原文:Microsoft AI Agents for Beginners · MIT 授權

課程影片

▲ 點擊圖片觀看課程影片

什麼是 AI Agent 框架?

一句話:AI Agent 框架是一個軟體平台,簡化 AI Agent 的建立、部署與管理,提供預建元件、抽象層與工具,讓你專注在應用邏輯而非底層基礎建設。

AI Agent 框架幫助開發者用標準化的方式解決 Agent 開發中的常見挑戰,提升系統的擴展性、可及性和開發效率。

傳統的 AI 框架能做到:

能力說明範例
個人化分析使用者行為與偏好,提供個人化推薦Netflix 根據觀看紀錄推薦影片
自動化與效率自動化重複任務、簡化工作流程客服聊天機器人處理常見問題
更好的使用者體驗語音辨識、自然語言處理、預測文字Siri / Google Assistant 語音互動

那為什麼還需要「Agent 專用框架」?

AI Agent 框架跟一般 AI 框架不同。它們是為了建立能與使用者、其他 Agent 和環境互動以達成特定目標的智慧型 Agent。這些 Agent 能展現自主行為、做決策,並適應變化中的環境。

AI Agent 框架的核心能力:

如何快速原型、迭代、改進 Agent?

雖然技術變化很快,但多數 AI Agent 框架有以下共同點可以幫助你快速開發:

1. 使用模組化元件

SDK(如 Microsoft Agent Framework)提供預建的 AI 連接器、工具定義、Prompt 模板等。團隊可以直接組裝這些元件來建立功能性原型,不需從零打造。

實際運作方式

用預建的解析器從使用者輸入中提取資訊,用記憶模組儲存和讀取資料,用 Prompt 產生器與使用者互動——全部不用從頭寫。

📝 Microsoft Agent Framework 範例 — 用 FoundryChatClient 建立旅遊訂票 Agent:

import asyncio
import os

from agent_framework import tool
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

# 定義工具函式:訂機票
@tool(approval_mode="never_require")
def book_flight(date: str, location: str) -> str:
    """根據日期和地點訂票"""
    return f"已為您預訂 {date} 飛往 {location} 的航班"

async def main():
    provider = FoundryChatClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
        credential=AzureCliCredential(),
    )
    agent = provider.as_agent(
        name="travel_agent",
        instructions="幫助使用者訂票。準備好時使用 book_flight 工具。",
        tools=[book_flight],
    )

    response = await agent.run("我想在 2025 年 1 月 1 日去紐約")
    print(response)

if __name__ == "__main__":
    asyncio.run(main())

2. 利用協作工具

像 Microsoft Agent Framework 這類框架能讓多個 Agent 一起工作。團隊可以為每個 Agent 設計專門的角色和任務,測試和改進協作流程。

實際運作方式

建立一組 Agent,每個有專門功能:資料擷取、分析、決策。這些 Agent 可以互相通訊、分享資訊來達成共同目標。

📝 多 Agent 協作範例:

import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

provider = FoundryChatClient(
    project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
    model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
    credential=AzureCliCredential(),
)

# 資料擷取 Agent
agent_retrieve = provider.as_agent(
    name="dataretrieval",
    instructions="使用可用工具擷取相關資料",
    tools=[retrieve_tool],
)

# 資料分析 Agent
agent_analyze = provider.as_agent(
    name="dataanalysis",
    instructions="分析擷取到的資料並提供洞見",
    tools=[analyze_tool],
)

# 循序執行
retrieval_result = await agent_retrieve.run("擷取 Q4 銷售數據")
analysis_result = await agent_analyze.run(f"分析這些數據:{retrieval_result}")
print(analysis_result)

3. 即時學習

進階框架提供即時情境理解和適應能力。團隊可以實作回饋迴圈,讓 Agent 從互動中學習、動態調整行為,持續改進。

關鍵啟發:回饋迴圈是讓 Agent「越用越聰明」的核心機制。Agent 可以分析使用者回饋、環境資料與任務結果,更新其知識庫、調整決策演算法,隨時間提升效能。

Microsoft Agent Framework vs Microsoft Foundry Agent Service

這兩個工具互補,但設計目標不同。以下是核心差異:

Microsoft Agent Framework (MAF)

定位:精簡的 SDK,用 FoundryChatClient 建立 AI Agent。內建 tool calling、對話管理、Azure 身分驗證。

適用場景:建立生產級 AI Agent,含工具使用、多步驟工作流程、企業整合。

核心概念:

概念說明
Agent透過 FoundryChatClient 建立,設定名稱、指令和工具。能處理使用者訊息、自動呼叫工具、跨互動維護對話狀態。
Tools框架支援將 Python 函式定義為 Agent 可自動調用的工具。例如 get_weather(location) 函式能在對話中被自動觸發。
Multi-Agent Coordination建立多個不同專長的 Agent(如 planner + executor),協調分工完成複雜任務。
Azure Identity使用 AzureCliCredentialDefaultAzureCredential,無需手動管理 API Key,安全無金鑰驗證。

Microsoft Foundry Agent Service

定位:平台與部署服務(2024 Ignite 推出),支援更彈性的模型選擇(Llama 3、Mistral、Cohere 等開源 LLM),提供更強的企業安全機制和資料儲存。

適用場景:需要安全、可擴展、靈活部署的企業級 AI Agent 應用。

目前為公開預覽版,支援 Python 和 C#。

核心概念:

概念說明
Agent在 Microsoft Foundry 中,AI Agent 作為「智慧微服務」,可用於回答問題(RAG)、執行動作、或完全自動化工作流程。結合生成式 AI 模型與工具來存取真實資料。
Thread 與 MessagesThread 代表 Agent 與使用者的對話/互動。可追蹤對話進度、儲存上下文、管理互動狀態。訊息可以是文字、圖片或檔案類型。
與 MAF 整合無縫整合 Microsoft Agent Framework:用 FoundryChatClient 開發 Agent,再透過 Agent Service 部署到生產環境。

快速對照表

框架定位核心概念適用場景
Microsoft Agent Framework精簡 Agent SDK,含 tool callingAgents、Tools、Azure Identity建立 AI Agent、工具使用、多步驟工作流程
Microsoft Foundry Agent Service靈活模型、企業安全、程式碼生成、Tool calling模組化、協作、流程編排安全、可擴展、靈活的 AI Agent 部署

我該選哪一個?常見問答

Q: 我要快速開始建立生產級 AI Agent 應用

A: 選 Microsoft Agent Framework。它提供簡潔的 Python API(透過 FoundryChatClient),幾行程式碼就能定義 Agent 的工具和指令。

Q: 我需要企業級部署,整合 Azure Search 和程式碼執行

A: 選 Microsoft Foundry Agent Service。它內建多模型支援、Azure AI Search、Bing Search 和 Azure Functions,可在 Foundry Portal 中建立並大規模部署。

Q: 我還是很困惑,給我一個簡單的建議

A: 先用 Microsoft Agent Framework 開發 Agent,到要部署和擴展時再用 Microsoft Foundry Agent Service。這樣可以快速迭代 Agent 邏輯,同時有清楚的企業部署路徑。

能否整合既有的 Azure 生態工具?

答案是可以的。Microsoft Foundry Agent Service 專為無縫整合 Azure 服務而設計,可直接整合 Bing、Azure AI Search、Azure Functions 等。MAF 也透過 FoundryChatClient 和 Azure Identity 讓你能從 Agent 工具中直接呼叫 Azure 服務。

本課重點回顧

  1. AI Agent 框架 ≠ 一般 AI 框架:多了 Agent 協作、任務自動化、情境適應等關鍵能力
  2. 快速開發三招:模組化元件(用 SDK 預建組件)、協作工具(多 Agent 分工)、即時學習(回饋迴圈)
  3. MAF = SDK:用 FoundryChatClient 簡潔開發,適合建立生產級 Agent
  4. Foundry Agent Service = 平台:企業級部署、多模型支援、Azure 整合,適合上線和大規模營運
  5. 兩者互補:先用 MAF 開發迭代,再用 Foundry Agent Service 部署擴展

範例程式碼

參考資源