Semantic Kernel Plugin
The SemanticKernelPlugin integrates Microsoft Semantic Kernel with the Octopus agent framework — bridging SK's LLM routing, stepwise planner, and skill libraries into the Octopus conversation and tool-call loop.
What Semantic Kernel Adds
SK LLM Router
Select different LLM models for different reasoning steps within a single conversation. Route complex reasoning to GPT-4 and simple responses to GPT-3.5-Turbo automatically.
Stepwise Planner
SK's planner decomposes complex user requests into a sequence of SK function calls, executes them in order, and returns a synthesised response — without requiring manual tool orchestration.
SK Skill Libraries
Load pre-built SK semantic function libraries (prompt templates) and call them as part of agent reasoning. Reuse your existing SK skill investments.
Native C# Functions in SK
Register C# methods decorated with [SKFunction] into the SK kernel, making them callable by the planner alongside semantic functions.
Shared Vector Store
SK's memory is optionally bridged to Octopus ISemanticMemoryStore so both SK and Octopus read from and write to the same Qdrant or PGVector collection.
Octopus Native vs SK Plugin
| Capability | Octopus Native | With SemanticKernelPlugin |
|---|---|---|
| LLM provider | ILLMProvider abstraction (OpenAI, Azure, etc.) | SK Kernel wraps the LLM — same providers, SK API |
| Tool calling | MCPToolRegistry + AgentReasoningLoop | MCPTools + SK native functions + SK planner |
| Step planning | Single LLM turn with tool loop | SK stepwise planner for multi-step plans |
| Prompt templates | System prompt + context injection | SK semantic functions (handlebars / liquid templates) |
| Memory | Octopus 4-memory-type system | Octopus memory + optional SK memory bridge |
When to Use This Plugin
- Your team already has a library of SK semantic functions or skills you want to reuse in Octopus agents
- You need SK's stepwise planner for complex multi-step task decomposition
- You want to route different reasoning steps to different LLM models within a single agent
- You are building on the Microsoft AI stack and want consistent SDK surface area
Plugin Registration
builder.Services.AddOctopus(config =>
{
config.AddPlugin<SqlServerPlugin>();
config.AddPlugin<SemanticKernelPlugin>(); // After SqlServerPlugin
config.AddPlugin<ChatbotUIPlugin>();
});