Cuál es el SDK de agentes de Microsoft 365

El SDK de Microsoft 365 Agents es un marco de desarrollo para crear agentes conversacionales. Los agentes conversacionales son programas informáticos capaces de recibir mensajes de los usuarios, procesarlos y responder a ellos. Piense en ello como la capa de fontanería que se interpone entre un usuario que envía un mensaje (ya sea en Teams, en una página web, en Slack o en cualquier otro lugar) y la lógica que haya creado para responder a dicho mensaje.

El SDK se encarga de los aspectos técnicos relacionados con la recepción y el envío de mensajes a través de diferentes interfaces, de modo que los desarrolladores puedan centrarse en lo que realmente hace el agente, en lugar de en los protocolos de comunicación de bajo nivel.

Idiomas compatibles

El SDK de Agents admite:

  • C# con el SDK de .NET 8.0
  • JavaScript con Node.js versión 18 y posteriores
  • Python, en las versiones 3.9 a 3.11

Tres problemas que resuelve el SDK de Agentes

  • Su agente debe operar en más de un lugar. No todos los usuarios se comunican a través del mismo canal. Algunos utilizan Microsoft Teams, otros utilizan Microsoft 365 Copilot, otros utilizan la página web de la empresa y otros utilizan herramientas ajenas a Microsoft, como Slack o Facebook Messenger. Sin un marco de trabajo, un desarrollador tiene que escribir código de integración independiente para cada una de esas plataformas, cada una con su propio formato de mensajes, esquema de autenticación y protocolo de conexión.

    El SDK proporciona una capa de abstracción de canal. Usted escribe la lógica de su agente una sola vez, y el SDK convierte los mensajes entrantes y salientes al formato que espera cada canal. Añadir un nuevo canal no requiere reescribir el comportamiento básico del agente.

  • No le conviene quedarse atado a un único servicio de IA. La elección del servicio de inteligencia artificial que da soporte a un agente, ya sea Fundición de IA de Azure, OpenAI, Kernel semántico o cualquier otra opción, cambia con frecuencia a medida que evoluciona el panorama y surgen diferentes casos de uso. Un Agent Framework que integra un proveedor de IA específico obliga a los desarrolladores a reescribir grandes partes de su código cuando esa elección cambia.

    El SDK está diseñado para ser independiente de cualquier sistema de inteligencia artificial. Proporciona la estructura necesaria para recibir mensajes, gestionar el estado y enrutar eventos, pero no hace suposiciones sobre qué es lo que genera la respuesta. Los desarrolladores integran los servicios de inteligencia artificial o las bibliotecas de orquestación que prefieran. El SDK no interfiere con esa decisión.

  • Manejar el estado de la conversación es difícil. Las conversaciones no carecen de estado. Un usuario puede formular una pregunta de seguimiento, referirse a algo que se dijo hace dos turnos o abandonar una conversación y retomarla más tarde. Gestionar ese contexto, lo que incluye realizar un seguimiento de lo que ha ocurrido, dónde se almacena y cómo circula entre los mensajes, resulta tedioso y propenso a errores si se crea desde cero.

    El SDK proporciona gestión integrada de estado y almacenamiento. Introduce el concepto de turno (una unidad de trabajo en una conversación) y realiza un seguimiento del estado a lo largo de los turnos sin que los desarrolladores tengan que implementar su propia capa de persistencia. Esto significa menos código repetitivo y menos errores en la lógica de flujo conversacional.

Cómo encajan juntos

En esencia, el SDK hace tres cosas cuando llega un mensaje:

  1. Recibe el mensaje del canal que lo envió (Teams, chat web, Slack, etc.) y lo normaliza en un formato común llamado Activity.

  2. Enruta la actividad al controlador correspondiente en su código de agente. Por ejemplo, una actividad de mensaje activa un controlador, mientras que un usuario que se une a una conversación activa otro.

  3. Envía la respuesta a través del mismo canal, adaptando su respuesta al formato que espera dicho canal.

Los desarrolladores escriben controladores para los tipos de actividad que les interesan. El SDK se encarga de todo lo demás, incluida la autenticación, la conversión del formato de los mensajes y la conectividad con los canales.

Lo que no es el SDK de agentes

El SDK de agentes no es un modelo de IA, ni un motor de orquestación, ni un generador sin código. El SDK de agentes no decide lo que dice un agente. Estos elementos son responsabilidad del servicio de inteligencia artificial o de la lógica de negocio que el desarrollador incorpore al agente. El SDK de agentes es la plataforma que lleva mensajes hacia y desde esa lógica de forma confiable, a través de canales, con el estado conversacional intacto.

Pasos siguientes