Microsoft Agent Framework vs Semantic Kernel (2026)
Updated By Agent Radar5 min read
Short answer
Microsoft Agent Framework vs Semantic Kernel: MAF is the successor for new agent code; SK stays supported. API differences, support window, migration.
Top pick: Microsoft Agent Framework. Microsoft's current framework for agents and graph-based multi-agent workflows in Python and .NET, with a Go SDK in a separate repo. Microsoft calls it the successor to Semantic Kernel and AutoGen.
For new agent code, use Microsoft Agent Framework (MAF). Microsoft built it as Semantic Kernel's successor, with the same team, and the Semantic Kernel README now opens by saying "Semantic Kernel is now Microsoft Agent Framework." Semantic Kernel is still maintained, so existing production code does not have to move this quarter. But new agent features go to MAF, and the migration is mostly renames. Sources checked 2026-11-09.
Quick comparison
| Microsoft Agent Framework | Semantic Kernel | |
|---|---|---|
| Status | Current framework; 1.0 on PyPI April 2, 2026 | Maintained predecessor; README points to MAF |
| Languages | Python, .NET; Go in a separate repo | Python, .NET, Java |
| Python package | agent-framework (core plus provider packages) | semantic-kernel with extras |
| .NET package | Microsoft.Agents.AI | Microsoft.SemanticKernel |
| Agent model | One Agent over any chat client, plus CopilotStudioAgent and A2AAgent | Per-service classes: ChatCompletionAgent, AzureAIAgent, OpenAIAssistantAgent |
| Tools | Plain functions, optional @tool decorator | @kernel_function plus plugin plus Kernel |
| Multi-agent | Graph workflows: sequential, concurrent, handoff, group chat, checkpointing | Agent orchestration and the Process Framework |
| Latest Python release | 1.25.0, November 7, 2026 | 1.47.0, November 5, 2026 |
| Python floor | 3.11 | 3.11 (tested to 3.14) |
| License | MIT | MIT |
How they differ
Who gets new features
Microsoft's October 2025 FAQ told developers to think of Agent Framework as "Semantic Kernel v2.0," built by the same team. Semantic Kernel 1.x keeps getting critical bug and security fixes, and a few existing features were to reach GA, "but the majority of new features will be built for Microsoft Agent Framework." The support promise was at least one year after MAF became generally available. MAF 1.0.0 landed on PyPI on April 2, 2026, so that promise runs to at least April 2027.
Semantic Kernel has not stopped releasing. Python 1.47.0 shipped on November 5, 2026, dropping Python 3.10 and fixing MCP prompt arguments, history truncation and several vector store connectors. .NET 1.82.0 followed on November 7. Those are mostly fixes and dependency updates, though, not new agent features.
Less wiring in Agent Framework
The migration guide shows where the code shrinks:
- No Kernel. In Semantic Kernel every agent depends on a
Kernelinstance. In MAF you pass a chat client toAgent(...)or callclient.as_agent(instructions=...). - One agent type. MAF's
Agentcovers Foundry, OpenAI Chat Completions and OpenAI Responses. There is no separate class per service. - Tools are functions. A Python function's name and docstring become the tool name and description. You don't need decorators or a plugin class.
- Sessions come from the agent.
agent.create_session()replaces creatingChatHistoryAgentThreador a service-specific thread yourself. invokebecomesrun. A non-streaming call returns oneAgentResponsewith.textand.messages. Streaming isrun(..., stream=True).- Typed options. Settings move from
KernelArgumentsand execution-settings objects to adefault_options/optionsdict with provider-specific TypedDicts.
What you keep from Semantic Kernel
You do not have to rewrite everything at once. From semantic-kernel 1.38, as_agent_framework_tool turns a KernelFunction into an MAF tool. That works for prompt-template functions, @kernel_function methods, and the create_search_function of any Semantic Kernel vector store collection. So the usual path is to move the agent loop first and bring your plugins and vector search along as tools.
The cost of being current
MAF moves fast. The Python side shipped 1.21.0 through 1.25.0 between October 8 and November 7, 2026, and 1.25.0 marked seven changes as breaking: Python 3.11 minimum, bounded MCP discovery and 30-second timeouts, workflow agents bound to one authorization scope, renamed workflow spans and more. Each came with a migration note. Pin versions and read release notes before you upgrade. Semantic Kernel changes less, which is the remaining argument for leaving a stable SK service alone for now.
When Semantic Kernel is still the right call
- You run it in production and nothing on your roadmap needs MAF-only features. Plan the migration, but you don't have to rush it.
- You need Java. MAF has no Java SDK. Its third language is Go.
- Your app relies on Semantic Kernel's Process Framework or a connector you haven't checked in MAF yet. Confirm MAF has an equivalent before you switch.
For other framework pairings see LangChain vs LangGraph and LangGraph vs Google ADK, or browse the frameworks category, which includes AG2, the AutoGen offshoot.
The tools
Microsoft's current framework for agents and graph-based multi-agent workflows in Python and .NET, with a Go SDK in a separate repo. Microsoft calls it the successor to Semantic Kernel and AutoGen.
Pros
- Where Microsoft says new agent features land; 1.0 shipped on PyPI April 2, 2026 and minor releases come about weekly
- One Agent type over many chat clients, tools as plain functions, no Kernel object to wire up
- Workflows with checkpointing, human-in-the-loop, OpenTelemetry, declarative YAML agents and a local DevUI
Cons
- Fast release cadence with real breaking changes: 1.25.0 alone marked seven entries as breaking
- No Java SDK; Semantic Kernel has one
Microsoft's earlier model-agnostic SDK for agents, plugins and vector stores in Python, .NET and Java. Still released and supported, but its README now points to Agent Framework.
Pros
- Mature plugin model: native functions, prompt templates, OpenAPI specs and MCP
- Broad vector store connectors that Agent Framework agents can reuse as tools
- Java support through semantic-kernel-java
Cons
- Microsoft says most new features go to Agent Framework, not here
- Every agent depends on a Kernel instance; tools need decorators and plugin wrapping
Questions
Is Semantic Kernel deprecated?
Not deprecated, but succeeded. Its README says Semantic Kernel is now Microsoft Agent Framework and calls MAF the enterprise-ready successor. Microsoft's October 2025 FAQ promised critical bug and security fixes for Semantic Kernel 1.x for at least one year after Agent Framework became generally available. Releases continue: Python 1.47.0 on November 5 and .NET 1.82.0 on November 7, 2026.
Should a new project use Microsoft Agent Framework or Semantic Kernel?
Agent Framework. Microsoft's own guidance was to start new projects on it once it reached general availability, and version 1.0 has been on PyPI since April 2, 2026. Pick Semantic Kernel for new code only if you need its Java SDK.
How hard is it to migrate from Semantic Kernel to Agent Framework?
The official migration guide lists mostly mechanical changes: new packages and imports, one Agent type instead of ChatCompletionAgent, AzureAIAgent and OpenAIAssistantAgent, sessions created by the agent, plain functions as tools, and invoke renamed to run. Existing KernelFunction objects can be wrapped with as_agent_framework_tool from semantic-kernel 1.38 or later, so you can move gradually.
Can I keep my Semantic Kernel vector stores?
Yes. The migration guide shows a Semantic Kernel vector store collection's create_search_function converted into an Agent Framework tool, and says the pattern works with any Semantic Kernel VectorStore connector.
Which Python versions do they support?
Both now need Python 3.11 or later. Semantic Kernel Python 1.47.0 removed 3.10 and tests 3.11 through 3.14; Agent Framework 1.25.0 removed 3.10 on November 7, 2026.
Are both free and open source?
Yes. The GitHub API reports MIT for microsoft/agent-framework and microsoft/semantic-kernel. You pay your model provider, or Azure if you host on Microsoft Foundry.