Semantic Kernel + AutoGen = 开源 Microsoft Agent Framework

随着Agentic AI 的最新进展,Microsoft 正在改进其相关开发工具,整合 Semantic Kernel 和 AutoGen 的功能,提供新的开源 Microsoft Agent Framework,以简化 AI Agent和Multi-Agent工作流程的构建、编排和部署,支持 Python 和 .NET。Microsoft 在 10 月 1 日的一篇博文[1]中表示: "开发人员问我们:*为什么我们不能同时拥有 AutoGen 的创新和语义内核的信任和稳定性,在一个统一的框架中?*这正是我们构建 Microsoft Agent Framework[2]的原因。"

image

Semantic Kernel 是一个轻量级的开源 SDK,旨在帮助开发人员使用大型语言模型 (LLM) 构建智能 AI 代理并编排复杂的工作流程。

image

AutoGen 是一个用于构建Multi-Agent AI 系统的开源框架,旨在简化 LLM、工具和人工输入的编排。

image

有了新产品,Microsoft 与 AI 相关的开发工具空间如下所示:

image

Microsoft 表示: "借助语义内核,我们为开发人员提供了一个稳定的 SDK,其中包含企业系统、内容审核和遥测的连接器,借助 Microsoft Research 的先驱 AutoGen,我们打开了实验性Multi-Agent编排模式的大门,激发了社区的灵感。两者都有热情的用户------但每个人都有差距。

据报道,这些空白正在通过全面的新框架Microsoft Agent Framework来填补,该公司表示,该框架旨在使人工智能智能体的构建像创建 Web API 或控制台应用程序一样简单。该公司在 10 月 1 日的另一篇帖子[3]中表示

"构建人工智能代理不应该是火箭科学,然而,许多开发人员发现自己正在与复杂的编排逻辑作斗争,努力连接多个 AI 模型,或者花费数周时间构建托管基础设施,只是为了将一个简单的代理投入生产。"

Microsoft 提出的新框架的主要要点包括:

  • **设计简单:**只需几行代码即可开始。在几分钟内创建您的第一个代理,而不是几天。
  • 与您一起https://devblogs.microsoft.com/dotnet/introducing-microsoft-agent-framework-preview/扩展: 从单个代理开始,然后随着需求的增长轻松添加工作流、工具、托管和监控。
  • 基于**成熟的技术构建:**Microsoft Agent Framework汇集了 AutoGen 和Semantic kernel的精华。它建立在现代 AI 开发的统一基础 Microsoft.Extensions.AI 之上,为 .NET 开发人员提供强大且有凝聚力的体验。
  • **生产准备就绪:**使用熟悉的 .NET 模式进行部署,并具有内置的可观测性、评估和托管功能。

Agent和工作流
Microsoft 将Agent定义为"实现目标的系统",配备推理和决策、工具使用和上下文感知。功能由 LLM、API 和上下文源(如矢量存储或企业数据)提供支持。同时,工作流定义了实现目标所需的步骤,从需求收集和设计到测试和部署。Microsoft 解释道:"当Agent配备推理、工具和上下文时,他们可以优化工作流程"。

建立在成熟的基础上
虽然Microsoft Agent Framework汇集了语义内核 AutoGen,但该公司的 Microsoft.Extensions.AI 被添加到组合中,以帮助创建有凝聚力的开发人员体验。据 Microsoft 称,"通过结合这些技术,Agent Framework 提供了可靠性、灵活性和开发人员友好的 API。这使您能够快速高效地构建和部署强大的 AI 代理。它支持确定性业务工作流和 Microsoft Research 首创的动态多代理编排模式。

框架的四大支柱
Azure AI Foundry 团队描述了支撑新框架的四个支柱:

  • 开放标准和互作性 -- 支持模型上下文协议 (MCP)、代理到代理 (A2A) 消息传递和 OpenAPI 优先设计,实现跨运行时可移植性。
  • 研究管道 -- AutoGen 的实验性编排模式,包括群聊、辩论和反思,现在具有企业持久性。
  • 通过设计扩展 -- 模块化体系结构,具有适用于 Azure AI Foundry、Microsoft Graph、SharePoint、Elastic、Redis 等的连接器。YAML 和 JSON 声明性代理定义允许版本控制的工作流。
  • 准备投入生产 -- 通过 OpenTelemetry、Azure Monitor 集成、Entra ID 身份验证以及通过 GitHub Actions 和 Azure DevOps 的 CI/CD 支持实现本机可观测性。

.NET 和 Python 入门
GitHub 存储库突出显示了两种语言的快速设置。开发人员可以通过 Python 或 .NET 进行安装。示例包括生成诗歌的"HaikuBot"智能体和连接作家和编辑的"Hello World"多智能体工作流程。Microsoft强调,"只需几行代码,你就拥有了一个功能齐全的AI智能体。

pip install agent-framework

dotnet add package Microsoft.Agents.AI

工作流程和工具
除了简单的顺序管道之外,该框架还支持并发、切换和群聊工作流。开发人员可以使用 MCP 服务器、托管解释器或 API 使用外部工具增强代理。例如,一个演示将写作代理与编辑代理连接起来以自动优化输出,而更复杂的工作流程则支持客户服务或研究管道。

从Semantic kernel和 AutoGen 迁移路径
Microsoft 强调现有开发人员的连续性。"Semantnic Kernel用户用智能体和工具抽象替换内核和插件模式",而 AutoGen 用户将 AssistantAgent 映射到新的 ChatAgent,受益于检查点、简化的消息传递和更强的持久性。该公司表示,"Microsoft Agent Framework 并不能取代以前的东西------它是将创新和稳定性结合在一起的自然演变。

可用性
Microsoft 代理框架现已在 GitHub 上的 MIT 许可下提供,其中包含文档、示例和 Microsoft Learn 模块。开发人员还可以通过 GitHub Codespaces 测试代理,并按照 Python 和 .NET 的教程进行作。

相关链接:

  • 1\] Introducing Microsoft Agent Framework: The Open-Source Engine for Agentic AI Apps:[https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/](https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/ "https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/")

  • 3\]Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer: [https://devblogs.microsoft.com/dotnet/introducing-microsoft-agent-framework-preview/](https://devblogs.microsoft.com/dotnet/introducing-microsoft-agent-framework-preview/ "https://devblogs.microsoft.com/dotnet/introducing-microsoft-agent-framework-preview/")