Quem criou o Semantic Kernel, e o que acontece com ele agora?
A Microsoft lançou o Semantic Kernel como um SDK de código aberto em março de 2023, e o Microsoft Agent Framework se tornou desde então seu sucessor declarado. O Semantic Kernel combinava grandes modelos de linguagem com código de aplicação convencional por meio de uma abstração de 'kernel', sob a permissiva licença MIT. Diferente da maioria dos frameworks de agentes, que priorizam Python e adicionam outras linguagens depois, o Semantic Kernel foi lançado com C#/.NET como linguagem principal e adicionou Python e Java como SDKs de primeira classe, não como portes tardios.
O Semantic Kernel popularizou o vocabulário de 'plugin' e 'planner' que grande parte da indústria depois adotou com outros nomes. Plugins são funções nativas ou templates de prompt que o modelo pode descobrir e chamar; planners decidiam qual plugin invocar e em que ordem. Os primeiros planners dedicados — SequentialPlanner, ActionPlanner, StepwisePlanner — ficaram amplamente obsoletos quando os provedores de modelos adicionaram function calling nativo, que o Semantic Kernel agora usa por padrão por meio da configuração FunctionChoiceBehavior.
Em 2026, a Microsoft reposicionou o Semantic Kernel dentro de uma convergência mais ampla. O Microsoft Agent Framework (MAF) alcançou disponibilidade geral em 2 de abril de 2026, unificando as bases corporativas do Semantic Kernel — Kernel, plugins, filtros, observabilidade — com o modelo de orquestração multiagente do AutoGen em uma única plataforma suportada. Desde então, o repositório microsoft/semantic-kernel está em modo de manutenção: a Microsoft entrega correções críticas e atualizações de segurança, com suporte garantido pelo menos até 2027, enquanto o investimento em novos recursos vai para o Agent Framework.
Primeiro lançamento
- Data:
- 2023-03
- O que significa:
- A Microsoft lança o Semantic Kernel como SDK de código aberto com licença MIT, primeiro em C#/.NET
SDKs de Python e Java
- Data:
- 2023
- O que significa:
- Os ports de Python e Java seguem como SDKs de primeira classe, tornando o Semantic Kernel um dos poucos frameworks de agentes multilíngues
Planners substituídos
- Data:
- em andamento
- O que significa:
- As primeiras classes de planners dedicados dão lugar ao function calling nativo dos LLMs como mecanismo padrão de planejamento
Prévia do Microsoft Agent Framework
- Data:
- 2025-10
- O que significa:
- A Microsoft apresenta o Agent Framework, seu sucessor declarado que combina Semantic Kernel e AutoGen
GA do Microsoft Agent Framework
- Data:
- 2026-04-02
- O que significa:
- O MAF alcança disponibilidade geral; a Microsoft o posiciona como sucessor do Semantic Kernel e do AutoGen
Modo de manutenção do Semantic Kernel
- Data:
- 2026-04
- O que significa:
- o microsoft/semantic-kernel passa a receber apenas correções críticas e atualizações de segurança, com suporte garantido pelo menos até 2027
📌Nota: A licença MIT não muda com essa transição — implantações existentes do Semantic Kernel continuam gratuitas para executar, modificar e hospedar localmente indefinidamente. O que muda é onde a Microsoft investe em novos recursos, que agora é o Microsoft Agent Framework.
O que é o Semantic Kernel?
O Semantic Kernel é um SDK de código aberto (licença MIT, github.com/microsoft/semantic-kernel) para integrar grandes modelos de linguagem em aplicações, disponível como SDKs nativos para C#/.NET, Python e Java. Sua abstração central, o Kernel, mantém conexões de serviços de IA, plugins e memória, e orquestra chamadas entre eles.
- Kernel: o objeto central que mantém os serviços de IA registrados (chat completion, embeddings), plugins e configuração — toda aplicação Semantic Kernel constrói um
- Plugins: funções de código nativo ou templates de prompt, marcados com metadados (
@kernel_functionem Python, `[KernelFunction]` em C#), que o modelo pode descobrir e chamar — o equivalente de "tools" em outros frameworks - Planners: lógica que decide quais plugins invocar para atender a uma solicitação; o padrão atual depende do function calling nativo do provedor do modelo (
FunctionChoiceBehavior.Auto()) em vez das antigas classes de planner dedicadas - Conectores de banco de dados vetorial (memória): interfaces padrão para armazenar e recuperar embeddings em bancos vetoriais compatíveis, usadas para geração aumentada por recuperação
- Process Framework: uma abstração de fluxo de trabalho construída sobre o Kernel para processos de negócio mais longos e de múltiplas etapas
- Componentes corporativos: filtros integrados, hooks de observabilidade e telemetria, e logging estruturado voltados para implantações de produção no Azure
Paridade multilíngue como diferencial
Diferente da maioria dos frameworks desta série, que são Python-first com um port de JavaScript, o Semantic Kernel trata C#/.NET, Python e Java como SDKs igualmente suportados — uma vantagem direta para empresas com uma base de código .NET existente que não querem introduzir uma segunda pilha de linguagem só para adicionar recursos de LLM.
import asyncio
from semantic_kernel import Kernel
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion
from semantic_kernel.connectors.ai.function_choice_behavior import FunctionChoiceBehavior
from semantic_kernel.contents.chat_history import ChatHistory
from semantic_kernel.functions import kernel_function
class LightsPlugin:
@kernel_function(description="Turns a light on or off")
def change_state(self, is_on: bool) -> str:
return f"Light is now {'on' if is_on else 'off'}"
async def main():
kernel = Kernel()
kernel.add_service(AzureChatCompletion(deployment_name="gpt-4o-mini", api_key="...", base_url="..."))
kernel.add_plugin(LightsPlugin(), plugin_name="Lights")
history = ChatHistory()
history.add_user_message("Turn on the light")
chat = kernel.get_service(type=AzureChatCompletion)
result = await chat.get_chat_message_contents(
chat_history=history,
settings=AzureChatCompletion.get_prompt_execution_settings_class()(
function_choice_behavior=FunctionChoiceBehavior.Auto()
),
kernel=kernel,
)
print(result[0])
asyncio.run(main())Quanto custa o Semantic Kernel?
O próprio SDK do Semantic Kernel é totalmente gratuito — a Microsoft não cobra pelo framework, e não existe um nível pago do Semantic Kernel. Os custos reais vêm do modelo de linguagem que você chama e, se implantado no Azure, da infraestrutura que executa sua aplicação.
- Semantic Kernel (o SDK): gratuito para sempre, licença MIT, hospedado localmente ou na nuvem, sem limites de uso no framework
- Custos de API do modelo: pagamento por uso conforme o provedor de LLM conectado (Azure OpenAI Service, OpenAI e outros) — o Semantic Kernel não hospeda nem revende acesso a modelos
- Custos de hospedagem no Azure (opcional): implantar no Azure App Service, Azure Functions ou Azure Kubernetes Service tem o preço padrão de computação do Azure — o Semantic Kernel não exige o Azure, mas os próprios exemplos e componentes corporativos da Microsoft assumem isso por padrão
- Custos de banco de dados vetorial (opcional): conectar o Azure AI Search ou outro banco vetorial para memória/RAG tem seu próprio preço separado
- Suporte: a janela de manutenção garantida pela Microsoft (correções críticas e atualizações de segurança) para implantações existentes do Semantic Kernel vai pelo menos até 2027, sem custo adicional além dos acordos existentes com a Microsoft ou o Azure
Item | Preço | Ideal para |
|---|---|---|
| SDK Semantic Kernel | Gratuito (licença MIT) | Todos — sem custo, nunca |
| Uso da API do modelo | Pagamento por uso, conforme o provedor | Qualquer LLM conectado |
| Hospedagem no Azure (opcional) | Tarifas padrão do Azure | Times implantando no Azure |
| Banco vetorial (opcional) | Varia por provedor | Casos de uso de RAG / memória |
Verificado com base na documentação oficial do Semantic Kernel e no repositório do GitHub, em setembro de 2026 — os preços de API do modelo e hospedagem no Azure são definidos de forma independente por esses serviços e mudam com o tempo; confira as páginas de preços atuais antes de orçar.
Como instalar e começar com o Semantic Kernel?
Instalar o Semantic Kernel leva um único comando de gerenciador de pacotes em qualquer uma das três linguagens suportadas — sem necessidade de conta ou chave de licença para o próprio SDK.
- 1Instale o SDK para sua linguagem:
dotnet add package Microsoft.SemanticKernel(.NET),pip install semantic-kernel(Python), ou adicione a dependênciacom.microsoft.semantic-kernel(Java). - 2Defina as credenciais do seu provedor de modelo como variáveis de ambiente ou configuração — o Semantic Kernel não fornece acesso a modelos por conta própria; conecte o Azure OpenAI, OpenAI ou outro conector compatível.
- 3Crie um
Kernel, adicione um serviço de IA (por exemplo,AddAzureOpenAIChatCompletionem .NET ouAzureChatCompletionem Python), e registre os plugins que o modelo deve poder chamar. - 4Ative o function calling automático (
FunctionChoiceBehavior.Auto()) para que o modelo invoque plugins registrados diretamente, sem escrever um planner dedicado. - 5Para um projeto totalmente novo, avalie se vale começar diretamente no Microsoft Agent Framework — o sucessor declarado pela Microsoft, disponível de forma geral desde abril de 2026 — em vez de construir sobre um SDK já em modo de manutenção.
- 6Leia a documentação oficial do Semantic Kernel e o repositório no GitHub para a referência de API atual e os guias de migração.
Preciso do Azure para usar o Semantic Kernel?
Não. O Semantic Kernel se conecta por padrão ao Azure OpenAI Service na maioria dos exemplos da Microsoft, mas também suporta OpenAI diretamente e outros provedores via conectores. O Azure não é um requisito obrigatório para executar o SDK em si.
Devo começar um projeto novo com Semantic Kernel ou Microsoft Agent Framework?
A própria orientação da Microsoft direciona novos projetos para o Microsoft Agent Framework, o sucessor com disponibilidade geral desde 2 de abril de 2026. O Semantic Kernel continua adequado principalmente para times que já o têm em produção.
Para quem é o Semantic Kernel?
O Semantic Kernel encaixa em times que já investiram nele, ou times com uma pilha .NET/Azure existente que valorizam SDKs nativos multilíngues acima da maior comunidade possível. É uma opção mais fraca para quem está começando do zero em 2026.
Use o Semantic Kernel se
- Sua organização já tem uma base de código .NET e quer adicionar recursos de LLM sem introduzir Python ou JavaScript como segunda pilha
- Você precisa de SDKs nativos e de primeira classe em C#/.NET, Python e Java, em vez de um framework Python-first com um port parcial de JavaScript
- Você mantém uma implantação de produção existente do Semantic Kernel e valoriza sua janela de suporte garantida (pelo menos até 2027) em vez de migrar imediatamente
- Você quer blocos voltados para empresas — filtros, observabilidade, logging estruturado — projetados para implantação no Azure desde o início
Evite o Semantic Kernel se
- Você está começando um projeto totalmente novo em 2026 — a própria Microsoft recomenda iniciar novos trabalhos de agentes no Microsoft Agent Framework em vez de um SDK em modo de manutenção
- Seu time não está no ecossistema .NET/Azure e se beneficiaria de uma comunidade maior e mais ativa em torno do LangChain ou do LlamaIndex
- Você quer a menor pegada de dependências possível, sem as camadas de abstração voltadas para empresas da Microsoft
- Você precisa dos padrões específicos de conversa multiagente — chats em grupo, negociação agente a agente — em que o AutoGen e seu fork AG2 são especializados
Quando você NÃO deve usar o Semantic Kernel?
Evite o Semantic Kernel para um projeto totalmente novo em 2026, a menos que tenha um motivo específico para evitar o Microsoft Agent Framework. Algumas situações concretas em que outra ferramenta é a melhor escolha.
- Começar do zero em 2026 sem investimento existente em Semantic Kernel — vá direto para o Microsoft Agent Framework, o próprio sucessor com disponibilidade geral da Microsoft, em vez de construir sobre um SDK em modo de manutenção
- Um time fora do ecossistema .NET/Azure que se beneficiaria da comunidade, dos tutoriais e do catálogo de integrações mais amplos do LangChain ou do LlamaIndex
- Um projeto que precisa especificamente de padrões de conversa multiagente ao estilo AutoGen/AG2 — agentes nomeados debatendo ou negociando em um chat em grupo — em vez de um único kernel chamando plugins
- Um script leve ou protótipo em que uma chamada direta à API do provedor do modelo é mais simples do que adotar a abstração Kernel/plugin/planner
- Use o Semantic Kernel em vez de trocar no meio do projeto apenas quando já houver uma implantação de produção funcionando e a janela de suporte garantida cobrir seu cronograma
Semantic Kernel vs. alternativas
O Semantic Kernel compete com outros frameworks para construir aplicações LLM e agentes — e, no próprio roteiro da Microsoft, agora converge com um deles.
Ferramenta | Interface | Licença | Apoio | Ideal para |
|---|---|---|---|---|
| Semantic Kernel | Código C# / Python / Java | MIT | Microsoft (modo de manutenção) | Apps corporativos .NET/Azure existentes |
| Microsoft Agent Framework | Código C# / Python | MIT | Microsoft | Novos projetos de agentes no ecossistema Microsoft |
| LangChain | Código Python / JS | MIT | LangChain Inc. (financiada por VC) | Apps LLM e agentes de propósito geral |
| LlamaIndex | Código Python / TS | MIT | LlamaIndex Inc. (financiada por VC) | Indexação e recuperação RAG-first |
| CrewAI | Código Python | MIT | CrewAI Inc. (financiada por VC) | Equipes multiagente baseadas em papéis |
| AutoGen | Código Python | MIT / CC-BY | Microsoft Research (modo de manutenção) | Padrões de conversa multiagente |
| LangGraph | Código Python / JS | MIT | LangChain Inc. | Agentes com estado baseados em grafos |
Erros comuns ao avaliar o Semantic Kernel
Esses erros vêm de interpretar mal "modo de manutenção" ou de confundir o Semantic Kernel com seu próprio sucessor.
Erro 1: assumir que "modo de manutenção" significa descontinuado ou sem suporte
Modo de manutenção significa que a Microsoft entrega correções críticas e atualizações de segurança, com suporte garantido pelo menos até 2027, mas para de adicionar novos recursos. Não é o mesmo que um projeto abandonado ou arquivado — implantações de produção existentes continuam recebendo suporte durante essa janela.
Erro 2: tratar o Semantic Kernel e o Microsoft Agent Framework como o mesmo produto
Eles são relacionados, mas distintos: o Semantic Kernel é o SDK mais antigo, agora em modo de manutenção; o Microsoft Agent Framework é o sucessor com disponibilidade geral, lançado em 2 de abril de 2026, que converge as bases corporativas do Semantic Kernel com o modelo de orquestração do AutoGen.
Erro 3: assumir que o Semantic Kernel é exclusivo para .NET
Python e Java são SDKs Semantic Kernel de primeira classe desde o início do projeto, não portes tardios adicionados a um núcleo em C# — um diferencial real frente a frameworks Python-first como LangChain ou CrewAI.
Perguntas frequentes
O Semantic Kernel é gratuito?
Sim. O Semantic Kernel é de código aberto sob a licença MIT e gratuito para qualquer uso, incluindo produtos comerciais, sem limites de uso no SDK em si.
Quem criou o Semantic Kernel?
A Microsoft criou o Semantic Kernel e o lançou como SDK de código aberto em março de 2023.
O Semantic Kernel está descontinuado?
Não — está em modo de manutenção, não descontinuado. A Microsoft continua lançando correções críticas e atualizações de segurança para o Semantic Kernel, com suporte garantido pelo menos até 2027, mas o desenvolvimento de novos recursos agora vai para o Microsoft Agent Framework.
O que é o Microsoft Agent Framework, e como ele se relaciona com o Semantic Kernel?
O Microsoft Agent Framework (MAF) é o sucessor declarado pela Microsoft tanto do Semantic Kernel quanto do AutoGen, convergindo as bases corporativas do Semantic Kernel com o modelo de orquestração multiagente do AutoGen em uma única plataforma suportada. Ele alcançou disponibilidade geral em 2 de abril de 2026.
Devo usar o Semantic Kernel ou o Microsoft Agent Framework para um projeto novo?
A própria documentação da Microsoft direciona novos projetos para o Microsoft Agent Framework. O Semantic Kernel continua sendo uma escolha razoável principalmente para times que já têm uma implantação de produção e querem mantê-la durante a janela de suporte garantida.
Quais linguagens de programação o Semantic Kernel suporta?
C#/.NET, Python e Java, todas como SDKs nativos — o Semantic Kernel foi lançado com C#/.NET primeiro e adicionou Python e Java como SDKs de primeira classe, não como portes posteriores.
O que é um "plugin" no Semantic Kernel?
Um plugin é uma função de código nativo ou um template de prompt, marcado com metadados que o Kernel pode ler, que o modelo pode descobrir e chamar — o equivalente de "tools" em outros frameworks de agentes.
O Semantic Kernel exige o Azure para funcionar?
Não. O Semantic Kernel suporta OpenAI diretamente e outros conectores de modelo além do Azure OpenAI Service. O Azure é comum nos próprios exemplos e componentes corporativos da Microsoft, mas não é um requisito obrigatório do SDK.
Quantas estrelas no GitHub o Semantic Kernel tem?
O repositório microsoft/semantic-kernel já passou de 28.000 estrelas no GitHub.
O Semantic Kernel é melhor que o LangChain?
Nenhum dos dois é estritamente melhor — eles se encaixam em situações diferentes. O Semantic Kernel oferece SDKs nativos multilíngues (C#/.NET, Python, Java) e componentes corporativos voltados para o Azure, mas está em modo de manutenção; o LangChain é Python/JavaScript-first, com uma comunidade maior e desenvolvimento ativo.
