AI/TLDR

Microsoft Agent Framework: AutoGen + Semantic Kernel

You will understand what Microsoft Agent Framework is, why it exists, and how it consolidates the earlier AutoGen and Semantic Kernel projects into one supported SDK.

INTERMEDIATE8 MIN READUPDATED 2026-06-14

In plain English

Microsoft Agent Framework is Microsoft's single, supported software development kit (SDK) for building AI agents and multi-agent systems. It works in both .NET (C#) and Python, and it is aimed at teams shipping production agents inside the Microsoft and Azure world.

Microsoft Agent Framework — illustration
Microsoft Agent Framework — cdn.analyticsvidhya.com

Here is the part that confuses everyone, so let's say it first: Microsoft used to have two separate agent projects. One was AutoGen, a research-flavored framework for getting multiple agents to talk to each other. The other was Semantic Kernel, an enterprise orchestration SDK for wiring LLMs into real applications. Microsoft Agent Framework is the merger and successor of both. The two lineages were folded into one.

Think of it like two teams at the same company that each built their own internal tool. One team's tool was great for experiments; the other's was great for production. Eventually management said: stop maintaining two overlapping things — combine the best ideas into one official product everyone uses. Microsoft Agent Framework is that combined product. AutoGen brought the multi-agent conversation patterns; Semantic Kernel brought the enterprise plumbing, connectors, and stability.

Why it matters

For most of the early agent era, Microsoft shipped overlapping tools, and developers had to guess which one to bet on. AutoGen or Semantic Kernel? Pick wrong and you might rewrite later. Having two official answers to the same question is the worst kind of choice — it splits the documentation, the community, the examples, and the maintenance effort.

Consolidation fixes that. The reasons a builder cares:

  • One thing to learn and bet on. A single SDK, a single set of docs, a single mental model — instead of two libraries with different APIs that solved overlapping problems.
  • Production-first, not research-first. AutoGen was excellent for exploring multi-agent ideas but less focused on the boring-but-critical needs of shipping: observability, error handling, long-running workflows, and durability. Semantic Kernel had more of that enterprise discipline. The merged framework keeps the experimentation power and the production rigor.
  • Two languages, one design. Many agent frameworks are Python-only. Microsoft Agent Framework is built for both .NET and Python, which matters enormously for the large base of enterprises whose backends run on C#.
  • Tight Azure and Microsoft integration. It plugs into Azure AI services, the broader Microsoft tooling, and open standards, so an agent you build locally has a clear path to running as a managed service.

Who should care? .NET and Python teams inside the Microsoft ecosystem who want a supported, long-lived agent SDK rather than a fast-moving community library. If you are choosing between agent frameworks, see comparing the agent frameworks and how to choose one.

How it works

Conceptually, Microsoft Agent Framework gives you two layers. The lower layer is the agent itself: a unit that wraps a chat model, a set of instructions, some tools it can call, and optional memory. The higher layer is orchestration: the patterns for getting multiple agents (and human steps) to work together as a workflow. You can use the framework for a single agent, or compose many into a system.

What an agent is made of

An agent in this model is the familiar agent loop: the model reads a goal, decides whether to call a tool, the tool runs, the result comes back, and the model decides what to do next — repeating until the task is done. The framework supplies the loop, the tool-calling glue, and the connection to a chat model so you do not hand-write that plumbing.

From one agent to a system

The interesting work starts when you connect agents. Microsoft Agent Framework provides orchestration patterns — reusable shapes for multi-agent collaboration. Common ones include a sequential pipeline (agent A's output feeds agent B), a concurrent fan-out (several agents work in parallel and their results are merged), a group chat where agents discuss until they converge (the pattern AutoGen popularized), and a handoff model where one agent passes control to a specialist. These run on top of a workflow engine that can pause, resume, and survive restarts for long-running tasks.

Tools reach the outside world through standard interfaces — including the Model Context Protocol (MCP), the emerging open standard for plugging data sources and tools into agents. Because the framework speaks open standards rather than a Microsoft-only format, an agent's tools are portable rather than locked to one vendor's plumbing.

A minimal single agent looks roughly like this. The exact API surface evolves, so read this as the shape, not the literal current syntax:

the shape of a single agent (Python)python
# A chat agent = a model + instructions + tools.
def get_weather(city: str) -> str:
    """Return the current weather for a city."""
    return lookup_weather(city)

agent = ChatAgent(
    chat_client=azure_chat_client,          # the LLM backend
    instructions="You are a concise travel helper.",
    tools=[get_weather],                    # functions it may call
)

# The framework runs the agent loop: reason -> call tool -> answer.
reply = agent.run("Should I pack an umbrella for Seattle today?")
print(reply)

The merger: what came from where

Because the succession story is the whole point, it is worth being precise about what each parent contributed and why combining them made sense. The two projects were never really competitors — they were strong at different halves of the same problem.

OriginWas good atWhat it brought to the merge
AutoGenMulti-agent research, agents conversing in a groupFlexible multi-agent patterns and rapid experimentation
Semantic KernelEnterprise orchestration, connectors, stabilityProduction discipline, broad model/connector support, .NET maturity
Microsoft Agent FrameworkBuilding and shipping agents end to endOne SDK that keeps both strengths under unified APIs

The honest status to keep in mind: this is a consolidation, so the older names still appear all over the internet. When you see AutoGen's group-chat ideas or Semantic Kernel's plugin/connector concepts referenced, understand they now live inside the unified framework. The migration path is intentional — Microsoft did not want two communities drifting apart.

How it compares to other frameworks

Microsoft Agent Framework is one option among several. The biggest differentiators are its first-class .NET support and its deep Azure integration — most rivals are Python-only and cloud-neutral.

A reasonable rule of thumb: if your backend is .NET, or your data and models already live in Azure, Microsoft Agent Framework is the most natural fit and removes a lot of integration friction. If you are a Python shop with no Microsoft commitment, weigh it against the broader Python ecosystem — frameworks like LangChain and others — and decide on the merits. To think through the trade-offs without vendor framing, see agent framework mental models and the discussion of framework lock-in.

Going deeper

Once the basics click, a few directions are worth knowing as you move toward real systems.

Durable, long-running workflows. Real agent tasks can run for minutes, hours, or span human approvals. The orchestration layer is built so a workflow can be paused, persisted, and resumed — surviving a process crash or a deploy. This durability is one of the clearest things the framework adds over hand-rolling a loop, and it is largely inherited from the enterprise side of its lineage.

Observability and evaluation. Production agents are non-deterministic, so you cannot ship them blind. The framework is designed to emit traces and telemetry (commonly via open standards like OpenTelemetry) so you can see each step an agent took, debug a bad run, and feed results into evaluation. Treat tracing as mandatory, not optional, for anything user-facing.

Open standards over lock-in. Two standards matter here. MCP standardizes how tools and data sources plug into an agent, and agent-to-agent communication standards aim to let agents from different frameworks and vendors interoperate. Microsoft Agent Framework leans into both, which softens the usual worry that an enterprise SDK traps you. Your tools and your inter-agent messages are not in a proprietary format.

The honest caveats. First, this is a young, consolidating framework: APIs are still settling, and the safest assumption is that names and signatures will keep moving for a while — pin versions and read the changelog. Second, its sweet spot is the Microsoft and Azure ecosystem; outside it, the integration advantages shrink and you are comparing it to mature Python alternatives on a more level field. Third, multi-agent systems are powerful but add real cost and complexity — start with a single capable agent and only add more agents when one genuinely cannot do the job. For a structured way to decide, read about production readiness and the Python vs TypeScript agent stack — though note this framework's second language is .NET, not TypeScript.

FAQ

What is the Microsoft Agent Framework?

It is Microsoft's single, supported SDK for building AI agents and multi-agent systems in both .NET and Python. It is aimed at production use inside the Microsoft and Azure ecosystem and provides the agent loop, tool calling, and multi-agent orchestration patterns in one place.

Is Microsoft Agent Framework the same as AutoGen and Semantic Kernel?

Not the same — it is their successor. Microsoft merged AutoGen (the research-oriented multi-agent framework) and Semantic Kernel (the enterprise orchestration SDK) into one consolidated framework. For new projects, the unified framework is the forward path Microsoft points people to; the older repos remain mostly as background.

Does Microsoft Agent Framework support .NET and Python?

Yes. Unlike many agent frameworks that are Python-only, it is built for both .NET (C#) and Python with a shared design, which is a major reason enterprises on C# backends choose it.

Should I migrate from AutoGen or Semantic Kernel?

For new work, start on the consolidated framework, since that is where Microsoft's active investment goes. Existing AutoGen or Semantic Kernel projects can keep running, but be aware the merged SDK has its own APIs, so old code samples may not run unchanged even when the underlying idea is the same.

How does it compare to LangChain?

The biggest differences are first-class .NET support and deep Azure integration, where most Python-first frameworks like LangChain are Python-only and cloud-neutral. If your stack is .NET or Azure, Microsoft Agent Framework usually fits best; if you are a Python shop with no Microsoft commitment, weigh both on the merits.

Can it build multi-agent systems?

Yes. It provides orchestration patterns such as sequential pipelines, concurrent fan-out, group chat (the pattern AutoGen popularized), and handoff to a specialist agent, running on a workflow engine that can pause and resume long-running tasks.

Further reading