Compartir a través de


Microsoft Agent Framework

Microsoft Agent Framework es un kit de desarrollo de código abierto para compilar agentes de IA y flujos de trabajo de varios agentes para .NET y Python. Reúne y amplía ideas de proyectos semánticos de Kernel y AutoGen , combinando sus puntos fuertes al agregar nuevas funcionalidades. Creado por los mismos equipos, es la base unificada para crear agentes de inteligencia artificial en el futuro.

Agent Framework ofrece dos categorías principales de funcionalidades:

  • Agentes de IA: agentes individuales que usan LLM para procesar entradas de usuario, llamar a herramientas y servidores MCP para realizar acciones y generar respuestas. Los agentes admiten proveedores de modelos, como Azure OpenAI, OpenAI y Azure AI.
  • Flujos de trabajo: flujos de trabajo basados en grafos que conectan varios agentes y funciones para realizar tareas complejas y de varios pasos. Los flujos de trabajo admiten el enrutamiento basado en tipos, el anidamiento, el punto de control y los patrones de solicitud y respuesta para escenarios humanos en bucle.

El marco también proporciona bloques de creación fundamentales, incluidos los clientes de modelo (finalizaciones de chat y respuestas), un subproceso de agente para la administración de estados, proveedores de contexto para la memoria del agente, middleware para interceptar acciones del agente y clientes MCP para la integración de herramientas. Juntos, estos componentes proporcionan la flexibilidad y la eficacia para crear aplicaciones de inteligencia artificial interactivas, sólidas y seguras.

¿Por qué otro marco de agente?

El kernel semántico y AutoGen han sido pioneros en los conceptos de agentes de inteligencia artificial y orquestación multiagente. Agent Framework es el sucesor directo, creado por los mismos equipos. Combina las abstracciones simples de AutoGen para patrones de un solo agente y multiagente con las características de nivel empresarial del kernel semántico, como la administración de estado basada en subprocesos, la seguridad de tipos, los filtros, la telemetría y la compatibilidad con la inserción y el modelo extensos. Además de combinar los dos, Agent Framework presenta flujos de trabajo que proporcionan a los desarrolladores un control explícito sobre las rutas de ejecución de varios agentes, además de un sistema de administración de estado sólido para escenarios de ejecución prolongada y humanos en bucle. En resumen, Agent Framework es la próxima generación de Kernel semántico y AutoGen.

Para obtener más información sobre la migración desde kernel semántico o AutoGen, consulte la Guía de migración del kernel semántico y la Guía de migración de AutoGen.

Tanto el kernel semántico como AutoGen se han beneficiado significativamente de la comunidad de código abierto y se espera lo mismo para Agent Framework. Microsoft Agent Framework da la bienvenida a las contribuciones y seguirá mejorando con nuevas características y funcionalidades.

Nota:

Microsoft Agent Framework se encuentra actualmente en versión preliminar pública. Envíe sus comentarios o problemas en el repositorio de GitHub.

Importante

Si usa Microsoft Agent Framework para compilar aplicaciones que operan con servidores o agentes de terceros, lo hace en su propio riesgo. Se recomienda revisar todos los datos que se comparten con servidores o agentes de terceros y ser conscientes de las prácticas de terceros para la retención y la ubicación de los datos. Es su responsabilidad administrar si los datos fluirán fuera del cumplimiento de Azure de su organización y los límites geográficos y las implicaciones relacionadas.

Installation

Pitón:

pip install agent-framework --pre

.RED:

dotnet add package Microsoft.Agents.AI

Agentes de IA

¿Qué es un agente de IA?

Un agente de IA usa un LLM para procesar entradas de usuario, tomar decisiones, llamar a herramientas y servidores MCP para realizar acciones y generar respuestas. En el diagrama siguiente se muestran los componentes principales y sus interacciones en un agente de IA:

Diagrama del agente de IA

Un agente de IA también se puede aumentar con componentes adicionales, como un subproceso, un proveedor de contexto y middleware para mejorar sus funcionalidades.

¿Cuándo usar un agente de IA?

Los agentes de inteligencia artificial son adecuados para aplicaciones que requieren toma de decisiones autónomas, planificación ad hoc, exploración de prueba y error y interacciones de usuario basadas en conversaciones. Son especialmente útiles para escenarios en los que la tarea de entrada no está estructurada y no se puede definir fácilmente de antemano.

Estos son algunos escenarios comunes en los que los agentes de inteligencia artificial excel:

  • Asistencia al cliente: los agentes de IA pueden controlar consultas multi modales (texto, voz, imágenes) de los clientes, usar herramientas para buscar información y proporcionar respuestas de lenguaje natural.
  • Educación y tutorización: los agentes de inteligencia artificial pueden aprovechar las bases de conocimiento externas para proporcionar tutores personalizados y responder a preguntas de los alumnos.
  • Generación y depuración de código: para los desarrolladores de software, los agentes de inteligencia artificial pueden ayudar con la implementación, las revisiones de código y la depuración mediante diversas herramientas de programación y entornos.
  • Asistencia de investigación: para investigadores y analistas, los agentes de inteligencia artificial pueden buscar en la web, resumir documentos y reunir información de varios orígenes.

La clave es que los agentes de inteligencia artificial están diseñados para funcionar en una configuración dinámica y infraespecificada, donde la secuencia exacta de pasos para cumplir una solicitud de usuario no se conoce de antemano y podría requerir exploración y estrecha colaboración con los usuarios.

¿Cuándo no usar un agente de IA?

Los agentes de inteligencia artificial no son adecuados para tareas muy estructuradas y requieren un cumplimiento estricto de las reglas predefinidas. Si la aplicación prevé un tipo específico de entrada y tiene una secuencia de operaciones bien definida para realizar, el uso de agentes de IA podría introducir incertidumbre, latencia y costo innecesarios.

Si puede escribir una función para controlar la tarea, hála en lugar de usar un agente de IA. Puede usar ia para ayudarle a escribir esa función.

Un único agente de IA podría tener dificultades con tareas complejas que implican varios pasos y puntos de decisión. Estas tareas pueden requerir un gran número de herramientas (por ejemplo, más de 20), que un solo agente no puede administrar de forma sencilla.

En estos casos, considere la posibilidad de usar flujos de trabajo en su lugar.

Workflows

¿Qué es un flujo de trabajo?

Un flujo de trabajo puede expresar una secuencia predefinida de operaciones que pueden incluir agentes de inteligencia artificial como componentes, a la vez que se mantiene la coherencia y la confiabilidad. Los flujos de trabajo están diseñados para controlar procesos complejos y de larga duración que pueden implicar varios agentes, interacciones humanas e integraciones con sistemas externos.

La secuencia de ejecución de un flujo de trabajo se puede definir explícitamente, lo que permite un mayor control sobre la ruta de acceso de ejecución. En el diagrama siguiente se muestra un ejemplo de un flujo de trabajo que conecta dos agentes de IA y una función:

Diagrama de flujo de trabajo

Los flujos de trabajo también pueden expresar secuencias dinámicas mediante el enrutamiento condicional, la toma de decisiones basada en modelos y la ejecución simultánea. Así es como se implementan los patrones de orquestación multiagente . Los patrones de orquestación proporcionan mecanismos para coordinar varios agentes para trabajar en tareas complejas que requieren varios pasos y puntos de decisión, abordando las limitaciones de los agentes únicos.

¿Qué problemas resuelven los flujos de trabajo?

Los flujos de trabajo proporcionan una manera estructurada de administrar procesos complejos que implican varios pasos, puntos de decisión e interacciones con varios sistemas o agentes. Los tipos de flujos de trabajo de tareas están diseñados para controlar a menudo requieren más de un agente de IA.

Estas son algunas de las principales ventajas de los flujos de trabajo de Agent Framework:

  • Modularidad: los flujos de trabajo se pueden dividir en componentes más pequeños y reutilizables, lo que facilita la administración y actualización de partes individuales del proceso.
  • Integración del agente: los flujos de trabajo pueden incorporar varios agentes de IA junto con componentes no agente, lo que permite una orquestación sofisticada de tareas.
  • Seguridad de tipos: la escritura segura garantiza que los mensajes fluyan correctamente entre los componentes, con una validación completa que impida errores en tiempo de ejecución.
  • Flujo flexible: la arquitectura basada en grafos permite un modelado intuitivo de flujos de trabajo complejos con executors y edges. Se admite el enrutamiento condicional, el procesamiento paralelo y las rutas de ejecución dinámica.
  • Integración externa: los patrones de solicitud y respuesta integrados permiten la integración sin problemas con las API externas y admiten escenarios humanos en bucle.
  • Puntos de comprobación: guarde los estados de flujo de trabajo a través de puntos de control, lo que permite la recuperación y reanudación de procesos de larga duración en el servidor.
  • Orquestación multiagente: patrones integrados para coordinar varios agentes de IA, incluidos secuenciales, simultáneos, entregas y magentic.
  • Capacidad de composición: los flujos de trabajo se pueden anidar o combinar para crear procesos más complejos, lo que permite la escalabilidad y la adaptación.

Pasos siguientes