Back to Skill Directory

Agent SDK

.NET / Python / JavaAzure-nativeMIT License

Microsoft Semantic Kernel

by Microsoft · microsoft/semantic-kernel

Semantic Kernel is Microsoft\'s open-source SDK for building AI agents inside real applications. Where most agent frameworks optimize for Python notebooks, Semantic Kernel is designed for production .NET, Java, and Python services — with first-class Azure OpenAI integration, enterprise auth, and a plugin architecture that fits the way corporate developers already structure code.

The kernel ties together four ideas: plugins (native functions + prompt templates that the LLM can call), memory (vector-backed semantic storage), planners (LLM-driven task decomposition), and agents (higher-level abstractions for multi-agent collaboration). All four work across .NET, Python, and Java with near-parity APIs.

C#/Py/Java
Languages
triple SDK
Microsoft
Maintainer
first-party
Azure
Integration
deep hooks
MIT
License
open source

Quick Install

dotnet add package Microsoft.SemanticKernel  |  pip install semantic-kernel

Key Features

Plugins

Bundle native code functions and prompt templates into reusable units. The kernel auto-describes them to the LLM via tool-calling schemas.

Agents Framework

Higher-level abstractions — ChatCompletionAgent, OpenAIAssistantAgent, AgentGroupChat — for building single or multi-agent systems with turn-taking.

Memory & Vector Stores

Pluggable semantic memory backed by Azure AI Search, Qdrant, Pinecone, Redis, pgvector, and more. Unified API across backends.

Planners

Function Calling Stepwise Planner and Handlebars Planner turn a goal plus available functions into a multi-step plan the agent executes.

OpenAPI & MCP Plugins

Import any OpenAPI spec or MCP server as a plugin in one line. Enterprise APIs become agent-callable without custom wrappers.

Enterprise Auth & Filters

First-class Entra ID, managed identity, and content filtering. Function filters let you gate every tool call with logging, policy, or human approval.

Execution Brief

Use this page as a rollout checklist, not just reference text.

Suggest update

Tool Mapping Lens

Organize Tools by Workflow Phase

Catalog-oriented pages work best when users can map discovery, evaluation, and rollout in a clear path instead of reading an undifferentiated list.

  • Define the job-to-be-done first
  • Group tools by stage
  • Prioritize by adoption friction

Actionable Utility Module

Skill Implementation Board

Use this board for Microsoft Semantic Kernel before rollout. Capture inputs, apply one decision rule, execute the checklist, and log outcome.

Input: Objective

Deliver one measurable improvement with microsoft semantic kernel sdk dotnet python agent framework azure

Input: Baseline Window

20-30 minutes

Input: Fallback Window

8-12 minutes

Decision TriggerActionExpected Output
Input: one workflow objective and release owner are definedRun preview execution with fixed acceptance criteria.Go or hold decision backed by repeatable evidence.
Input: output quality below baseline or retries increaseLimit scope, isolate root issue, and rerun controlled test.One confirmed correction path before wider rollout.
Input: checks pass for two consecutive replay windowsPromote to broader traffic with fallback path active.Stable rollout with low operational surprise.

Execution Steps

  1. Record objective, owner, and stop condition.
  2. Execute one controlled preview run.
  3. Measure quality, latency, and correction burden.
  4. Promote only when pass criteria are stable.

Output Template

tool=microsoft semantic kernel sdk dotnet python agent framework azure
objective=
preview_result=pass|fail
primary_metric=
next_step=rollout|patch|hold

What Is Microsoft Semantic Kernel?

Semantic Kernel is Microsoft's open-source SDK for building AI agents and orchestrating large language models inside applications. First released in 2023 and now at v1 across languages, it gives developers a production-ready path from prototype to deployment — with an architecture explicitly designed around the realities of enterprise software: strong typing, dependency injection, managed identity, observability, and long-term API stability.

The SDK is structured around four concepts. Plugins are the unit of capability — bundling regular methods (native functions) and prompt templates (prompt functions) that the LLM can discover and call. Memory abstracts vector stores behind a single interface so your agent can swap Azure AI Search for Qdrant or pgvector without code changes. Planners use the LLM itself to decompose user goals into multi-step plans. The Agents framework sits on top, enabling single or multi-agent systems with shared state and orchestration strategies.

The defining advantage for many teams is the .NET and Java support. Most agent frameworks are Python-first with JavaScript as a second thought — Semantic Kernel treats C# as a peer, which matters when your production services run on ASP.NET Core or Spring Boot and cannot reasonably adopt a Python-only stack. Microsoft also uses Semantic Kernel internally for Copilot features, which keeps the SDK battle-tested.

The complementary advantage is Azure integration. Semantic Kernel plugs into Azure OpenAI with managed identity (no API keys in code), Azure AI Search as a vector store, Azure AI Content Safety for moderation, and Microsoft 365 Copilot extensions for Teams and Outlook. If your company is already on Azure, Semantic Kernel removes most of the integration work that would otherwise take weeks.

How to Calculate Better Results with microsoft semantic kernel sdk dotnet python agent framework azure

Install the SDK. For .NET: dotnet add package Microsoft.SemanticKernel. For Python: pip install semantic-kernel. For Java: add the Maven coordinate com.microsoft.semantic-kernel:semantickernel-api. Configure your LLM provider — Azure OpenAI with managed identity is the recommended production path.

Build a kernel and add AI services. In C#: var builder = Kernel.CreateBuilder(); builder.AddAzureOpenAIChatCompletion(deployment, endpoint, credential); var kernel = builder.Build(). In Python: kernel = Kernel(); kernel.add_service(AzureChatCompletion(deployment_name=...)).

Register plugins. Import native plugins by passing a class or object with annotated methods. Import prompt plugins from a directory of skprompt.txt files. Import OpenAPI plugins with kernel.ImportPluginFromOpenApiAsync, or MCP plugins via the SK MCP adapter.

Wrap as an agent or run directly. For one-shot tool use: await kernel.InvokePromptAsync(prompt). For interactive agents: create a ChatCompletionAgent with your kernel and plugins, then stream a conversation. For multi-agent workflows: compose several agents in an AgentGroupChat with a SelectionStrategy.

Treat this page as a decision map. Build a shortlist fast, then run a focused second pass for security, ownership, and operational fit.

When a team keeps one shared selection rubric, tool adoption speeds up because evaluators stop debating criteria every time a new option appears.

Worked Examples

.NET customer-support copilot backed by Azure OpenAI

  1. Existing ASP.NET Core service handles support tickets with a SQL backend
  2. Add Microsoft.SemanticKernel and build a Kernel with Azure OpenAI + managed identity — no API keys checked into config
  3. Register a TicketPlugin with native methods GetTicket, SearchKnowledgeBase, AssignAgent
  4. Add Azure AI Search as memory over the internal KB, indexed by ticket category
  5. Create a ChatCompletionAgent and expose it via a SignalR hub for the support dashboard
  6. Agents respond to support staff in real time with ticket context and KB answers — all within existing .NET security boundaries

Outcome: An agent deployed into a mature .NET monolith without rewriting anything in Python, passing enterprise security review because it uses existing Azure auth and logging infrastructure.

Multi-agent document pipeline with AgentGroupChat

  1. Goal: process incoming vendor contracts — extract key terms, flag risks, draft a summary for legal review
  2. Create three agents: ExtractorAgent (structured fields), RiskAgent (compliance rules), WriterAgent (human-readable summary)
  3. Compose them in AgentGroupChat with a KernelFunctionSelectionStrategy that routes based on pipeline stage
  4. Add a TerminationStrategy that stops when WriterAgent emits "APPROVAL_READY"
  5. Feed PDFs via LlamaParse or Azure Document Intelligence, then stream each through the group chat
  6. Final summaries land in SharePoint with risk flags highlighted for the legal team

Outcome: A multi-agent contract processing system running inside corporate Azure tenant with full audit logs — the kind of workflow that typically required a bespoke ML team now built by a single .NET developer in a sprint.

Frequently Asked Questions

What is Semantic Kernel?

Semantic Kernel is Microsoft's open-source SDK for building AI agents and orchestrating LLMs inside applications. It provides a plugin system (native code + prompt functions), a memory abstraction backed by vector stores, planners for multi-step task decomposition, and a dedicated Agents framework for multi-agent collaboration. First-class support spans C# / .NET, Python, and Java.

Semantic Kernel vs LangChain vs LlamaIndex — when should I pick SK?

Semantic Kernel is the pragmatic choice when your stack is .NET or you need deep Azure OpenAI integration, enterprise auth (Entra ID), or compliance guarantees. LlamaIndex wins for pure RAG workloads. LangChain is broader in the Python ecosystem. For enterprises already on Microsoft tooling (Copilot Studio, Azure AI, Microsoft 365), Semantic Kernel is the lowest-friction path.

What models does Semantic Kernel support?

OpenAI, Azure OpenAI, Anthropic, Google Gemini, Mistral, Hugging Face, Ollama, and local ONNX models. Azure OpenAI is the most battle-tested path with built-in streaming, tool calling, and managed-identity auth. The kernel abstracts the provider so you can swap models with one config change.

How does the plugin system work?

Plugins bundle native functions (regular C# or Python methods) and prompt functions (templated prompts with variables) into a callable unit. The kernel auto-describes them to the LLM via function-calling schemas, and the model decides when to invoke each. Plugins can be imported from OpenAPI specs, MCP servers, Logic Apps, or OpenAI/ChatGPT plugin manifests.

What is the Agents framework inside Semantic Kernel?

SK Agents is a higher-level framework on top of the kernel for building multi-agent systems. It includes ChatCompletionAgent, OpenAIAssistantAgent, and AgentGroupChat — allowing multiple specialized agents to collaborate with turn-taking strategies, shared memory, and termination conditions. Ideal for workflows like "researcher + writer + reviewer".

What are typical Semantic Kernel use cases?

Enterprise copilots embedded into line-of-business .NET apps, Azure-hosted RAG over SharePoint or Teams, workflow automation agents that call internal APIs via OpenAPI plugins, Microsoft 365 Copilot extensions, and multi-agent systems for document processing pipelines. SK is the backbone of many internal Microsoft AI products.

Missing a better tool match?

Send the exact workflow you are solving and we will prioritize a new comparison or rollout guide.