Microsoft Agent Framework: Framework para sistemas multiagente
Microsoft ha introducido Agent Framework, un framework de código abierto para construir aplicaciones agenticas, incluidas arquitecturas multiagente. Es una evolución de Semantic Kernel y sucesor de AutoGen. El framework permite construir grafos de agentes con ejecución paralela y secuencial de tareas desde un pool de solicitudes compartido.
Características clave del framework
Agent Framework está diseñado para un desarrollo ligero. Los agentes se integran con herramientas como la búsqueda web y se organizan en flujos de trabajo. Soporta orquestación por handoff: un agente transfiere el control a otro en función de condiciones, devolviéndolo al completarse.
Características clave:
- Grafos de agentes: ejecución secuencial y paralela.
- Integración de herramientas: AIFunctionFactory para conectar APIs externas.
- Memoria y estado: soporte para SQLite para almacenar contexto.
- Eventos: emisión de eventos para monitoreo de flujos de trabajo.
El framework es adecuado para dispositivos edge: las pruebas muestran que funciona en Raspberry Pi 3B con un bot de Telegram, memoria SQLite y cinco agentes sin retrasos notables.
Creando un agente con herramientas
El agente se configura mediante ChatClientAgent. Ejemplo para un agente investigador con búsqueda web:
var researcher = new ChatClientAgent(chatClient,
new ChatClientAgentOptions
{
Name = "Researcher",
Description = "Web search, real-time information, weather, news, and general knowledge.",
ChatOptions = new ChatOptions
{
Instructions = "Search the web for any real-time information",
Tools = [ AIFunctionFactory.Create(webSearchTools.Search),]
}
});
Aquí, el agente recibe instrucciones y herramientas para manejar solicitudes de información actualizada.
Orquestación vía handoff
Para flujos de trabajo multiagente, se utiliza AgentWorkflowBuilder. El agente triage distribuye las tareas y handoff define las transiciones.
var workflow = AgentWorkflowBuilder
.CreateHandoffBuilderWith(triage)
.WithHandoffs(triage, [clerk, archivist, secretary, researcher])
.WithHandoff(researcher, triage, "Hand back to Triage when done or if the request is not about search/information.")
.WithHandoff(...)
.EmitAgentResponseEvents(true)
.Build();
Este enfoque minimiza la complejidad: cada agente se centra en su rol, devolviendo el control al triage para solicitudes irrelevantes.
Aplicación práctica
El framework se ha probado en un escenario de asistente de IA doméstico:
- Interfaz mediante bot de Telegram.
- Memoria en SQLite para preservar el contexto.
- Cinco agentes: triage, clerk, archivist, secretary, researcher.
- Despliegue en Raspberry Pi 3B: operación estable sin sobrecarga.
Esta configuración demuestra escalabilidad para IoT y entornos de bajos recursos.
Puntos clave
- Agent Framework evoluciona Semantic Kernel al añadir soporte nativo multiagente.
- El mecanismo handoff simplifica la orquestación sin código personalizado.
- Ligero: pila multiagente completa en dispositivos ARM como Raspberry Pi.
- Código abierto para personalizar herramientas y flujos de trabajo.
- Emisión de eventos para integración con sistemas de observabilidad.
— Editorial Team
Aún no hay comentarios.