An enterprise-ready, model-agnostic orchestration framework by Microsoft for building intelligent AI agents and multi-agent systems.
Semantic Kernel is a Microsoft-maintained, open-source AI Agent orchestration framework designed around a model-agnostic architecture, providing complete programming abstractions from simple prompt invocation to complex multi-agent collaborative systems. The framework uses Kernel as the central orchestrator to uniformly manage AI Services, Plugins, Memory, and execution arguments. Through an abstracted Connectors layer, it integrates with major LLM providers including OpenAI, Azure OpenAI, Anthropic, Google AI, Mistral, and Hugging Face, while also supporting local deployment via Ollama and ONNX Runtime.
At the Agent level, Semantic Kernel provides a modular Agent abstraction centered on ChatCompletionAgent, supporting tool function marking via decorators (@kernel_function / [KernelFunction]) with automatic Function Calling protocol integration. Plugin capabilities can be extended through native code functions, prompt templates, OpenAPI specifications, or MCP protocol. For multi-agent systems, the framework provides InProcessRuntime for in-process execution and GroupChatOrchestration for orchestration, supporting multiple agent interaction strategies such as RoundRobin.
The framework includes a built-in Process Framework for structured business process modeling (steps, conditional branching, human approval), a unified vector database abstraction interface covering 10+ backends (Azure AI Search, Chroma, FAISS, Milvus, Pinecone, Qdrant, Redis, Weaviate, etc.), and structured output constraints through Pydantic 2 (Python) or strong typing (C#). Enterprise-grade features include built-in observability, security mechanisms, and production-stable APIs.
Semantic Kernel is implemented in C#, Python, and Java (Java in a separate repository), suitable for enterprise scenarios including intelligent customer service triage, internal RAG knowledge assistants, multi-step workflow automation, multi-role collaborative content creation, and compliant local/private deployment.
Installation#
Python:
pip install semantic-kernel
pip install semantic-kernel[all] # install all optional integrations
.NET:
dotnet add package Microsoft.SemanticKernel
dotnet add package Microsoft.SemanticKernel.Agents.Core
Quick Start (Python)#
import asyncio
from semantic_kernel import Kernel
from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion
from semantic_kernel.functions import KernelArguments
kernel = Kernel()
kernel.add_service(OpenAIChatCompletion())
prompt = "Give me the TLDR in exactly {{$num_words}} words."
async def main():
result = await kernel.invoke_prompt(prompt, arguments=KernelArguments(num_words=5))
print(result)
asyncio.run(main())
Unconfirmed Information#
- Java maturity: Java implementation is in a separate repository; feature parity with C#/Python needs further verification via feature matrix
- .NET minimum version: README states .NET 10.0+, but earlier versions may be supported
- Process Framework detailed API: Documentation page not fully extracted
- MCP integration scope: Model Context Protocol listed in extras but capability boundaries not detailed
- ONNX Runtime integration details: Local deployment mentions ONNX but supported model formats and performance benchmarks not specified