Semantic Kernel is an open-source SDK from Microsoft that enables developers to integrate Large Language Models (LLMs) with conventional programming languages like C# and Python. It provides a framework for creating semantic functions (prompt-based, AI-powered routines) and native functions (traditional code), allowing them to be orchestrated together by a planner to execute complex, multi-step tasks. This architecture is central to building AI agents capable of tool calling and interacting with external APIs and systems.
Glossary
Semantic Kernel

What is Semantic Kernel?
Semantic Kernel is an open-source software development kit from Microsoft that enables the integration of conventional programming languages with large language models, facilitating the creation of planners and semantic functions that can call native code.
The SDK abstracts the complexities of prompt engineering and function calling, offering a planner component that can dynamically generate and execute sequences of actions. It supports plugins for modular capability extension and integrates with vector databases for Retrieval-Augmented Generation (RAG). By bridging symbolic AI (code) with subsymbolic AI (LLMs), Semantic Kernel provides a structured foundation for developing reliable, production-grade agentic applications that leverage both deterministic logic and generative reasoning.
Core Components of Semantic Kernel
Semantic Kernel is an open-source SDK that integrates conventional programming languages with large language models, enabling the creation of planners and semantic functions that can call native code. Its architecture is built around several key abstractions.
Plugins
Plugins are the primary unit of capability extension in Semantic Kernel. They are collections of related functions that an AI can call. A plugin can contain:
- Native Functions: Code written in languages like C#, Python, or Java that performs deterministic operations (e.g., calculations, database queries).
- Semantic Functions: Prompts defined by natural language instructions and few-shot examples, executed by an LLM. Plugins modularize skills—like "MathPlugin" or "EmailPlugin"—and are registered with the kernel to make their functions discoverable and callable by planners.
Kernel
The Kernel is the central runtime and orchestration engine. It acts as a function registry and dispatcher, managing:
- Plugin Registration: Loading and cataloging available plugins and their functions.
- Function Invocation: Executing both native and semantic functions, handling input/output binding.
- Context Management: Maintaining a shared
KernelArgumentscontext that flows between chained function calls, allowing results from one function to be passed as input to another. The kernel abstracts the complexity of mixing LLM prompts with traditional code execution.
Planners
Planners are AI-driven components that automatically decompose a high-level user goal into a sequence of executable steps (a plan). Using the kernel's registry, a planner:
- Analyzes the available plugins and functions.
- Generates a step-by-step plan to achieve the goal.
- Invokes the kernel to execute each step in the plan.
For example, given the goal "Summarize the top news story and email it to me," a planner might create a plan calling a
NewsPlugin.GetTopStoryfunction followed by anEmailPlugin.Sendfunction.
Semantic Functions
Semantic functions are prompts treated as callable software functions. Defined by:
- Prompt Template: A natural language instruction with placeholders for variables (e.g.,
Summarize this: {{$input}}). - Configuration: Settings like the LLM model to use, temperature, and token limits. When invoked, the kernel renders the template with provided arguments, sends it to the configured LLM, and returns the completion. This allows developers to package and reuse complex prompt logic alongside native code.
Connectors
Connectors are abstractions for interfacing with external AI and data services. Key connector types include:
- AI Service Connectors: Provide a uniform interface to different LLM endpoints (e.g., OpenAI, Azure OpenAI, Hugging Face). Switching models often requires only a configuration change.
- Memory Connectors: Interface with vector databases (e.g., Azure AI Search, Qdrant, PostgreSQL) to store and retrieve embeddings for semantic memory and recall.
- Chat Completion Connectors: Specialized connectors for managing multi-turn conversational context with chat models. Connectors standardize integration, promoting portability and reducing vendor lock-in.
Memories
The Memory abstraction provides AI agents with persistent, searchable context beyond a single conversation. It enables:
- Vector-based Semantic Search: Storing text as embeddings in a vector database allows the kernel to retrieve relevant past information using similarity search, not just keyword matching.
- Information Recall: A planner can query memory to find relevant facts before executing a step (e.g., "Find the user's project notes from last week").
- Chat History: Maintaining long-term conversation context across sessions. This component is crucial for building agents that learn and act on historical data.
How Semantic Kernel Works
Semantic Kernel is an open-source orchestration SDK from Microsoft that integrates conventional programming languages with large language models to build AI agents capable of executing native code.
Semantic Kernel is an open-source software development kit (SDK) that enables developers to create AI agents by seamlessly blending traditional programming with large language model (LLM) capabilities. It provides a planner that can decompose complex goals into executable steps, and a kernel that orchestrates the invocation of both semantic functions (prompt-based LLM calls) and native plugin functions (pre-written code). This architecture allows an agent to dynamically reason and act using a unified set of tools.
At its core, the framework uses a function registry where all capabilities—whether AI-driven prompts or conventional APIs—are registered as callable plugins. When an agent receives a request, its planner can generate a sequence of these functions. The kernel's dynamic dispatch system then executes them, handling parameter validation, structured output parsing, and error propagation. This enables the construction of reliable, multi-step workflows where LLMs orchestrate calls to external systems and proprietary business logic.
Frequently Asked Questions
Essential questions about Microsoft's Semantic Kernel, an open-source SDK for integrating Large Language Models with conventional programming to build AI agents and planners.
Semantic Kernel is an open-source software development kit (SDK) from Microsoft that enables developers to integrate conventional programming languages (like C# and Python) with large language models (LLMs) to create AI agents and planners. It works by providing a planner that can decompose high-level goals into a sequence of executable steps, and a kernel that orchestrates the execution of both semantic functions (LLM-powered prompts) and native functions (traditional code). Developers define skills as collections of functions, which the kernel dynamically discovers and chains together based on natural language instructions, allowing the AI to reason and act using both generative AI and deterministic code.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Semantic Kernel operates within a broader ecosystem of technologies that enable AI agents to interact with external systems. These related concepts define its core mechanisms and complementary patterns.
Semantic Functions
In Semantic Kernel, a semantic function is a prompt-based, natural language instruction that is templated and invoked as a callable unit within a plan. Unlike native functions written in code, semantic functions are defined by a prompt template and configuration, allowing the LLM to generate dynamic text or orchestrate other functions.
- Core Abstraction: They turn a prompt into a reusable, configurable component.
- Orchestration: A semantic function can call native plugin functions, creating a hybrid AI/programmatic workflow.
- Template Variables: Use the
{{$input}}syntax and other context variables to make prompts dynamic.
Native Functions
A native function (or plugin function) in Semantic Kernel is a conventional programming language method (C#, Python) that is registered with the kernel and becomes callable by planners and semantic functions. This bridges deterministic code with LLM reasoning.
- Code Integration: Enables AI agents to execute precise logic, calculations, or API calls written in standard code.
- Automatic Schema Generation: The kernel inspects the method's signature (parameters, return type) to create a description the LLM can understand.
- Decorator-Based: In Python, the
@kernel_functiondecorator marks a method as available to the kernel.
Planner
A planner in Semantic Kernel is a component that uses an LLM to decompose a high-level user goal into a sequence of actionable steps, typically a series of semantic and native function calls. It embodies the Reasoning + Acting (ReAct) pattern within the SDK.
- Goal-Oriented: Takes a natural language objective (e.g., "Send an email summarizing the latest sales figures") and creates a plan.
- Dynamic Orchestration: Selects and chains available functions from registered plugins to fulfill the goal.
- Self-Correction: Can replan based on execution errors or unexpected outputs.
Kernel
The kernel is the central runtime and coordination engine in Semantic Kernel. It manages the registry of available plugins (containing native and semantic functions), handles prompt templating, and executes plans by invoking the LLM and connected functions.
- Service Aggregator: Configures and injects services like LLM connectors, embedding generators, and memory stores.
- Function Registry: The
Kernelobject is the catalog where all callable functions are registered. - Execution Context: Provides a
KernelArgumentsobject that flows through a plan, carrying variables and state between function steps.
Plugins
Plugins are the primary unit of modularity and capability packaging in Semantic Kernel. A plugin is a collection of related functions (both native and semantic) grouped together, analogous to a class in object-oriented programming or a module in Python.
- Organizational Structure: Functions are accessed via the plugin name (e.g.,
MathPlugin.Add,EmailPlugin.Send). - Reusability and Sharing: Plugins can be developed independently and imported into different kernel instances.
- Native Code Wrapping: The standard pattern for making existing libraries and APIs available to an AI agent.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us