What are Semantic Kernel and Microsoft Agent Framework?
Semantic Kernel is Microsoft's SDK for AI agents. Microsoft Agent Framework is its successor, merging Semantic Kernel and AutoGen.
Semantic Kernel is Microsoft’s open-source SDK for building AI agents in C#, Python or Java, and Microsoft Agent Framework is its successor. Microsoft’s docs say Agent Framework “is the direct successor, created by the same teams,” combining AutoGen’s agent abstractions with Semantic Kernel’s enterprise features (overview). The Semantic Kernel README now opens with “Semantic Kernel is now Microsoft Agent Framework” (GitHub). If you are starting a new project, Microsoft’s 1.0 announcement says “Now is the time to migrate to Microsoft Agent Framework” (announcement, April 2026).
Semantic Kernel in brief
Semantic Kernel describes itself as a “lightweight, open-source development kit” for building AI agents and plugging models into C#, Python or Java code (overview). Its design has three parts you will meet in any code base:
- The kernel: “a Dependency Injection container that manages all of the services and plugins” (kernel docs).
- Services: AI services such as chat completion, plus other services like loggers and HTTP clients (kernel docs).
- Plugins: your existing code, described to the model so it can call it. Semantic Kernel translates the model’s request into a function call and passes the result back to the model (overview).
Events and middleware can fire at each step of a prompt invocation, which is where logging and responsible-AI checks go (kernel docs).
How the names relate
| Project | What it is | Relationship |
|---|---|---|
| Semantic Kernel | SDK built around a kernel, plugins and connectors | Predecessor; README points to Agent Framework (GitHub) |
| AutoGen | Multi-agent framework from Microsoft Research | Predecessor (overview) |
| Microsoft Agent Framework | Agents, graph workflows, middleware, sessions | Successor to both, “created by the same teams” (overview) |
Agent Framework reached 1.0 for .NET and Python in April 2026 with “stable APIs, and a commitment to long-term support” (announcement). The overview lists .NET, Python and Go, with Go in public preview (overview). Neither the 1.0 post nor the release-candidate post gives a support timeline for Semantic Kernel or AutoGen (RC post).
What changes when you move
Microsoft’s migration guide lists the differences (guide):
| Area | Semantic Kernel | Agent Framework |
|---|---|---|
| Agent creation | Every agent depends on a Kernel |
Built from a chat client, for example as_agent() |
| Agent classes | ChatCompletionAgent, OpenAIAssistantAgent, AzureAIAgent |
One Agent (Python) or ChatClientAgent (.NET) for chat-client services |
| Tools | Decorate with @kernel_function, wrap in a plugin, add to the kernel |
Pass plain functions in tools; plugins are optional |
| State | Caller creates a thread type | agent.create_session() |
| Calling | invoke, returns an async iterator |
run, returns one AgentResponse |
| Options | KernelArguments with execution settings |
Typed options dictionary (Python) |
| Python package | semantic-kernel |
agent-framework |
Two details catch people. Agent Framework has no session deletion API, so you track hosted threads yourself and delete them through the provider SDK. And in .NET the namespaces move from Microsoft.SemanticKernel to Microsoft.Agents.AI (guide).
Python projects can move in steps: existing Semantic Kernel functions, including vector store search functions, convert with as_agent_framework_tool() on semantic-kernel 1.38 or later (guide).
What Agent Framework adds
- Workflows: functional or graph-based, with human-in-the-loop pauses, checkpoints and resuming, and declarative definitions (workflows).
- Orchestrations: sequential, concurrent, handoff, group-chat and Magentic patterns (workflows).
- Providers and protocols: Foundry, Azure OpenAI, OpenAI, Anthropic, Amazon Bedrock, Google Gemini and Ollama connectors, plus MCP and A2A interoperability, with A2A 1.0 support listed as coming soon (announcement).
- Middleware for intercepting agent actions, for example content safety filters and logging (overview, announcement).
When to use which
The overview gives the agent-or-workflow rule: use an agent when the task is open-ended and needs autonomous tool use, and a workflow when the steps are well defined and order matters. It adds: “If you can write a function to handle the task, do that instead of using an AI agent” (overview). See agentic workflows for the pattern in general.
- New project in the Microsoft stack: Agent Framework, per Microsoft’s guidance above.
- Existing Semantic Kernel app that works: you can keep it. The sources read give no retirement date, but the README points to Agent Framework, so plan a move and use the compatibility layer.
- Different ecosystem: LangGraph, OpenAI Agents SDK and Pydantic AI cover similar ground with their own trade-offs.
How to test and trace it
Both frameworks emit OpenTelemetry data, so most OTel backends can receive it. Semantic Kernel emits logs, metrics and traces compatible with OpenTelemetry, and notes the GenAI conventions are still experimental (SK observability). Agent Framework emits spans following the OpenTelemetry GenAI conventions: invoke_agent, chat and execute_tool (Agent Framework observability). Prompts, responses and tool arguments are captured only when you enable sensitive-data capture, which Microsoft says to reserve for development and test (Agent Framework observability).
Spans alone do not say whether an agent is right. For that, run LLM evaluation on traced runs, and read agent observability for what to capture.
Tracing Semantic Kernel in HoneyHive
HoneyHive’s integration for Semantic Kernel turns on the framework’s native OpenTelemetry diagnostics and adds a provider instrumentor. Install honeyhive, semantic-kernel and the matching openinference instrumentor, set SEMANTICKERNEL_EXPERIMENTAL_GENAI_ENABLE_OTEL_DIAGNOSTICS to true before other imports, call HoneyHiveTracer.init(), then use Semantic Kernel as normal. Agent invocations, kernel function and plugin calls, multi-agent orchestration and LLM calls with token usage are traced. The page lists semantic-kernel 1.36.0 as last tested (integration docs).
HoneyHive’s docs index lists no separate Agent Framework page as of October 2026 (docs index). Setup details for Semantic Kernel are on the HoneyHive Semantic Kernel integration page.
FAQ
Is Semantic Kernel deprecated?
Microsoft's docs call Microsoft Agent Framework "the next generation of both Semantic Kernel and AutoGen" (overview), and the Semantic Kernel README opens with "Semantic Kernel is now Microsoft Agent Framework" (GitHub). No source gives an end-of-life date for Semantic Kernel, so check the repository before you plan around one.
What is the difference between Semantic Kernel and Microsoft Agent Framework?
Agent Framework drops the central Kernel object and plugin wrappers. You build an agent from a chat client and pass plain functions as tools, and it adds graph-based workflows (migration guide).
Is Microsoft Agent Framework the same as AutoGen?
No (see AutoGen). It is the successor to both AutoGen and Semantic Kernel, and its orchestration patterns come from "Microsoft Research and AutoGen" (1.0 announcement). AutoGen's code is on GitHub.
Can I migrate from Semantic Kernel gradually?
In Python, yes. KernelFunction.as_agent_framework_tool() turns existing Semantic Kernel functions into Agent Framework tools, and it needs semantic-kernel 1.38 or later (migration guide).