《AI Agent原理与实战》2026版 第17课 Microsoft Agent Framework 本文收录于专栏《AI Agent原理与实战》2026版—— 专栏系统覆盖 AI Agent 的记忆、工具、插件与实战点击订阅可跟踪后续更新。本课定位四框架之外补上微软一极Microsoft Agent FrameworkAutoGen Semantic Kernel 合体。本课讲它的核心抽象、Azure 衔接并用它重写第 6 课的最小 Agent——同一需求在第五种框架下的样子也检验你对框架共性的理解。阶段 3框架与协议 来源【微·14】关键字Microsoft Agent Framework、AutoGen、Semantic Kernel、微软Agent框架、多Agent编排、Azure接入、MAF实战、框架合并本节目录17.1 框架来历两个框架的合并17.2 核心抽象17.3 与 Azure 生态的衔接17.4 从第 6 课的最小循环迁移到 MAF17.5 案例用 MAF 重写第 6 课的最小 Agent【未实测——需 Azure/Foundry 或 OpenAI 凭据代码为官方文档口径】概念讲解17.1 框架来历两个框架的合并先交代来头本课主角 Microsoft Agent FrameworkMAF是微软 2025-10 开始合并两大前身而来——Semantic Kernel微软 2023 年推出的 LLM 应用 SDK.NET 生态事实标准28.6k stars企业管线见长与AutoGen微软研究院 2023 年开源的多 Agent 对话编排框架多 Agent 领域早期标杆61.2k stars合并后仓库转维护模式、最后 push 2026-04。合并版 MAF 仓库虽然 2025 年才建、star 数只有 1.4 万但承接的是两家前辈共约 9 万 stars 的社区存量背靠微软企业支持。2023-2025 年微软并行维护这两个框架Semantic KernelSK出生自 Microsoft 365 Copilot 团队强项是企业基建——类型安全连接器、过滤器、遥测、插件生态.NET 优先。AutoGen微软研究院项目开创了多 Agent 对话编排Group Chat、Magentic-One偏研究社区。团队的实际痛点SK 的用户想要 AutoGen 的多 Agent 模式AutoGen 的用户想要 SK 的企业管线两边都在手写胶水代码。2025-10 公开预览合并版2026-04-03 发布 Microsoft Agent FrameworkMAF1.0 GA.NET 包Microsoft.Agents.AIPython 包agent-framework稳定 API 长期支持承诺。此后快速迭代PyPI 上agent-framework已至 1.19.02026-09-18本课撰写当日实查。合并后的架构分层17.2 核心抽象微软课程思想源自微软原课第 14 课《Exploring Microsoft Agent Framework》本课主干即出自此课微软给 MAF 总结了四个生产就绪支柱——可观测OpenTelemetry 全链路工具调用/编排步骤/推理流、安全Foundry 托管的 RBAC/私有数据/内容安全、持久线程与工作流可暂停恢复支撑长时任务、可控human-in-the-loop 审批挂起外加四条设计原则——云无关容器/本地/多云、供应商无关七家模型商任选、拥抱开放标准MCP 连工具、A2A 连 Agent、插件与连接器生态Fabric/SharePoint/Pinecone/Qdrant。本课 17.2-17.4 的抽象拆解与迁移判断式都以此为纲其中生产三件套判断式持久化/可观测/审批直接对应微软四支柱的前三。MAF 1.0 的最小概念集Python 视角ChatClient 与 Agent先构造模型客户端OpenAIChatClient/AzureOpenAIChatClient/FoundryChatClient等一行as_agent()产出 Agent# Microsoft Agent Frameworkagent-framework 1.02026-04 GA代码为官方文档风格agentOpenAIChatClient().create_agent(nameweather_bot,instructionsYou are a helpful weather assistant.,)运行await agent.run(...)一次性执行agent.run_stream(...)流式输出都支持每次运行时临时换工具/参数。Tools普通 Python 函数 类型注解即工具与第 7 课的 schema 自动生成同理也可在 run 时追加。Thread会话线程多轮对话状态载体可持久化。Middleware中间件函数中间件工具调用前后插日志/审计、聊天中间件LLM 请求前后拦截——把横切关注点从业务逻辑剥离。Workflows编排五种模式——Sequential顺序、Concurrent并行、Handoff接力、Group Chat群聊、Magentic管理者 Agent 动态建任务清单派活来自 Magentic-One 研究。模型供应商开箱支持七家Microsoft Foundry、Azure OpenAI、OpenAI、Anthropic Claude、Amazon Bedrock、Google、Ollama——cloud-agnostic 是明确设计目标不锁 Azure。国内模型也能直接接OpenAIChatClient接受base_url指向任意 OpenAI 兼容端点微软原课第 14 课的官方示例就是 MiniMax# 微软原课示例官方 README 口径MAF MiniMax 国内模型agentOpenAIChatClient(base_urlhttps://api.minimax.io/v1,api_keyos.environ[MINIMAX_API_KEY],model_idMiniMax-M3,).create_agent(nameHelpfulAssistant,instructionsYou are a helpful assistant.)国内端点用https://api.minimaxi.com/v1见第 16 课 16.7 端点表DeepSeek/GLM/MiMo 同理。17.3 与 Azure 生态的衔接MAF 是 SDKMicrosoftFoundry Agent Service是配套托管平台分工Microsoft Agent FrameworkFoundry Agent Service角色开源 SDK本地开发托管运行时生产部署提供Agent/编排/中间件抽象沙箱隔离、零闲置自动扩缩、内置 Azure AI Search/Bing/代码执行关系用 MAF 写 Agent → 一键部署到 Foundry托管后自动注入 endpoint 等环境变量生产化特性第 26 课的主题在此预告OpenTelemetry 可观测工具调用/编排步骤/推理流全链路、checkpoint 持久化、HITL 审批挂起恢复、RBAC 权限。微软原课强调的迁移路径“先用 MAF 快速迭代 Agent 逻辑需要企业级部署时再上 Foundry Agent Service”。17.4 从第 6 课的最小循环迁移到 MAF第 6 课手写的最小 Agent Loop 有四段工具注册、模型调用、结果回传、终止判断。MAF 的映射手写循环部件MAF 等价物手写 tools 字典 JSON Schema函数 类型注解自动注册while True 主循环agent.run()内置 loop手动拼接 messages 回传Thread 自动管理max_iterations 保护运行选项/编排终止条件print 调试OpenTelemetry DevUI 可视化调试器迁移价值判断手写循环 ≈100 行MAF 版 ≈15 行且换来持久化/可观测/审批挂起。代价是引入依赖与企业生态的学习。判断式一旦你的 Agent 需要生产三件套持久化、可观测、审批迁移就划算否则第 6 课的裸循环依然是好选择。案例实战17.5 案例用 MAF 重写第 6 课的最小 Agent【未实测——需 Azure/Foundry 或 OpenAI 凭据代码为官方文档口径】运行环境说明本课撰写环境Linux未安装 agent-framework它对 Python 版本与 Azure 凭据有前置要求。Windows 是 MAF 的一等公民——MAF 同时发 .NET 与 Python 版.NET 版在 Windows Visual Studio 是官方主推路径Python 版pip install agent-framework在 Windows/Linux 均可装。若使用国内模型替代 AzureMAF 的OpenAIChatClient支持base_url指向任意 OpenAI 兼容端点DeepSeekhttps://api.deepseek.com/v1等端点表见第 16 课 16.7 节可绕开 Azure 凭据本地复现。目标把第 6 课的搜索 计算器双工具最小 Agent 用 MAF 重写对照行数与结构变化。安装pipinstallagent-framework azure-identity# agent-framework 1.0 GA: 2026-04-03MAF 版最小 Agent官方 README/课程示例风格需设置 AZURE_AI_PROJECT_ENDPOINT 等环境变量# Microsoft Agent Framework 1.02026-10 检索自官方文档风格importasyncio,osfromagent_frameworkimporttoolfromagent_framework.foundryimportFoundryChatClientfromazure.identityimportAzureCliCredentialtool(approval_modenever_require)defcalculator(expr:str)-str:计算算术表达式。expr: 例如 12*73returnstr(eval(expr))# 演示生产环境换安全求值器tool(approval_modenever_require)defsearch(query:str)-str:搜索知识库。query: 检索词return演示知识库命中 2 条记录# 第 6 课同款假搜索asyncdefmain():providerFoundryChatClient(project_endpointos.environ[AZURE_AI_PROJECT_ENDPOINT],modelos.environ[AZURE_AI_MODEL_DEPLOYMENT_NAME],credentialAzureCliCredential(),)agentprovider.as_agent(namemini_agent,instructions你是助手。数学计算用 calculator资料查询用 search。,tools[calculator,search],)resultawaitagent.run(帮我算 12*73再查一下这个数字的资料)print(result)asyncio.run(main())与第 6 课手写版的对照部件第 6 课手写约 100 行MAF 版约 25 行工具 schema手写 dict jsontool装饰器 类型注解主循环while 终止判断agent.run()内置消息管理手动 appendThread 自动重试/错误手写 try/except运行时处理观测printOpenTelemetry 自动埋点预期输出官方示例风格Agent 先调 calculator 得 87再调 search 返回记录最后合成回答。为什么标【未实测】本机无 Azure 凭据。MAF 的OpenAIChatClient/OpenAIResponsesClient路径同样可行无需 Azure且 MAF 声明支持 Ollama 后端——有条件读者可把base_url指向本机 Ollama 复现本课实验预期行为一致。此标注符合写作规范的诚实纪律不把文档说可以写成我跑通了。加分练习给 calculator 加approval_moderequire默认观察工具调用被挂起等待审批——这是 MAF 把第 25 课 human-in-the-loop 内置进tool装饰器的做法。小结MAF Semantic Kernel企业基础层 AutoGen多 Agent 编排层的 1.0 合并版2026-04-03 GA.NET/Python 双运行时国内模型经OpenAIChatClient(base_url...)直接接入微软原课官方示例即 MiniMax。核心抽象ChatClient →as_agent()→ run/run_streamTools 函数即工具Thread 管会话Middleware 剥离横切关注点五种 Workflow 编排模式。Cloud-agnostic七家模型供应商 MCP/A2A 原生Foundry Agent Service 是配套托管平台而非必选项。从第 6 课裸循环迁移的判断式需要生产三件套持久化/可观测/审批时迁移才划算。tool(approval_mode...)把工具审批做成装饰器参数——安全机制下沉到原语层。参见第 6 课《动手从零写一个最小 Agent Loop》迁移基准、第 16 课《主流代码框架实战》横向对照、第 25 课《可信赖的 Agent》approval 的策略层、第 26 课《生产环境》OpenTelemetry 展开。扩展阅读 网络提示github.com 需代理clone 可走 ghproxy 加速、push 优先 SSHpip 安装建议加清华镜像-i https://pypi.tuna.tsinghua.edu.cn/simple。详见总纲附录《国内网络访问与国产适配指南》。微软原课第 14 课https://microsoft.github.io/ai-agents-for-beginners/MAF 官方仓库https://github.com/microsoft/agent-frameworkMAF 官方文档含 SK/AutoGen 迁移指南https://learn.microsoft.com/azure/agent-framework/overview我的专栏蛋白 / 抗体 / 多肽 / 核酸分子模拟 / 动力学 / 对接药物 / 设计 / 案例AI / Agent / 大模型开源蛋白结构预测分子模拟基础小分子药物设计案例AI Agent系列开源蛋白生成方法实践分子动力学模拟-Amber蛋白药物设计案例化学大模型开源多肽设计模型分子动力学模拟-Gromacs多肽药物设计案例《AI Agent原理与实战》开源多肽性质预测分子动力学模拟-OpenMM开源小分子生成设计CADD中的机器学习模型DNA/RNA药物设计結合自由能高效计算配置《MCP 入门实战》siRNA药物设计模型UCSF DOCK系列我胡师兄说药《AI入门实战2026》ASO药物设计模型rDock系列 LeDock系列 gnina系列《经典机器学习实战》