wen aidev
Published on

Microsoft Agent Framework 完整指南 02:Azure 生態整合指南

在上篇我們建立了 Agent 的基本概念。但在真實的企業應用中,Agent 不會只是在 Console 中跑跑而已。它需要活在雲端,處理並發請求,並且要能「記住」長期狀態。

這就是 Microsoft Agent Framework + Azure 的殺手鐧組合。

1. 核心大腦:Azure OpenAI 的企業級護城河

雖然 Agent Framework 支援接上任何 OpenAI 相容的端點,但企業客戶幾乎別無選擇,Azure OpenAI (AOAI) 是唯一解。

為什麼?除了合規性(資料不出境),還有三個技術理由:

A. 零信任安全 (Managed Identity)

在開發階段,我們可能還在用 API Key。但在 Azure 上,我們使用 Managed Identity (受控識別)。 Agent 程式碼中完全不需要寫密碼,而是透過 Azure AD 的權限控管來存取模型。

// 典型的 Azure 整合模式
var client = new AzureOpenAIClient(
    new Uri(endpoint),
    new DefaultAzureCredential() // 自動依序嘗試:環境變數 -> VS Code 登入 -> Azure VM Identity
);

B. 內容安全 (Content Safety)

Azure AI Content Safety 會在 LLM 的輸入與輸出層自動攔截。

  • Jailbreak Detection:防止使用者試圖透過 Prompt Injection 繞過限制。
  • PII Detection:如果 Agent 不小心吐出了個資,可以在這一層被攔截下來,不會傳給終端用戶。

2. 狀態的心臟:Durable Task Extension (4D 價值)

這是 Agent Framework 架構中最精彩的部分。它整合了 Azure Durable Functions 的核心技術,解決了 LLM 應用最頭痛的「狀態管理」問題。

我們稱之為 "4D" 優勢

💎 Durability (持久性) - 不死之身

想像一個場景:你的 Agent 正在執行一個「撰寫投資報告」的任務,這任務需要呼叫 3 個外部 API,且中間需要等待「人類主管審核」。

  • 傳統做法:將狀態存在記憶體與 DB,寫一堆 if/else 來判斷現在走到哪一步。如果伺服器重啟,記憶體清空,流程就斷了。
  • Durable 做法:Agent Framework 會自動將每一步的執行結果 Checkpoint (存檔) 到 Azure Storage。
    • 就算伺服器在「等待審核」期間當機或重啟,系統恢復後,Agent 會自動讀取 Checkpoint,從「斷點」繼續執行,彷彿什麼事都沒發生過。

🌍 Distributed (分散式) - 無限分身

  • 當你需要同時啟動 10,000 個 User 的客服 Agent 時,單機絕對跑不動。
  • 基於 Durable Task,這些 Agent 會被自動分配到 Azure Functions 的多個 Worker 節點上平行執行。

🎯 Deterministic (確定性) - 拒絕隨機

  • 在 Workflow 模式下,雖然 Agent 內部的 LLM 是機率性的,但 Workflow 的流程控制(Retry, Error Handling)是確定性的代碼。這保證了業務邏輯的嚴謹。

🔍 Debuggability (可除錯性) - 時光機

  • Azure 提供了完整的執行歷程(History Table)。你可以看到每一個 Agent 在過去的每一個時間點做了什麼決策,甚至能在本地「重播」錯誤發生的當下。

3. 實戰模式:非同步請求-回覆 (Async Request-Reply)

結合了上述技術,我們推薦在 Azure 上使用 非同步請求-回覆模式 來設計你的 Agent API:

  1. Frontend (Web/App) 發送請求給 API Gateway
  2. API Gateway 啟動一個 Durable Agent,並立刻回傳 202 Accepted 以及一個 status_url
  3. Durable Agent 在背景慢慢跑(可能花 5 分鐘,也可能花 5 天等待人類審核)。
    • 期間它可以 Scale to Zero(完全不計費,只付 Storage 錢)。
  4. Frontend 透過輪詢 (Polling) status_url 來獲取最終結果。

這個模式完美解決了 HTTP Timeout 的問題,也是 Serverless 架構下的最佳實踐。

4. 未來展望:Azure AI Foundry Agent Service

微軟目前正在預覽 Agent Service。這是一個 PaaS 服務,概念是:

  • 你不再需要自己架設 K8s 或 App Service 來託管 Agent。
  • 你只要用 JSON/YAML 定義好 Agent 的行為與工具。
  • 直接 az agent deploy,微軟幫你管理底層的運算資源、擴展性與負載平衡。

這將是未來最主流的部署方式。


在掌握了 Azure 的強大後盾後,我們已經準備好面對最殘酷的現實了。在下一篇,我們將分享那些「官方文件沒告訴你」的開發坑點與血淚經驗。

👉 前往下一篇:完整指南 03:實戰經驗與避坑

留言討論