semantic-kernel
微软开源的轻量级AI Agent编排SDK,支持Python/C#/Java多语言,通过Kernel
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
微软开源的轻量级AI Agent编排SDK,支持Python/C#/Java多语言,通过Kernel
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:Semantic Kernel 官方 Logo
想象一下:你正在开发一款企业客服系统,市面上有十几种大语言模型(OpenAI GPT、Azure OpenAI、Hugging Face、开源模型),每家的API格式、调用方式各不相同。如果每次切换模型都要重写大段代码,你的团队会不会崩溃?
Semantic Kernel(简称SK)正是来解决这个痛点的。它是微软开源的轻量级SDK,核心理念是充当应用程序与各种AI能力之间的「中间层」,让开发者像搭积木一样灵活组合AI能力,而无需被某一家模型绑定。
Semantic Kernel最初由微软内部团队于2019年左右启动,最初是作为Copilot(副驾驶)功能的底层编排引擎。随着微软内部对AI集成的需求激增,团队将这套框架逐步通用化,最终于2022年正式开源并发布首个正式版本。
项目由微软多个团队联合维护,包括Azure AI、Microsoft Copilot和.NET团队。截至目前,GitHub星标数突破27000,是AI Agent编排领域最受关注的开源项目之一。
重要更新(2025年): Semantic Kernel已升级为 Microsoft Agent Framework(MAF),MAF v1.0已作为生产级版本正式发布,带来企业级多Agent编排、多模型支持以及A2A/MCP协议互通。Semantic Kernel本身仍持续维护,作为MAF的前身和过渡版本。
Semantic Kernel的架构设计可以用一句话概括:以Kernel(内核)为中枢,以Connectors(连接器)为触手,以Skills(技能)为工具箱。
Kernel(内核):是整个框架的中央调度器,负责管理AI服务(LLM)、内存存储和技能注册。你可以把它理解为一个「AI总线」,所有AI相关请求都经过它路由。开发者可以注册多个AI服务(如同时接入OpenAI和Azure OpenAI),Kernel会自动选择或路由请求。
Connectors(连接器):负责对接具体的AI服务商。目前官方支持的主流连接器包括:
这种设计让「换模型」变得极为简单——只需在配置中新增一个连接器,代码几乎不需要改动。
Skills(技能):是SK最具特色的扩展机制,分两类:
Semantic Skills(语义技能):基于提示词模板(Prompt Template)的技能包,定义输入输出格式,让AI执行特定任务(如翻译、摘要)。开发者只需提供高质量的提示词,SK自动管理上下文和调用逻辑。
Native Skills(原生技能):用C#、Python或Java编写的原生函数,封装为AI可调用的工具。例如一个「计算航班价格」的Python函数,可以直接被AI Agent调用,无需额外胶水代码。
Memory(记忆):SK内置了向量记忆系统,支持与Azure AI Search、Elasticsearch、Chroma、Pinecone、Qdrant等向量数据库集成,为Agent提供长期记忆和上下文检索能力。
微软为SK提供了三套官方SDK,覆盖最主流的企业开发语言:
python/ 子目录):基于Python 3.10+,依赖Pydantic v2、OpenAI SDK、OpenTelemetry等主流库,提供完整Agent、Process、Memory支持dotnet/ 子目录):基于.NET 10.0+,面向企业级.NET应用java/ 子目录):JDK 17+,面向Java企业生态所有SDK共享相同的概念模型和API设计模式,开发者可以在不同语言间平滑迁移。Python版本是目前社区最活跃、文档最完善的版本。
1. AI Agent框架:SK提供了完整的Agent抽象,支持单Agent和多Agent协作。开发者可以定义Agent的角色(System Prompt)、可调用的技能、记忆系统和行为策略。
2. Process Framework(流程框架):支持声明式定义多步骤AI工作流,类似于BPMN流程图。你可以用YAML或代码描述「步骤A -> 步骤B(失败则C)」的复杂流程,SK自动管理状态和错误处理。
3. Plugin系统:原生支持OpenAPI规范导入和MCP(Model Context Protocol),可以将任意REST API转化为AI可调用的工具。目前已有GitHub、Azure、Slack等主流服务的Plugin集成。
4. 观测性(Observability):内置OpenTelemetry支持,自动追踪LLM调用、Agent决策和工具调用链路,方便接入Prometheus、Grafana、Application Insights等监控平台。
5. 规划器(Planners):实验性功能,让AI自动分解用户模糊需求并生成执行计划。例如用户说「帮我规划周末行程」,Planner自动调用日历、技能和搜索工具协作完成。
SK的文档质量在微软开源项目中属于上乘。官方提供了Getting Started系列教程,覆盖从「第一个AI聊天机器人」到「构建多Agent协作系统」的完整路径。
推荐学习顺序:
python/samples/getting_started/下的Jupyter Notebooks(动手第一课)Python版本还提供了make install一键安装脚本,基于uv包管理器,适合快速搭建开发环境。
1. 微软生态绑定:尽管SK强调「模型无关」,但在实践中,Azure AI相关的功能(Azure OpenAI、Azure AI Search、Azure Identity)集成度最深、最成熟。纯开源路线(如完全使用本地模型)的体验相对弱一些。
2. 概念演进快:SK的API在过去两年经历了多次重大变更(如Planner被Process Framework取代),版本迁移有时需要较大改动。微软也坦诚表示,MAF是「后继者」,新项目建议直接用MAF。
3. 非开箱即用:SK本质是SDK,不是一个「运行中的服务」。如果你的团队只是想快速体验AI对话,没有AI开发经验,直接部署SK并不能降低太多门槛——你仍需要编写代码接入。
Semantic Kernel在AI Agent编排领域的影响力不容小觑。它的核心价值在于将「AI能力集成」这件事从艺术变成工程:
从GitHub星标增长曲线看,SK在2023-2024年经历了爆发式增长,与GPT-4发布和AI Agent概念爆发的时间节点高度吻合。可以预见,随着Agentic AI继续火热,SK/MAF将成为企业AI转型的重要基础设施。
Semantic Kernel是一款定位清晰、工程扎实的AI Agent编排SDK。它不是又一个「AI对话框」,而是一套面向开发者的AI能力集成框架。如果你正在构建需要接入大模型、管理AI流程、构建多Agent系统的应用,SK值得认真评估。
不过需要注意的是:项目正在向Microsoft Agent Framework演进,新项目建议直接评估MAF v1.0是否满足需求,以获得更长的维护周期和更好的长期支持。