Semantic Kernel de Microsoft
Índice de contenidos
- Puntos clave
- ¿Qué es Semantic Kernel y en qué punto está en 2026?
- ¿Qué son el kernel, los plugins y las funciones?
- ¿Cómo funciona su framework de agentes?
- ¿Cómo encaja en .NET, Python y Java?
- ¿En qué se diferencia de AutoGen?
- Preguntas frecuentes
- ¿Semantic Kernel está obsoleto por Microsoft Agent Framework?
- ¿Necesito una clave de OpenAI para usarlo?
- ¿En qué se diferencia de LangChain o CrewAI?
- Conclusión
- Fuentes
Semantic Kernel es el kit de código abierto de Microsoft para integrar modelos de IA en C#, Python y Java mediante un kernel que orquesta plugins y funciones. En 2026 su relevo es Microsoft Agent Framework, el sucesor que fusiona Semantic Kernel y AutoGen; Semantic Kernel sigue con soporte al menos un año más.
Semantic Kernel es el kit de código abierto con el que Microsoft mete un modelo de IA dentro de tu aplicación de C#, Python o Java y le deja llamar a tu propio código. La pieza central, el kernel, hace de intermediario: recibe la petición del modelo, ejecuta la función correcta y le devuelve el resultado. En esta guía verás qué son el kernel, los plugins y las funciones, cómo es su framework de agentes, cómo encaja en los tres lenguajes y por qué en 2026 su relevo oficial es Microsoft Agent Framework. La misma explicación está disponible en inglés.
Puntos clave
- Semantic Kernel es un SDK ligero y de código abierto de Microsoft para construir agentes de IA e integrar modelos en C#, Python y Java, con un compromiso de versiones 1.0+ sin cambios que rompan.
- El kernel es un contenedor que reúne los servicios de IA y los plugins; traduce la petición del modelo en una llamada real a una función de tu código y le pasa el resultado.
- Su framework de agentes trae tipos listos como
ChatCompletionAgent,AzureAIAgentyOpenAIAssistantAgent, además de clases de orquestación para coordinar varios agentes. - Está en los tres lenguajes:
semantic-kernel1.44.0 en Python (3.10+),Microsoft.SemanticKernel1.78.0 en .NET (más de 14 millones de descargas en NuGet) y una edición Java sobre JDK 17+. El repositorio ronda las 28.300 estrellas. - En abril de 2026 Microsoft lanzó Microsoft Agent Framework, que fusiona Semantic Kernel y AutoGen: es el sucesor recomendado, aunque Semantic Kernel seguirá recibiendo correcciones críticas al menos un año más.
¿Qué es Semantic Kernel y en qué punto está en 2026?
Semantic Kernel es, según la documentación oficial, "un kit de desarrollo ligero y de código abierto que te permite construir agentes de IA con facilidad e integrar los modelos más recientes en tu código de C#, Python o Java". Funciona como una capa de middleware entre tu aplicación y el modelo: cuando el modelo decide que necesita ejecutar una acción, Semantic Kernel traduce esa decisión en una llamada a tu función y devuelve el resultado al modelo. Lo usan Microsoft y varias empresas de la lista Fortune 500 porque es modular, observable y estable.
El dato que cambia todo en 2026 es la consolidación. El 3 de abril de 2026 Microsoft publicó Microsoft Agent Framework 1.0, un marco que unifica Semantic Kernel y AutoGen en un solo SDK con API estables y soporte a largo plazo. Su responsable de producto lo describe como "el sucesor de Semantic Kernel para construir agentes de IA", y el propio equipo lo llama informalmente "Semantic Kernel v2.0, porque lo construye la misma gente". Es su única recomendación para proyectos nuevos.
Eso no significa que Semantic Kernel desaparezca de golpe. Microsoft se comprometió a mantenerlo y a corregir fallos críticos y de seguridad durante al menos un año tras la salida de Agent Framework, es decir, hasta cerca de abril de 2027. Si ya tienes un proyecto en producción con Semantic Kernel, sigue siendo una base sólida; si empiezas de cero, conviene mirar antes su sucesor. Para construir agentes hoy también compite con LangGraph y con CrewAI.
¿Qué son el kernel, los plugins y las funciones?
El nombre lo dice: el kernel es el corazón del framework. Es un contenedor de inyección de dependencias que reúne dos cosas, los servicios (los modelos de chat, de embeddings, etc.) y los plugins. Cuando llega una petición, el kernel elige el servicio, deja que el modelo razone y, si el modelo pide ejecutar algo, localiza la función y la invoca. Es el mismo mecanismo que Microsoft 365 Copilot usa por dentro.
Un plugin es simplemente un grupo de funciones relacionadas. Una función puede ser nativa (código normal que decoras para exponerlo al modelo) o de prompt (una plantilla de texto que llama al modelo). Al describir tu código con tipos y descripciones, el modelo aprende cuándo y cómo llamarlo, sin que tú escribas el enrutado. Semantic Kernel también importa APIs externas a partir de especificaciones OpenAPI, así que una función puede envolver un servicio web ya existente.
Este es un plugin nativo mínimo en Python: una clase con una función decorada que el modelo puede invocar por su nombre y descripción.
from semantic_kernel.functions import kernel_function
class ClimaPlugin:
@kernel_function(description="Devuelve el tiempo actual de una ciudad.")
def obtener_clima(self, ciudad: str) -> str:
return f"En {ciudad} hace 22 grados y está despejado."
Registras ese plugin en el kernel con kernel.add_plugin(ClimaPlugin(), "clima") y, a partir de ahí, cualquier agente construido sobre ese kernel puede pedir el tiempo sin que tú escribas la lógica de "si el usuario pregunta por el clima, llama a…". Esa es la promesa del function calling bien integrado.
¿Cómo funciona su framework de agentes?
Sobre el kernel, Semantic Kernel añadió el Agent Framework, una capa para crear agentes con los mismos patrones del núcleo. Un agente aquí es una entidad que recibe mensajes, razona con un modelo, llama a herramientas y produce respuestas, y varios agentes pueden colaborar en un mismo flujo. El framework trae tipos ya hechos según de dónde venga el modelo: ChatCompletionAgent (sobre un servicio de chat cualquiera), OpenAIAssistantAgent (sobre la API de Asistentes de OpenAI), AzureAIAgent y OpenAIResponsesAgent.
Un agente de chat mínimo en Python son pocas líneas: eliges el servicio, le das nombre e instrucciones y lo ejecutas.
import asyncio
from semantic_kernel.agents import ChatCompletionAgent
from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletion
agente = ChatCompletionAgent(
service=OpenAIChatCompletion(ai_model_id="gpt-4o-mini"),
name="Asistente",
instructions="Eres un asistente claro y conciso en español.",
)
async def main():
respuesta = await agente.get_response(messages="Escribe un haiku sobre la recursión.")
print(respuesta.content)
asyncio.run(main())
Para coordinar a varios, el framework incluye clases de orquestación (por ejemplo un chat de grupo donde los agentes se turnan según una estrategia de selección). Ahí es donde Semantic Kernel se cruzaba con AutoGen, y justo por eso Microsoft acabó fusionando ambos. Si tu agente necesita herramientas externas estandarizadas, encaja con el Protocolo de Contexto de Modelos (MCP).
¿Cómo encaja en .NET, Python y Java?
La gran ventaja de Semantic Kernel frente a muchos rivales es que existe de verdad en tres lenguajes, no solo en Python. Las cifras a mediados de 2026 lo confirman:
| Lenguaje | Paquete | Versión | Requisito |
|---|---|---|---|
| .NET (C#) | Microsoft.SemanticKernel (NuGet) |
1.78.0 | .NET 8.0 / .NET Standard 2.0 |
| Python | semantic-kernel (PyPI) |
1.44.0 | Python 3.10+ |
| Java | semantickernel-agents-core (Maven) |
1.x | JDK 17+ |
El paquete de .NET acumula más de 14 millones de descargas en NuGet, y tanto la versión de Python 1.44.0 como la de .NET 1.78.0 salieron el mismo día, el 7 de julio de 2026, lo que da idea del ritmo de publicación. La edición de Java se construye desde un repositorio propio (semantic-kernel-java) y va un paso por detrás en prestaciones, pero comparte los conceptos: kernel, plugins, funciones y agentes. La instalación en Python es un solo comando:
python -m venv .venv && source .venv/bin/activate
pip install semantic-kernel
Esa paridad entre lenguajes es la razón principal para elegir Semantic Kernel en una empresa que ya vive en el ecosistema .NET o Java, donde alternativas centradas en Python encajan peor.
¿En qué se diferencia de AutoGen?
Durante un tiempo Microsoft mantuvo dos frameworks de agentes a la vez y eso confundía. AutoGen nació en Microsoft Research como un marco experimental para conversaciones entre varios agentes: iba muy rápido, exploraba patrones nuevos de orquestación y estaba pensado para investigación. Semantic Kernel, en cambio, era la opción lista para producción, estable, multilenguaje y con un compromiso de no romper compatibilidad. Sus territorios se solapaban cada vez más.
La solución fue unirlos. Microsoft Agent Framework toma la base empresarial de Semantic Kernel y las orquestaciones multiagente de AutoGen y las funde en un único SDK, con soporte nativo de MCP y del protocolo agente a agente (A2A) y conectores para seis proveedores (Azure OpenAI, OpenAI, Anthropic, Amazon Bedrock, Google Gemini y Ollama).
| Aspecto | Semantic Kernel | AutoGen |
|---|---|---|
| Origen | SDK de producto, listo para producción | Microsoft Research, experimental |
| Foco | Integración estable y multilenguaje | Conversaciones entre varios agentes |
| Lenguajes | C#, Python, Java | Python (y .NET) |
| Estado en 2026 | Mantenimiento; base de Agent Framework | Mantenimiento; ideas absorbidas por Agent Framework |
En la práctica: si dudas entre Semantic Kernel y AutoGen para algo nuevo, la respuesta oficial es no elegir ninguno de los dos por separado, sino usar Microsoft Agent Framework, que hereda lo mejor de ambos.
Preguntas frecuentes
¿Semantic Kernel está obsoleto por Microsoft Agent Framework?
No exactamente. Microsoft Agent Framework es el sucesor recomendado para proyectos nuevos desde abril de 2026, pero Semantic Kernel entra en modo mantenimiento, no en abandono: seguirá recibiendo correcciones críticas y de seguridad durante al menos un año tras la salida de Agent Framework. Si ya tienes código en producción, no tienes que migrar de un día para otro; si empiezas hoy, es más sensato construir directamente sobre el sucesor.
¿Necesito una clave de OpenAI para usarlo?
No. Semantic Kernel es agnóstico respecto al proveedor: además de OpenAI y Azure OpenAI, se conecta a otros servicios y a modelos que ejecutas en tu propia máquina con Ollama. Cambias el servicio del kernel sin tocar la lógica de tus plugins ni de tus agentes, así que puedes prototipar con un modelo potente y luego mover parte del trabajo a uno local o más barato.
¿En qué se diferencia de LangChain o CrewAI?
Semantic Kernel es un SDK de Microsoft con paridad real en C#, Python y Java y un fuerte enfoque empresarial (telemetría, filtros, compromiso de compatibilidad). LangChain y CrewAI son proyectos centrados en Python con comunidades enormes y más experimentación. La elección suele depender de tu ecosistema: si vives en .NET o Java, Semantic Kernel (o ya Agent Framework) encaja mejor.
Conclusión
Semantic Kernel resolvió bien un problema concreto: llevar un modelo de IA al centro de una aplicación de C#, Python o Java y dejar que llame a tu código a través de un kernel que orquesta plugins y funciones, con la estabilidad que pide una empresa. Su framework de agentes y su paridad entre lenguajes lo hicieron popular, hasta las 28.300 estrellas del repositorio. En 2026 su historia entra en una fase nueva: Microsoft Agent Framework recoge su testigo y el de AutoGen. El siguiente paso natural es decidir según tu caso: mantener lo que ya funciona en Semantic Kernel, o construir lo nuevo sobre su sucesor y explorar los patrones multiagente que ahora quedan unificados.
Fuentes: [1] Semantic Kernel, documentación oficial en Microsoft Learn[1], [2] Repositorio microsoft/semantic-kernel en GitHub[2], [3] Paquete semantic-kernel en PyPI[3], [4] Paquete Microsoft.SemanticKernel en NuGet[4], [5] Semantic Kernel y Microsoft Agent Framework, blog oficial[5].