大数跨境
0
0

微软 Agent Framework 的“黄金三角”

微软 Agent Framework 的“黄金三角” dotNET跨平台
2025-12-12
6

在 Agentic AI(智能体 AI) 爆发的时代,我们追求的不只是更强的大模型——而是让开发者能真正睡个好觉的开发体验。

过去,本地开发智能体(Agent)时,开发者常被三大痛点折磨:

执行黑箱:我的 Agent 在想什么?为啥卡住了?(调试太难)交互孤岛:Agent 写好了,怎么快速给老板/客户演示一个漂亮 UI?(产品化太难)性能盲区:Token 花了多少?延迟在哪一步?(优化太难)

今天,我们就以微软官方示例项目 GHModel.AI 为例,揭秘解决这三大痛点的 “黄金三角”开发栈DevUI + AG-UI + OpenTelemetry ✨

阶段一:创建 —— 站在 GitHub 模型的肩膀上

GHModel.AI 的第一步,是解决 “大脑” 问题。

传统本地开发受限于算力或昂贵的 API 密钥。而本例巧妙接入 GitHub Models,强烈推荐这个组合:

零门槛接入:用 GitHub 账号直接调用 GPT-4o、Llama 3 等前沿模型,无需 Azure 配置,无需绑信用卡标准化 SDK:通过 Agent Framework 的抽象层,几行代码就能切换模型后端

快速上手代码(.NET)

// 使用 GitHub Models 创建智能体
var openAIOptions = new OpenAIClientOptions(){    Endpoint = new Uri(github_endpoint)};
var openAIClient = new OpenAIClient(new ApiKeyCredential(github_token), openAIOptions);var chatClient = openAIClient.GetChatClient(github_model_id).AsIChatClient();
// 定义两个智能体:前台客服 + 审核员const string ReviewerAgentName = "Concierge";const string ReviewerAgentInstructions = @"    你是酒店礼宾员,擅长为旅行者推荐地道、非游客化的本地体验。    任务:判断前台推荐是否足够好。    若好,直接批准;若不够好,给出优化方向(但不要具体举例)。";
const string FrontDeskAgentName = "FrontDesk";const string FrontDeskAgentInstructions = @"""    你是有十年经验的前台旅行顾问,以简洁高效著称。    任务:为旅行者推荐最佳活动或地点。    每次只给一个推荐,聚焦目标,拒绝闲聊。    可根据反馈优化建议,但保持简洁。""";
// 构建智能体var reviewerAgent = new AIAgentBuilder(chatClient.CreateAIAgent(ReviewerAgentName, ReviewerAgentInstructions)).Build(serviceProvider);var frontDeskAgent = new AIAgentBuilder(chatClient.CreateAIAgent(FrontDeskAgentName, FrontDeskAgentInstructions)).Build(serviceProvider);
// 定义工作流:前台 → 审核员var workflow = new WorkflowBuilder(frontDeskAgent)    .AddEdge(frontDeskAgent, reviewerAgent)    .Build();

阶段二:测试与调试 —— DevUI,你的智能体“X光机”

过去:靠 print() 和满屏日志猜 Agent 到底在干啥。
现在:用 DevUI —— Agent Framework 专为开发者打造的 内循环(inner-loop)调试神器

运行 GHModel.AI 时,访问 DevUI,你将获得:

思维链可视化:Agent 为什么选工具 A 而不是 B?每一步的 推理(Reasoning)→ 行动(Action)→ 观察(Observation) 都像流程图一样清晰呈现。这不叫调试,这叫 “透视 Agent 行为”实时状态监控:Agent 的记忆里存了啥?上下文是否爆了?对话状态实时查看,快速定位“幻觉”根源。

cd GHModel.dotNET.AI/GHModel.dotNET.AI.Workflow.DevUIdotnet run# DevUI 地址:https://localhost:50516/devui

💡 对于复杂多智能体协作场景,DevUI 就是你的 指挥中心

阶段三:交付与交互 —— AG-UI,30 秒生成产品级 UI

调试完成,老板说:“发个链接让我试试?”
别手搓 React 前端了! 你需要的是 AG-UI(Agent Generic UI)

AG-UI 解决什么?

它是一套 标准化的智能体-用户交互协议。在 GHModel.AI 中集成后:

开箱即用前端:Agent Framework 自动暴露 AG-UI 兼容接口,任何支持 AG-UI 的前端(如 CopilotKit 组件)都能直接连上你的本地 Agent。流式响应 + 动态 UI:不仅支持文本流,还能 从服务端推送 UI 组件!Agent 可根据内容动态渲染图表、卡片、表格——前端无需硬编码

✅ AG-UI 支持特性

流式响应(SSE)后端工具渲染(如地图、图表)人工审批节点(Human-in-the-Loop)共享状态同步无缝对接 CopilotKit

一行代码接入 AG-UI

// Program.csusing Microsoft.Agents.AI.Hosting.AGUI.AspNetCore;
var builder = WebApplication.CreateBuilder(args);builder.Services.AddAGUI();
var app = builder.Build();AIAgent workflowAgent = ChatClientAgentFactory.CreateTravelAgenticChat();app.MapAGUI("/", workflowAgent); // 挂载 AG-UI 端点await app.RunAsync();

🎯 从 DevUI 到 AG-UI,是从 “开发者视角” 到 “用户视角” 的无缝切换!

阶段四:性能追踪 —— OpenTelemetry,让优化不再靠猜

上线前,除了功能正确,你必须回答:“快不快?贵不贵?”

OpenTelemetry(OTel) 就是答案。Agent Framework 已 原生集成 OTel,通常只需一行配置(如 AddOpenTelemetry):

分布式追踪:从请求进入、路由、守卫规则(Guardrails)、调用 GitHub 模型到返回——完整火焰图(Flame Graph) 一目了然:

网络 I/O 耗时多少?LLM 生成 Token 花了多久?本地逻辑处理是否拖后腿?

成本透明化:结合 OTel 指标,实时监控 Token 消耗。从免费原型(GitHub Models)迁移到生产付费(Azure OpenAI)时,成本估算不再拍脑袋!


🔧 快速启用 OTel

var tracerProvider = Sdk.CreateTracerProviderBuilder()    .AddSource("*Microsoft.Agents.AI")    .AddOtlpExporter(options => options.Endpoint = new Uri("http://localhost:4317"))    .Build();

🌐 可视化方案推荐

平台
适用场景
快速启动命令
Aspire Dashboard
本地开发
docker run -d -p 18888:18888 -p 4317:18889 mcr.microsoft.com/dotnet/aspire-dashboard:latest
Application Insights
生产监控
设置 APPLICATIONINSIGHTS_CONNECTION_STRING
Grafana
高级可视化
查看 Agent 概览、工作流概览

架构全景图

总结:构建你的“高效闭环”

GHModel.AI 不只是一个示例,更是 现代智能体开发的最佳实践架构

层级
工具
价值
模型层
GitHub Models
用免费前沿模型快速验证想法
调试层
DevUI
“上帝视角”洞察行为,快速迭代逻辑
交互层
AG-UI
标准化输出,秒级生成用户界面
可观测层
OpenTelemetry
数据驱动优化,告别经验主义

最后的话

建议每位智能体开发者深入研究 Agent-Framework-Samples 中的代码。

别再用记事本调试 AI 了!
拿起 DevUI、AG-UI、OpenTelemetry 这三件“现代武器”,去构建下一代智能应用吧!

GitHub Models 快速原型 + DevUI 可视化调试 + AG-UI 无缝交互 + OpenTelemetry 生产级可观测
—— 这就是 Agentic 开发的新范式

你的智能体开发之旅,从此刻开始。未来已来,一起构建!

【声明】内容源于网络
0
0
dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,
内容 906
粉丝 0
dotNET跨平台 专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,
总阅读14.8k
粉丝0
内容906