SK vs Agent Framework
Key Points
| Aspect | Semantic Kernel | Microsoft Agent Framework |
|---|---|---|
| Position | Established (.NET-only origin) | New (2026 GA) |
| Built on | Direct OpenAI SDK | Microsoft.Extensions.AI |
| Orchestration | Plugins + Planners | Multi-agent patterns |
| Templates | Strong (Liquid, Handlebars) | Plain strings |
| OTel | Some | First-class GenAI |
| Vendor portability | Limited | Native via IChatClient |
| Status (2026) | Maintained; some deprecated | Default for new |
For new projects: Agent Framework. For existing SK: keep + hybrid.
SK strengths
- Mature prompt template engine.
- Plugin ecosystem.
- Process Framework (preview).
- ChatHistory class.
Agent Framework strengths
- Built on
Microsoft.Extensions.AI— vendor-portable. - Native multi-agent orchestration patterns.
- MCP integration first-class.
- Better OTel coverage.
- Aligned with Microsoft.Extensions.AI ecosystem.
When SK shines
- Heavy prompt templating.
- Existing Process Framework usage.
- Existing extensive plugin code.
When Agent Framework shines
- Multi-agent.
- Vendor flexibility.
- Modern observability.
- Green field.
Code comparison
SK
var kernel = Kernel.CreateBuilder()
.AddOpenAIChatCompletion("gpt-4o-mini", apiKey)
.Build();
kernel.Plugins.AddFromType<WeatherPlugin>();
var settings = new OpenAIPromptExecutionSettings { FunctionChoiceBehavior = FunctionChoiceBehavior.Auto() };
var resp = await kernel.GetRequiredService<IChatCompletionService>().GetChatMessageContentAsync(history, settings, kernel);
Agent Framework
IChatClient chat = new OpenAIClient(apiKey).AsChatClient("gpt-4o-mini")
.AsBuilder().UseFunctionInvocation().Build();
var agent = new ChatClientAgent(chat) { Tools = [AIFunctionFactory.Create(GetWeather)] };
var resp = await agent.InvokeAsync(input);
Less ceremony; more vendor-portable.
Migration path
Incremental:
- Add
Microsoft.Extensions.AI. - New features: Agent Framework.
- Existing SK: keep until rewrite.
- Hybrid: SK templates + AF execution.
See Migration from SK and AutoGen.
What's deprecated
- SK Planners (Sequential, Stepwise, Handlebars).
- Some Plugin patterns.
- ChatHistory in some scenarios.
See Deprecated Planners.
What's evolving
- SK Process Framework.
- SK templating (continues).
- Possible convergence with Microsoft.Extensions.AI.
Senior decision
For new code: Agent Framework + Microsoft.Extensions.AI.
For existing: maintain; hybrid where natural; full migration when feature demands.
Don't migrate just to migrate.