MAF快速入门(17)中,用户智能体交互协议AG-UI具体操作细节是怎样的?
摘要:AG-UI Tools 是 AG-UI 的 工具系统,分为 Backend Tools 和 Frontend Tools,它们是AI Agent和外部世界交互的桥梁,让AI Agent能够执行实际操作,而不仅仅是生成文本。本文介绍了AG-U
大家好,我是Edison。
最近我一直在跟着圣杰的《.NET+AI智能体开发进阶》课程学习MAF开发多智能体工作流,我强烈推荐你也上车跟我一起出发!
上一篇,我们初步学习了AG-UI。本篇,我们来了解AG-UI Tools 以及 实现一个前后端工具混合使用的案例。
1 什么是AG-UI Tools?
AG-UI Tools 是 AG-UI 的 工具系统,分为 Backend Tools 和 Frontend Tools,它们是AI Agent和外部世界交互的桥梁,让AI Agent能够执行实际操作,而不仅仅是生成文本。
Backend Tools
顾名思义,Backend Tools即后端工具,它在服务端执行,主要用于做一些类似数据库查询、API调用 或 敏感操作等用途,主要访问服务端资源,安全性要求较高。
何时需要使用Backend Tools?
🔐 涉及敏感数据或 API 密钥
💾 需要访问数据库或后端服务
⚡ 计算密集型任务
🔒 需要服务端验证和审计
Frontend Tools
顾名思义,Frontend Tools即前端工具,它在客户端执行,主要用于做一些类似GPS定位、剪贴板 或者 设备传感器等用途,主要访问客户端设备资源,安全性上仅需做客户端验证。
何时需要使用Frontend Tools?
📍 需要访问设备功能(GPS、相机等)
📋 需要读取本地资源(剪贴板、文件)
🔑 涉及用户隐私数据
⚡ 需要快速响应的本地操作
2 快速开始:前后端工具混合使用
假设我们有这样一个需求:我们向Agent询问“附近有什么好吃的餐厅”,AG-UI前端会使用前端工具获取当前定位信息,然后将问题和定位发给AG-UI服务端,服务端又调用服务端工具搜索附近的餐馆信息,最后由大模型整合结果输出最终信息。
整个调用流程如下图所示:
接下来,我们就一步一步完成一个AG-UI Tools示例应用涉及到的Server 和 Client。
AG-UI Tools Server
首先,我们创建一个ASP.NET Web应用,安装以下NuGet包:
Microsoft.Agents.AI.Hosting.AGUI.AspNetCore
Microsoft.Agents.AI.OpenAI
Microsoft.Extensions.AI.OpenAI
然后,就是整个示例的核心部分,我们一块一块来说:
(1)定义相关数据模型
说明:这里配置 JsonSerializerContext (JSON源生成器)主要用以提高序列化性能,确保在Native AOT环境下也能够正常序列化,即AOT友好。
