9月25日,微软宣布推出用于AG-UI(Agent-User Interaction,智能体与用户交互)协议的.NET SDK。该SDK与CopilotKit合作开发,使C#开发者能够使用这一标准化协议,实现智能体与面向用户应用程序之间的通信。
AG-UI的.NET SDK存放于AG-UI代码仓库中,与现有的TypeScript和Python SDK并列,并以MIT许可证发布在NuGet平台。微软表示,这一C#实现版本可供任何.NET服务使用。此外,微软智能体框架(Microsoft Agent Framework,简称MAF)中对.NET的AG-UI支持,现在也基于这个新发布的.NET SDK构建。
AG-UI是一种基于事件的协议,允许AI智能体与前端应用程序进行交互。后端原生发出AG-UI事件,客户端则从以任意受支持语言编写的智能体中接收这些事件。根据官方文档,该协议包含八大类事件:
生命周期事件,用于监控智能体运行的进展情况。
文本消息事件,用于处理流式文本内容的传输。
工具调用事件,用于管理智能体执行工具的过程。
状态管理事件,用于同步智能体与用户界面之间的状态。
活动事件,用于表示正在进行的活动进度。
子智能体事件,用于追踪子智能体并归因其输出结果。
特殊事件,用于支持自定义功能。
草案事件,用于提议正在开发中的新事件类型。
微软表示,这一AG-UI的.NET SDK支持双向通信:AGUI.Server可将智能体转变为AG-UI端点,而AGUI.Client则使.NET应用程序能够调用AG-UI端点。AGUI.Server与AGUI.Client都建立在一套共同的AG-UI基础组件之上。
该AG-UI的.NET SDK在NuGet上以五个软件包的形式发布:
AGUI.Abstractions——包含协议事件、消息、工具、功能以及JSON序列化相关内容。
AGUI.Formatting——提供事件流格式化器的抽象定义及服务器推送事件(Server-Sent Events)支持。
AGUI.Protobuf——提供protobuf编解码器及二进制事件流格式化功能。
AGUI.Client——提供AG-UI HTTP客户端及IChatClient集成功能。
AGUI.Server——提供从ChatResponseUpdate流到AG-UI事件的服务器端适配器。
微软提供了以下入门资源链接:
AG-UI .NET SDK源代码与示例
AG-UI官方文档
CopilotKit关于AG-UI .NET SDK的介绍文章
Microsoft Learn上的智能体框架AG-UI文档
微软智能体框架迁移说明
微软欢迎用户在AG-UI代码仓库中提出关于该SDK的问题与反馈。对于涉及微软智能体框架集成方面的问题,微软建议开发者前往微软智能体框架讨论区进行咨询。
Q&A
Q1:AG-UI协议的.NET SDK是什么?
A:这是微软与CopilotKit合作开发的软件开发包,允许C#开发者使用AG-UI协议,实现AI智能体与用户界面应用程序之间的标准化通信。
Q2:AG-UI的.NET SDK包含哪些组件?
A:该SDK在NuGet上发布了五个软件包,分别是AGUI.Abstractions、AGUI.Formatting、AGUI.Protobuf、AGUI.Client和AGUI.Server,分别负责协议定义、事件格式化、二进制编解码、客户端调用和服务器端适配。
Q3:如何开始使用AG-UI的.NET SDK?
A:开发者可以通过微软提供的AG-UI代码仓库获取源代码与示例,参考AG-UI官方文档及Microsoft Learn上的相关说明文档进行学习和使用。
