Semantic Kernel is a model-agnostic SDK for building, orchestrating, and deploying AI agents and multi-agent systems. It ships for Python 3.10 or later, .NET 10.0 or later, and JDK 17 or later, and runs on Windows, macOS, and Linux.
An agent is composed from a kernel that holds model connectors, plugins, and settings. A ChatCompletionAgent takes a chat-completion service, a name, and instructions; plugins are added as native code functions, prompt templates, OpenAPI specifications, or Model Context Protocol servers, and a function's parameters and return value carry descriptions the model reads. Structured output is configured through prompt execution settings.
Multi-agent systems are assembled by passing agents to another agent as plugins: a triage agent, for example, forwards a request to a billing agent or a refund agent and returns the combined answer. A separate process framework models longer business workflows as structured steps.
The project has been superseded by Microsoft Agent Framework, which is described as the enterprise successor at version 1.0 with stable APIs, long-term support, multi-agent orchestration, multi-provider model support, and interoperability over A2A and MCP. A migration guide covers moving an existing Semantic Kernel application across.
Features
- Model flexibility: connectors for OpenAI, Azure OpenAI, Hugging Face, NVIDIA, and others
- Agent framework: modular agents with tools, plugins, memory, and planning
- Multi-agent systems: specialist agents that collaborate, including agent-as-plugin routing
- Plugin ecosystem: native functions, prompt templates, OpenAPI specifications, and MCP servers
- Vector store support: integrations with Azure AI Search, Elasticsearch, Chroma, and more
- Multimodal input: text, vision, and audio
- Local deployment: models served through Ollama, LMStudio, or ONNX
- Process framework: structured modelling of longer business workflows
- Three language SDKs: C#, Python, and Java, each with its own package and API reference
Integrates with
Chroma
Open-source embedding/search database for retrieval and agent memory, self-hosted or cloud
Elasticsearch
Distributed search and vector database used as the retrieval backend for RAG and agentic search
Model Context Protocol
Open protocol plus SDKs for connecting agents to tools and data sources.
-
Ollama
Runs open large language models locally without an API key