AG-UI 協議推出官方 .NET SDK:讓 C# 服務直接串流代理事件

微軟 .NET 團隊於官方部落格宣布,與 CopilotKit 合作為 AG-UI 協議貢獻一個 .NET SDK。該 SDK 位於 AG-UI 的官方儲存庫,與 TypeScript 及 Python SDK 並列,以 MIT 授權在 NuGet 發布;任何 .NET 服務現在都可以直接使用 AG-UI,而 Microsoft Agent Framework 的 AG-UI 支援亦已改為建基於這個 SDK。[1][2]

問題所在

文章指出,代理打破了傳統的請求—回應範式:它們長時間運行,工作時串流輸出 token,委派子代理,並在回應中途呼叫工具。若沒有共同協議,每個代理框架或服務都可以提供不同的串流格式,令應用開發者要自行解析資料塊,追蹤狀態,並把框架特定事件映射到使用者介面;這些樣板程式碼不僅要維護,亦可能隨事件格式改動而失效。[1]

AG-UI 的作用

AG-UI(Agent-User Interaction Protocol)標準化代理與面向使用者的應用程式之間的通訊。它以有型別的事件串流代理的生命週期,並分成多個類別;前端只需監聽 RUN_STARTED、TEXT_MESSAGE_CONTENT、STATE_DELTA 等事件,毋須理會是哪個框架產生。狀態事件令代理、應用與使用者保持同步,而事件如何顯示由客戶端決定,因此呈現介面可以是網頁應用,終端,手機應用,甚至 Slack 或 Teams 一類聊天平台。[1]

官方指出,.NET SDK 把這種能力帶到 C#:後端可以原生輸出這些事件,客戶端則可從任何受支援語言撰寫的代理消費事件。[1]

使用方式

SDK 支援雙向運作:AGUI.Server 把代理變成 AG-UI 端點,AGUI.Client 讓 .NET 應用程式消費端點,兩者建基於一組共通的 AG-UI 基本元件。[1]

安裝指令炾 dotnet add package AGUI.Server。官方指出,代理本身是一個 IChatClient,即 Microsoft.Extensions.AI 的標準聊天抽象;假設應用已定義一個回傳設定好的 IChatClient 的方法,便可註冊該客戶端與 AG-UI 序列化器,並以 MapPost("\/") 把 RunAgentInput 轉換成聊天請求內容,再串流回應。[1]

意義

對 .NET 生態而言,這意味代理與使用者介面之間的事件流不再需要自行定義格式:SDK 沿著 AG-UI 既有的 TypeScript 與 Python 路線,把同一套事件模型帶到 C#,並與 Microsoft Agent Framework 的代理堆疊接軌。[1]

參考資料

[1] .NET 官方部落格 — AG-UI Protocol now has a first-class .NET SDK

[2] AG-UI 官方儲存庫(含 .NET SDK)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*