在 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
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 |
|
|
架构全景图
总结:构建你的“高效闭环”
GHModel.AI 不只是一个示例,更是 现代智能体开发的最佳实践架构:
|
|
|
|
| 模型层 |
|
|
| 调试层 |
|
|
| 交互层 |
|
|
| 可观测层 |
|
|
最后的话
建议每位智能体开发者深入研究 Agent-Framework-Samples 中的代码。
别再用记事本调试 AI 了!
拿起 DevUI、AG-UI、OpenTelemetry 这三件“现代武器”,去构建下一代智能应用吧!
GitHub Models 快速原型 + DevUI 可视化调试 + AG-UI 无缝交互 + OpenTelemetry 生产级可观测
—— 这就是 Agentic 开发的新范式。
你的智能体开发之旅,从此刻开始。未来已来,一起构建!

