Short answer: In the Microsoft Agent Framework vs Semantic Kernel question, Microsoft’s own docs settle it: Agent Framework is the direct successor to Semantic Kernel, built by the same teams. Start new agent projects on Agent Framework. Keep Semantic Kernel only for existing code that works today, and plan a move using Microsoft’s migration guide.
Both are free and open source under the MIT license. Our Microsoft Agent Framework page covers the newer one. Semantic Kernel has no page of its own on Klyvoo. This post covers what changed, what the code looks like and how to choose.
Microsoft Agent Framework vs Semantic Kernel at a glance
| Microsoft Agent Framework | Semantic Kernel | |
|---|---|---|
| Status | Successor to Semantic Kernel and AutoGen | Its GitHub page says it is now Microsoft Agent Framework |
| Languages | Python and .NET; Go in public preview | Python, .NET and Java |
| License | MIT | MIT |
| Price | Free; you pay for model and hosting usage | Free; you pay for model usage |
| Install (Python) | pip install agent-framework | pip install semantic-kernel |
| Core idea | Agents plus graph-based workflows | A Kernel with plugins and connectors |
| Tools | Plain functions passed to the agent | Plugins added to a Kernel |
| Best for | New agent projects | Existing apps already built on it |
What is Semantic Kernel?
Semantic Kernel is an open-source development kit for putting AI models into C#, Python or Java code. Microsoft’s overview describes it as a lightweight kit that works as middleware. It turns a model’s request into a function call in your own code and passes the result back.
Its main building blocks are the Kernel, plugins and connectors. You wrap existing code as a plugin, register it with a Kernel and let the model call it. It also has hooks and filters plus telemetry, which is why many enterprise teams adopted it.
Semantic Kernel was an early framework for agents and multi-agent patterns. Its own repository now opens with a notice that Semantic Kernel is now Microsoft Agent Framework, “the enterprise-ready successor to Semantic Kernel.” The README does not say the project is in maintenance mode, so we do not claim that either.
What is Microsoft Agent Framework?
Microsoft Agent Framework is an open-source framework for building, orchestrating and deploying AI agents and multi-agent workflows in Python and .NET. Go support is in public preview. Microsoft’s docs say it combines AutoGen’s simple agent abstractions with Semantic Kernel’s enterprise features and adds graph-based workflows for explicit control over multi-agent execution.
Microsoft’s overview groups it into four areas:
- Agents: single agents that call an LLM, use tools and MCP servers and return a response. Providers include Microsoft Foundry, Anthropic, Azure OpenAI, OpenAI and Ollama.
- Harness Agent: an opinionated agent for long, multi-step tasks, with planning, todo tracking, context compaction, file access and memory.
- Workflows: functional and graph-based paths that connect agents and functions.
- Integrations: model providers, tools, context providers, middleware, evaluation and UI frameworks.
It also ships session-based state, middleware and MCP clients. Our MCP servers directory lists servers you can connect to those clients.
Why Microsoft replaced one with the other
The short version is consolidation. Microsoft had two popular projects: AutoGen for multi-agent experiments and Semantic Kernel for enterprise integration. Agent Framework is the direct successor to both, created by the same teams.
The docs say it keeps AutoGen’s simple single- and multi-agent patterns and Semantic Kernel’s session-based state management, type safety, filters and telemetry. It then adds workflows with a state system for long-running and human-in-the-loop scenarios. Microsoft publishes migration guides from both projects.
How the code differs
Microsoft’s migration guide lists the differences side by side. The pattern is fewer moving parts.
Creating an agent. In Semantic Kernel every agent depends on a Kernel instance, and there are separate classes per service, such as ChatCompletionAgent, OpenAIAssistantAgent and AzureAIAgent. In Agent Framework you call a convenience method on a client:
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
agent = FoundryChatClient(credential=AzureCliCredential()).as_agent(
instructions="You are a helpful assistant"
)
Registering tools. Semantic Kernel needs a @kernel_function decorator, a plugin and a Kernel passed to the agent. Agent Framework takes a plain function:
def get_weather(location: str) -> str:
"""Get the weather for a given location."""
return f"The weather in {location} is sunny."
agent = chat_client.as_agent(tools=get_weather)
Conversations. Semantic Kernel makes the caller pick and create the right thread type. In Agent Framework the agent creates the session with agent.create_session().
Running. invoke becomes run, and streaming becomes run(..., stream=True). A non-streaming run returns one response object that can hold several messages, including tool calls and the final answer.
In .NET the namespaces move from Microsoft.SemanticKernel.Agents to Microsoft.Agents.AI, and the framework uses the message types from Microsoft.Extensions.AI.
What carries over and what does not
Most of the ideas carry over. Both give you model connectors, tool calling, telemetry and a way to keep conversation state. The names change more than the concepts: a Kernel becomes a client, a plugin becomes a list of tools and a thread becomes a session.
Two things do not carry over directly. The first is the plugin wrapper: Agent Framework has no plugin concept, though a class with several tool methods still works if you like that structure. The second is thread deletion. Agent Framework has no delete call on the session type, because not every provider supports hosted chat history. If you need deletion, keep track of the sessions you create and use the provider’s own SDK.
Note that the Semantic Kernel overview page on Microsoft Learn shows a 2024 update date, so treat the repository notice and the migration guide as the current word.
Where each one wins
Agent Framework wins for anything new. You get less boilerplate, workflows for multi-step jobs and a framework that Microsoft is building forward. Our directory picks it as the best choice for .NET teams. The tradeoff is that its hosting tools lean toward Microsoft Foundry and Azure, and Go is still a preview.
Semantic Kernel wins on one thing: it already works. If you have a production app on it, the code runs and your team knows it, there is no rush to rewrite. It also has a Java version, and the Agent Framework repository covers only Python and .NET. If you need Java, Semantic Kernel is still the Microsoft option that lists it.
Migrating from Semantic Kernel
Microsoft’s guide lays out a gradual path rather than a big-bang rewrite:
- Install the new package (
pip install agent-frameworkor theMicrosoft.Agents.AINuGet package). - Swap agent creation to the client convenience methods and drop the
Kernelfrom agent code. - Replace plugins with plain tool functions where you can.
- Move thread handling to sessions.
- Rename
invokecalls torun.
For plugin code you do not want to touch yet, there is a bridge. With semantic-kernel version 1.38 or higher you can convert a KernelFunction into an Agent Framework tool with as_agent_framework_tool. That lets you migrate agents first and plugins later.
What neither does
Neither is a no-code builder. You write and host the code, and both need a model provider. Neither is a hosted agent product: Agent Framework can run on Foundry, but you still own the application.
Microsoft also warns that if you connect third-party servers, agents or models, you do so at your own risk and your data may leave your Azure compliance boundaries. Review what you share. For other ways to build agents outside the Microsoft stack, read our LangGraph and the Agent SDKs comparison or the Google ADK vs LangGraph post.
Which should you choose?
- You are starting a new agent project in Python or .NET: Agent Framework.
- You have a working Semantic Kernel app: keep it running and migrate in stages.
- You need Java: Semantic Kernel, since Agent Framework lists Python, .NET and Go.
- You use AutoGen: Agent Framework. It is the direct successor to AutoGen as well.
- You want explicit control over multi-agent steps: Agent Framework workflows.
- You are not tied to Microsoft: compare options on our best AI agent frameworks page, including LangGraph.
FAQ
Is Semantic Kernel being replaced by Microsoft Agent Framework?
Microsoft calls Agent Framework the direct successor to Semantic Kernel, and the Semantic Kernel repository carries a notice that it is now Microsoft Agent Framework. Microsoft publishes a migration guide for existing users.
Is Microsoft Agent Framework free?
Yes. The framework is open source under the MIT license. You pay for the model APIs you call and for any Azure hosting you choose. Microsoft Foundry hosting follows Azure’s usage-based pricing.
Can I still use Semantic Kernel?
Yes. It is still published and MIT licensed, and its docs cover C#, Python and Java. For new projects Microsoft points to Agent Framework, so check the repository notice before committing to a long project on it.
Does Agent Framework work with models other than OpenAI?
Yes. Microsoft lists Microsoft Foundry, Anthropic, Azure OpenAI, OpenAI and Ollama among the supported providers, with more on its integrations page.
How hard is it to migrate from Semantic Kernel?
The changes are mostly renames and removals: no Kernel, tools as plain functions, sessions instead of threads and run instead of invoke. You can migrate in stages, and a compatibility method converts existing kernel functions into tools.
What is the difference between Agent Framework and AutoGen?
Agent Framework is the successor to AutoGen too. It keeps AutoGen’s simple multi-agent abstractions and adds Semantic Kernel’s enterprise features plus graph-based workflows. Microsoft has a separate migration guide from AutoGen.
Keep reading
Facts here come from Microsoft’s Agent Framework overview, its migration guide from Semantic Kernel and the Semantic Kernel overview, checked in October 2026. For the full field, see our multi-agent systems explainer or the best AI agent frameworks.
