AI 框架和 SDK 之间的竞争日益激烈。随着谷歌最近推出其 Agent Development Kit(ADK),可以明显看出各大科技巨头都在积极布局 AI Agent(智能体)开发领域。本人已经使用微软的 Semantic Kernel 有两年时间,因此非常好奇谷歌的 ADK 与 Semantic Kernel 有何不同。下面我们就来深入对比一番。
AutoGen vs Semantic Kernel:厘清区别
在比较 ADK 和 Semantic Kernel 之前,我们需要先弄清楚微软的 AutoGen 和 Semantic Kernel 之间的区别。这两个都是微软推出的开源 AI 框架,但各自的定位和用途不同:
-
AutoGen:面向研究与创意阶段,适用于快速原型设计和 AI Agent 的实验性探索。
-
Semantic Kernel:定位于企业级应用,提供一整套稳健的工具,用于在生产环境中构建、编排和部署 AI Agent。
根据微软的官方指南,AutoGen 更适合用于探索性项目,而 Semantic Kernel 则专为可扩展、面向生产的 AI 解决方案而设计。
Agents Development Kit 是什么?
谷歌的 Agent Development Kit(ADK)是一个开源框架,旨在简化 AI Agent 的开发与部署。它支持与多种大语言模型(LLM)集成,包括谷歌自家的 Gemini 模型,并专为在 Google Cloud 生态系统中无缝运行而设计。

目前,谷歌 ADK 仅支持 Python。虽然未来可能会扩展到其他编程语言,但就目前而言,Python 是唯一可用的语言。ADK 提供了多个开箱即用的 Agent 类型,包括 LLM Agent、Workflow Agent 和 Custom Agent,帮助开发者快速上手。此外,它还内置了一个编排器,用于在多智能体场景中管理多个 Agent。
模型集成能力:ADK 不仅支持谷歌自家的模型,还可以集成其他大语言模型,包括 OpenAI、Anthropic 等厂商的模型。与其他主流框架(如 Semantic Kernel、AutoGen、LangChain 等)类似,ADK 也支持工具集成和工具调用,使 Agent 能够执行现实世界中的操作。
记忆与会话管理:在多轮对话和长期推理中,有效的记忆管理至关重要。ADK 提供了两种内存服务:InMemoryMemoryService 和 VertexAiRagMemoryService,分别支持短期和长期的记忆能力。
ADK 的一大亮点是其事件驱动架构。在 ADK 中,“事件”是信息流动的基本单位,这种设计使得开发者可以构建出解耦、可扩展且响应迅速的智能体系统。
事件驱动这一点我强烈推荐你去看一下《AI Agent 的未来是事件驱动的》
此外,ADK 还原生支持 MCP,这使得 Agent 与外部服务之间的无缝连接变得更加简单。
什么是 Semantic Kernel?
Semantic Kernel 是微软开发的一个开源 SDK,旨在帮助开发者构建、编排和部署 AI Agent 以及多智能体系统。它能够与多种 LLM 无缝集成,如 OpenAI、Azure OpenAI、Hugging Face、Gemini,以及一些轻量语言模型(SLM),从而创建能够理解并生成类人语言的智能应用。Semantic Kernel 支持 C#、Python 和 Java,多语言的支持使其对更广泛的开发者群体友好。
它采用模块化设计,包含插件(Plugins)、记忆(Memory)、规划器(Planners)等组件,使开发者可以灵活地构建复杂且可定制的 AI 工作流。
Semantic Kernel 提供了记忆组件,支持智能体记住过去的交互,实现短期与长期记忆的能力。它集成了多种记忆后端,包括 Azure AI Search、Postgres、InMemory、Qdrant 和 Redis。
该 SDK 包含两个主要的子框架:
-
Agent Framework —— 是谷歌 ADK 的直接竞争者,提供一个通用接口来构建可插入不同模型的 AI Agent。它支持不同类型的 Agent,如
ChatCompletionAgent
、由平台管理的 Agent(如 OpenAI Assistant Agent 和 Azure AI Agent Service Agent)。 -
Process Framework —— 主要用于建模结构化的业务流程和工作流。目前稳定版本中的 Agent Framework 不是事件驱动的,而 Process Framework 是事件驱动的。不过,两者可以结合使用,从而构建能够响应事件的智能体。
微软在其官方路线图中指出,Semantic Kernel 未来将实现与 AutoGen 的功能对等。AutoGen 已经支持事件驱动的交互,而 Semantic Kernel 的后续版本也预计会加入基于事件的 Agent 通信能力。
Semantic Kernel 也原生支持 MCP,这使得它可以轻松与外部服务集成。
与 Google ADK 不同,Semantic Kernel 并不内置顺序执行(Sequential)、循环(Loop)或并行(Parallel)等工作流 Agent。不过,使用 ChatCompletionAgent 创建自定义 Agent 的过程非常直观。实际上,ChatCompletionAgent 的概念上与 ADK 中的 LLM Agent 非常相似。开发者可以利用 AgentGroupChat 功能轻松构建单智能体或多智能体系统,其中不同平台的 Agent(比如 Azure AI 提供的托管 Agent 和本地构建的 ChatCompletionAgent)可以在同一个多 Agent 系统中协作运行。
Semantic Kernel vs ADK

总结思考
Google 的 ADK 与 Microsoft 的 Semantic Kernel 都是功能强大的 AI Agent 开发框架,各自具备独特的优势。ADK 在与 Google 生态系统的紧密集成以及模块化、事件驱动架构方面表现突出;而 Semantic Kernel 则以其多语言支持、模块化设计以及对企业级应用的强大支持而脱颖而出。
选择哪一个框架,取决于你的具体项目需求、首选的开发环境,以及你所依赖或已经投入使用的技术生态。

(文:PyTorch研习社)