关注「索引目录」公众号,获取更多干货。
使用 Microsoft Agent Framework + AG-UI 进行构建
微软代理框架 (MAF) 是一个新兴的开源代理框架,它为在 .NET 或 Python 中构建代理和多步骤工作流提供了卓越的方式。MAF 与 AG-UI(前端/运行时层)配合使用,可使这些代理以简洁的用户界面、流式响应和共享状态等功能出现在您的应用程序中,从而带来无缝的代理体验。
两者之间的集成既简单又强大:MAF 处理推理和工具使用,而 AG-UI 则连接代理和用户之间的交互。
Microsoft Agent Framework (MAF) 和 AG-UI 共同实现了清晰的分离:
- MAF
处理代理的智能、工作流程、内存和工具使用。 - AG-UI
是一个开放协议,它规范了代理与用户界面之间的通信方式。
一旦代理程序支持 AG-UI,它就能立即与任何支持 AG-UI 的前端兼容,包括微软自己的 Blazor 客户端和 CopilotKit。
这种组合使 MAF 代理从“后端进程”转变为交互式、有状态的、面向用户的代理。
微软代理框架提供的功能
MAF 提供核心构建模块:
-
能够调用模型、使用工具并在回合间保持状态的代理。 -
适用于多步骤或多代理流程的工作流。 - 模型和内存提供程序
,以便您的代理可以存储数据或线程上下文。
快来看看 MAF GitHub ⭐️
如果你想超越“聊天完成”并赋予模型结构、状态和行动能力,那么这很实用。
AG-UI 为这幅图景增添了什么
AG-UI 是一个开放协议,它定义了代理如何与用户界面通信。
它规范了以下事项:
-
流消息 -
州政府最新动态 -
工具调用 -
UI事件 -
多代理路由 -
中断/工具进度事件 -
前端 → 代理操作
这样就无需自行设计传输方式、格式、事件系统或 UI 消息架构。
AG-UI 不是每个框架都自行发明 UI 契约,而是它们共同采用的共享层。
1. MAF代理程序开箱即用,支持用户界面
-
无需额外定制布线。 -
无需自定义 WebSocket。 -
不接受任何自定义JSON格式。
该代理使用AG-UI语言,从而消除了任何额外的复杂性。
2. 多步骤工作流程可以自然地在用户界面中呈现。
由于 AG-UI 支持状态同步和流式传输,因此 MAF 工作流可以显示:
-
中间态 -
部分输出 -
工具进度 -
代理人之间的交接 -
代理需要用户输入的时刻
这对于用户信任和可用性至关重要。
3. 输入状态对用户可见
MAF 代理通常会维护结构化状态(对象、列表、工作流上下文)。
AG-UI 将此状态传输到前端,从而驱动实时 UI 组件。
4. 工具的使用
AG-UI 可以显示:
-
当工具被调用时 -
使用了哪些参数? -
工具返回的结果
这比隐藏函数调用流程有了重大改进。
5. 使用任何与 AG-UI 兼容的前端
一旦您的 MAF 代理支持 AG-UI,您就可以将其接入:
-
副驾驶套件 -
微软 Blazor -
终端客户端 -
Kotlin SDK(移动端,JVM)
这为代理提供了一个可移植的、面向未来的接口层。
为什么这对开发者很重要
一个完整的代理循环
代理 → 协议 → 前端 → 用户 → 代理
无需定制工程设计。
更易于解释的代理
通过流式传输、中间状态和公开的工具使用,您可以以普通聊天完成功能无法实现的方式调试和信任代理。
这为构建真正的应用程序提供了途径。
-
SaaS 副驾驶 -
共同创造的副驾驶 -
自动化代理
同时保持清晰的结构和可维护性。
此外,开发者无需重新发明轮子。
MAF负责推理和工具。
AG-UI 处理通信和事件。
用户现在可以与代理实时协作。
堆栈已清理干净。
概括
Microsoft Agent Framework 为您提供具有以下功能的代理:工具、工作流、状态、编排和模型思维。
AG-UI 为该代理提供了一种标准化的方式,使其能够与用户进行交互,无论是在移动设备上还是在桌面设备上。
它们结合起来,可以让你构建不受后端限制的代理,这些代理不仅可用、可见,而且可以连接到真正的应用程序。
关注「索引目录」公众号,获取更多干货。

