Semantic Kernel

Agentic AIFrameworks and SDKsPublished By Simon Budziak

Semantic Kernel is Microsoft's open-source SDK for adding AI to existing applications in C#, Python, or Java. It works as middleware: you register your own functions as plugins, and the model decides when to call them, so AI capabilities attach to a codebase you already have rather than forcing a rewrite.

How does the plugin model actually work?

You describe existing code to the model; when a user request needs it, the model asks for that function, Semantic Kernel marshals the call against your code, and hands the result back for the final answer. This turns tool calling into ordinary dependency wiring instead of prompt glue: filters wrap every invocation with logging, retries, and guardrails, which is exactly the shape enterprises whose logic lives in C# services need.

Semantic Kernel or something else?

Microsoft folded its agent work together with AutoGen into Microsoft Agent Framework, the positioned successor, while Semantic Kernel remains supported for applications already running on it. For greenfield multi-agent builds weigh LangGraph for explicit graph control or CrewAI for role-based crews. For adding AI to a mature .NET codebase with minimal disruption, it is still the natural default.

Frequently asked questions

Is Semantic Kernel still worth learning?

Yes for existing codebases: Microsoft keeps supporting it while steering new agent projects toward Microsoft Agent Framework, its successor built by the same team. The plugin and filter concepts carry over directly, so time spent on Semantic Kernel transfers.

Why do .NET teams pick Semantic Kernel over Python frameworks?

Because it meets the model where the business logic already lives. Agents can call typed C# services as plugins without a Python sidecar, and enterprise features like telemetry and filters integrate with standard .NET dependency injection.

Summarize this page with

See this working in a system we built