Microsoft Agent Framework vs Semantic Kernel vs AutoGen in 2026

We ran the same tool calling job in Microsoft Agent Framework, Semantic Kernel, and AutoGen and compared support status, tool loop and memory defaults, install size, security, and how to migrate.

Last updated October 24, 2026. We installed all three frameworks that day, ran the same tool calling job in each with every model request captured, and checked releases, downloads, support status, and advisories on GitHub, PyPI, Microsoft Learn, and OSV.

Microsoft Agent Framework vs Semantic Kernel vs AutoGen is no longer a choice between three equals: Agent Framework is the successor to both, Semantic Kernel is in fixes only support, and AutoGen is archived. All three come from Microsoft, so the real question is what to build new work on and how fast to move existing code.

This page sits in our agent frameworks hub, and our guide to the 12 best AI agent frameworks compares Microsoft’s stack with independent options such as LangGraph, CrewAI, and Pydantic AI. Here we stay inside the Microsoft family and show what changed, what each framework does by default, and what a migration involves.

On October 24, 2026 we installed each framework into a clean Python 3.12 environment and ran one identical job five times per setting against a scripted local model, saving every request body. No vendor paid for placement or reviewed this page, per our editorial standards and disclosure policy.

TL;DR

  • Microsoft Agent Framework is the one to build on. It reached 1.0 for Python on April 2, 2026, shipped 61 Python releases in the last 12 months, and is the named successor in both other READMEs.
  • Semantic Kernel still works but gets fixes, not features. Microsoft calls Agent Framework Semantic Kernel v2.0 and committed to support 1.x for at least one year after Agent Framework GA.
  • AutoGen is archived. Its README says Microsoft provides no bug fixes, security fixes, features, or support, and its last release, 0.7.5, shipped on September 30, 2025.
  • AutoGen stops after the tool call by default. In our test it returned raw tool text in 1 model call, while Agent Framework and Semantic Kernel looped back for a written answer in 2.
  • Memory works differently. AutoGen agents remembered the last turn on their own, while Agent Framework needed a session and Semantic Kernel needed a thread, or they forgot.
  • Agent Framework can be the lightest install. Core plus the OpenAI package took 21 packages and 37 MB, against 95 packages and 381 MB for Semantic Kernel.

Microsoft Agent Framework vs Semantic Kernel vs AutoGen at a Glance

Agent Framework combines the enterprise features of Semantic Kernel with the multi agent patterns of AutoGen, and adds graph workflows with checkpoints. The table compares status, fit, maintenance, and footprint, using each project’s repository, PyPI, Microsoft Learn, and our own test on October 24, 2026.

FrameworkStatusBest forLatest Python releaseLanguagesInstall, our test
Microsoft Agent FrameworkActive, 1.x GANew agents and multi agent workflows1.23.0, October 22, 2026Python, .NET, Go preview21 packages, 37 MB (core plus OpenAI)
Semantic KernelFixes and security onlyRunning apps that need time to migrate1.45.0, October 6, 2026Python, .NET, Java95 packages, 381 MB
AutoGenArchived, no fixesReading old code and planning a migration0.7.5, September 30, 2025Python, .NET28 packages, 59 MB
Microsoft Agent Framework, Semantic Kernel, and AutoGen compared on status, fit, maintenance, languages, and install size. Sources: GitHub, PyPI, Microsoft Learn, and an AgentStack test on October 24, 2026.

Verdict: Start every new Microsoft agent project on Agent Framework. Keep a working Semantic Kernel app running while you plan the move, and treat any AutoGen code in production as a migration project with a deadline, because security issues in it will not be patched.

Three cards with the Agent Framework, Semantic Kernel, and AutoGen logos labeled build here, plan the move, and migrate off
Where each Microsoft agent framework fits as of October 24, 2026, based on project READMEs and the Semantic Kernel support statement. Image: AgentStack, with logos from Microsoft.

How We Tested the Three Frameworks

To compare the three frameworks on equal terms, we built the same job in each: a shop assistant calls one price lookup tool, then writes a one line summary. We pointed every framework at a local server that played the model’s part with fixed replies, so runs were offline, free, and repeatable, and every request body was saved.

  • Same code path where possible: Agent with OpenAIChatCompletionClient in Agent Framework, ChatCompletionAgent with a plugin in Semantic Kernel, and AssistantAgent in AutoGen, all with the same instructions and tool.
  • Defaults first: five runs per framework, counting model calls, tool calls, request bytes, and run time. AutoGen ran twice, once with its default settings and once with reflect_on_tool_use=True.
  • Memory test: a two turn conversation where the second turn asks for an order code given in the first, with and without each framework’s session or thread object.
  • Network check: all traffic went through a logging proxy that refused outside connections.
  • Install, advisories, and health: package count and disk size after uv pip install, OSV lookups for every installed package, and release, download, and star counts checked the same day.

What Our October 24 Hands-On Test Found

All three frameworks called the tool correctly in 5 of 5 runs, but only Agent Framework and Semantic Kernel turned the tool result into an answer without extra settings. AutoGen returned the raw tool string, because its AssistantAgent stops after one round of tool calls unless you change two defaults.

Bar chart of request bytes for one tool job in Agent Framework, Semantic Kernel, and AutoGen with and without reflection
Total request bytes sent to the model for the same tool job in each framework, median of five runs, from an AgentStack hands-on test on October 24, 2026. Image: AgentStack.
  • Agent Framework: 2 model calls, 1 tool call, 1,229 request bytes, and a median run of 0.62 seconds including a 0.5 second import.
  • Semantic Kernel: 2 model calls and 1,183 bytes, with a median run of 1.76 seconds, mostly a 1.62 second import. It renamed our tool to Shop-get_price, prefixing the plugin name.
  • AutoGen, default: 1 model call and 552 bytes. The final message was Acme Widget (ACME-1): 42 dollars, the tool output itself.
  • AutoGen, reflection on: 2 model calls and 1,030 bytes, and the same summary the other two produced.
  • Network: 0 outside connections in all 35 runs across the three frameworks.

Memory was the biggest behavioral difference: an AutoGen agent keeps its history between calls, while Agent Framework and Semantic Kernel start fresh unless you pass a session or thread. Without one, both answered the follow up with “I do not know your order code.” With AgentSession or ChatHistoryAgentThread, both recalled it in 5 of 5 runs, using 2,200 and 2,131 bytes over 3 calls.

The stateless default in Agent Framework is deliberate: one agent object can serve many users without leaking one user’s history into another’s. The AutoGen migration guide spells out the other default change, saying Agent is multi turn by default and keeps invoking tools until it can return a final answer.

1. Microsoft Agent Framework: Best for New Agent Projects

Microsoft Agent Framework GitHub repository page with the README banner and production grade agents description
Microsoft Agent Framework repository README on GitHub, captured October 24, 2026. Image: Microsoft.

Microsoft Agent Framework is an open source framework for building agents and multi agent workflows in Python and .NET, built by the teams behind Semantic Kernel and AutoGen. Python 1.0 shipped on April 2, 2026, and the latest release, 1.23.0, shipped on October 22, 2026. The repository has 14,296 stars and agent-framework-core was downloaded 1,005,851 times on PyPI last month.

The overview docs split the framework into agents and workflows. Agents cover tools, middleware, sessions, memory, and OpenTelemetry tracing, while workflows are typed graphs with checkpointing, human in the loop pauses, and time travel. It speaks both the Model Context Protocol and Agent2Agent, and the version 1.0 announcement adds declarative YAML agents and a local DevUI.

Agent Framework ships as many small packages, so install agent-framework-core plus the provider you use instead of the full meta package. In our test the full agent-framework package pulled 211 packages and 730 MB, while core plus agent-framework-openai needed 21 packages and 37 MB. Anthropic and Ollama connectors exist as beta packages, and a Go SDK is in public preview.

Bar chart of disk space and package count after clean installs of Agent Framework, Semantic Kernel, and AutoGen
Disk space and package count after a clean install of each framework, from an AgentStack install test on October 24, 2026. Image: AgentStack.
  • Best for: teams starting a new agent or multi agent system in Python or .NET, especially on Azure and Microsoft Foundry.
  • Pricing (October 2026): free under MIT. You pay for model usage and any Azure or Foundry hosting you choose.
  • Watch out for: a weekly release pace and features still marked preview, so pin versions and check which packages are beta before you depend on them.

2. Semantic Kernel: Best for Existing Apps Until You Migrate

Semantic Kernel GitHub README with an Important notice saying Semantic Kernel is now Microsoft Agent Framework
Semantic Kernel repository README on GitHub with the successor notice, captured October 24, 2026. Image: Microsoft.

Semantic Kernel is Microsoft’s original model agnostic SDK for adding AI to apps, and its README now opens with the line Semantic Kernel is now Microsoft Agent Framework. Python 1.45.0 and .NET 1.81.0 both shipped on October 6, 2026. The repository has 28,696 stars and PyPI counted 300,767 downloads last month.

Microsoft Dev Blogs FAQ explaining Semantic Kernel 1.x support and Agent Framework as Semantic Kernel v2.0
Semantic Kernel support statement on the Microsoft Agent Framework blog, captured October 24, 2026. Image: Microsoft.

The support statement from Microsoft’s Shawn Henry calls Agent Framework Semantic Kernel v2.0, built by the same team. Microsoft will keep fixing critical bugs and security issues in 1.x and support it for at least one year after Agent Framework GA, but the majority of new features go to Agent Framework. With Python GA on April 2, 2026, that floor reaches into April 2027.

Semantic Kernel is still the only one of the three with a Java SDK, which matters for Java shops that cannot move yet. Its Kernel object, plugins, and vector store connectors remain stable, and Python releases slowed to 18 in the last 12 months. That pace suits teams that want fewer upgrades, as long as security fixes keep coming.

  • Best for: teams with a working Semantic Kernel app in production, and Java teams that need Microsoft’s SDK today.
  • Pricing (October 2026): free under MIT. You pay for model usage only.
  • Watch out for: the heaviest install in our test at 381 MB, and a pinned werkzeug version that OSV flags, covered in the security section below.

3. AutoGen: Only for Reading Old Code and Planning a Migration

AutoGen GitHub README with an archived status badge and a caution that the project is no longer maintained
AutoGen repository README on GitHub with the archived notice, captured October 24, 2026. Image: Microsoft.

AutoGen is the multi agent research framework from Microsoft Research that made group chat patterns popular, and it is now archived with no bug or security fixes. The repository still has 61,540 stars and PyPI counted 379,923 downloads of autogen-agentchat last month, so plenty of code still depends on it.

The README advises against production use and points new users to Agent Framework. No version has shipped since 0.7.5 on September 30, 2025, and AutoGen is not the same project as AG2, the community fork that continues under its own name. Our install still worked with the current OpenAI SDK, though it printed a model mapping warning on every call.

AutoGen keeps a few features that Agent Framework lists as planned, including local code execution and a distributed runtime. The migration guide also maps Swarm and SelectorGroupChat to future Agent Framework patterns, so check those gaps before you schedule the move.

  • Best for: existing AutoGen projects that need a stable reference while the team ports them.
  • Pricing (October 2026): free under MIT for the code. You pay for model usage only.
  • Watch out for: unpatched vulnerabilities in AutoGen or its dependencies, since Microsoft no longer ships security fixes.

Maintenance and Security Compared

Release pace now tracks Microsoft’s investment: Agent Framework ships about weekly, Semantic Kernel ships fixes, and AutoGen ships nothing. The table shows each project’s release count, downloads, stars, license, and the advisories OSV returned for our installs on October 24, 2026.

FrameworkPython releases, last 12 monthsPyPI downloads, last monthGitHub starsLicenseOSV advisories, our install
Microsoft Agent Framework611,005,851 (core)14,296MIT0 in 21 packages
Semantic Kernel18300,76728,696MITwerkzeug 3.1.1, Windows only path issues
AutoGen0379,923 (agentchat)61,540MIT code0 in 28 packages
Maintenance and security data for Microsoft Agent Framework, Semantic Kernel, and AutoGen. Sources: PyPI, GitHub, and OSV, checked October 24, 2026.
Bar chart of Python releases in the last 12 months: Agent Framework 61, Semantic Kernel 18, AutoGen 0
Python releases on PyPI in the 12 months to October 24, 2026, with the latest version of each framework. Image: AgentStack.

Semantic Kernel had two critical advisories in February 2026: a remote code execution flaw in the InMemoryVectorStore filter, fixed in Python 1.39.4, and an arbitrary file write through agent function calling, fixed in Python 1.39.3 and .NET 1.71.0. Both were patched fast, which is the support Microsoft promised for 1.x. AutoGen will not get that treatment for future bugs.

Semantic Kernel 1.45.0 installs werkzeug 3.1.1, because its openapi-core dependency caps werkzeug below 3.1.2. OSV lists eight advisories for that version, each covering Windows device names in safe_join, with the latest fix in 3.1.9. They matter only if you serve files with werkzeug on Windows. Read our AI agent security tools guide for scanning agent dependencies.

How to Migrate to Microsoft Agent Framework

Both migration guides follow the same idea: fewer objects, agents that create their own sessions, and plain functions as tools. The Semantic Kernel guide drops the required Kernel instance and moves .NET code to the Microsoft.Agents.AI namespace, while the AutoGen guide replaces Teams with typed workflows.

Microsoft Learn guide listing key differences between AutoGen and Agent Framework in orchestration, tools, and runtime
Key differences section of the AutoGen to Agent Framework migration guide on Microsoft Learn, captured October 24, 2026. Image: Microsoft.
ConceptSemantic KernelAutoGenAgent Framework
AgentChatCompletionAgent with a KernelAssistantAgentAgent, no Kernel needed
Tools@kernel_function in a plugin classFunctionTool or plain functions@tool or plain functions
Conversation stateAgentThread created by the callerKept inside the agentAgentSession created by the agent
Tool loopAutomatic function callingOne round unless max_tool_iterations is raisedLoops until a final answer
Multi agentAgent orchestration patternsTeams and GraphFlowWorkflows with typed edges and checkpoints
How core concepts map from Semantic Kernel and AutoGen to Microsoft Agent Framework in Python. Sources: Microsoft Learn migration guides, checked October 24, 2026.

This is the Agent Framework version of our test job with memory, the pattern most migrations end up with. The session object replaces a Semantic Kernel thread and makes AutoGen’s implicit history explicit.

import asyncio
from agent_framework import Agent, tool
from agent_framework.openai import OpenAIChatCompletionClient

@tool
def get_price(sku: str) -> str:
    """Look up the price of a product by SKU."""
    return "Acme Widget (ACME-1): 42 dollars"

agent = Agent(client=OpenAIChatCompletionClient(model="gpt-5-mini"),
              name="shop", instructions="Use get_price to answer price questions.",
              tools=[get_price])
async def main():
    session = agent.create_session()
    await agent.run("My order code is ZX-71. Look up the Acme price.", session=session)
    reply = await agent.run("What was my order code?", session=session)
    print(reply.text)

asyncio.run(main())

Note that Agent Framework’s OpenAIChatClient uses the OpenAI Responses API, so pick OpenAIChatCompletionClient if your endpoint only speaks Chat Completions, as our local test server did. Run the old and new versions side by side with the same prompts, and compare outputs in one of the AI agent evaluation tools we reviewed before you switch traffic.

When to Look Beyond Microsoft’s Frameworks

All three tie you to Microsoft’s design choices and, for the richest features, to Azure and Foundry. Teams that want a provider neutral stack can pick from several mature frameworks, and our full frameworks guide compares them on the same criteria.

Agent Framework, Semantic Kernel, or AutoGen: Which Should You Choose?

The right answer depends on what you already run, which language your team uses, and how much risk you can carry on unmaintained code. Match your team to a profile below, then run your own job with request bodies logged before you commit.

Teams starting a new agent project

  • Build on Agent Framework and install core plus one provider package.
  • Pass a session for every user conversation, since agents start stateless.
  • Wire OpenTelemetry traces into one of the AI agent observability tools we tested.

Teams with Semantic Kernel in production

  • Stay on the latest 1.x release so critical fixes keep landing.
  • Port one agent at a time, starting with agents that need new features.
  • Track spend during the overlap with our LLM cost monitoring tools picks.

Teams with AutoGen code anywhere

  • Inventory every AutoGen service and set a migration date now.
  • Check the planned items first: code execution, distributed runtime, Swarm, and SelectorGroupChat.
  • Test the ported agents with the tools in our AI agent testing tools guide.

Java or multi language teams

  • Keep Semantic Kernel for Java services, since Agent Framework covers Python, .NET, and Go preview.
  • Version prompts across languages with the prompt management tools we compared.
  • Put one of the LLM gateways we reviewed in front of every service for shared keys and limits.

Frequently Asked Questions

Is Semantic Kernel being replaced by Microsoft Agent Framework?

Yes. Microsoft describes Agent Framework as Semantic Kernel v2.0, built by the same team, and the Semantic Kernel README names it the successor. Semantic Kernel 1.x still gets critical bug and security fixes and will be supported for at least one year after Agent Framework GA, but most new features ship only in Agent Framework.

Is AutoGen still maintained?

No. The AutoGen README marks the project archived and says Microsoft provides no bug fixes, security fixes, new features, or support. The last release, 0.7.5, shipped on September 30, 2025. Microsoft points new users to Agent Framework and publishes a migration guide for existing AutoGen code on Microsoft Learn.

Is Microsoft Agent Framework production ready?

Yes for its GA features. Python 1.0 shipped on April 2, 2026, with stable APIs and a long term support commitment, and version 1.23.0 followed on October 22, 2026. Some connectors, such as Anthropic and Ollama, and the Go SDK are still beta or preview, so check package versions before you depend on them.

What is the difference between AutoGen and AG2?

AutoGen is Microsoft’s original project, now archived in favor of Agent Framework. AG2 is a separate community fork that kept developing the earlier AutoGen 0.2 style API under its own name and package. Code written for AutoGen 0.4 and later, such as autogen-agentchat, does not move to AG2 without changes, so treat them as different frameworks.

Can Semantic Kernel and Agent Framework run in the same app?

Yes. They install as separate packages, so you can keep existing Semantic Kernel agents running while you port others to Agent Framework one at a time. The Microsoft Learn migration guide shows side by side code for agents, threads, and tools. Keep both on current releases during the overlap so security fixes reach both.

Teams migrating from CrewAI often weigh Microsoft Agent Framework against AG2 and LangGraph. Our CrewAI alternatives ranking compares all eight options, including the Azure and .NET path.

Microsoft’s Agent Framework covers Azure and .NET; TypeScript teams often compare Mastra, Vercel AI SDK and LangGraph.js instead. Our Mastra vs Vercel AI SDK vs LangGraph.js head-to-head tests the JS/TS side of that choice.

For related coverage, see our LangGraph vs CrewAI vs AutoGen comparison, OpenAI Agents SDK vs Claude Agent SDK vs Google ADK comparison, LangGraph alternatives ranking, LangChain vs LangGraph vs Deep Agents comparison, open source AI agent frameworks you can self-host, multi-agent frameworks test and TypeScript AI agent frameworks ranking.

Read the agent frameworks hub, 12 best AI agent frameworks, AgentOps hub, agent observability coverage, AI agent observability tools, open source LLM observability, AI agent evaluation tools, AI agent testing tools, prompt management tools, LLM cost monitoring tools, LLM gateways, agent security hub, AI agent security tools, MCP explained, MCP servers, and MCP security tools. Notes on how we work sit on editorial standards, disclosure, and contact.

The Bottom Line

Choose Microsoft Agent Framework for new work, keep Semantic Kernel only as long as a migration takes, and move off AutoGen first because it no longer receives security fixes. The biggest finding in Microsoft Agent Framework vs Semantic Kernel vs AutoGen was default behavior, so retest tool loops and memory after you port each agent.

Agent Framework ships weekly, so rerun a logged test after each upgrade and check this page for updates. Send corrections or your own results through our contact page.