Uso de la orquestación simultánea
La orquestación simultánea permite que varios agentes funcionen en la misma tarea al mismo tiempo. Cada agente controla la tarea de forma independiente y, a continuación, sus salidas se recopilan y combinan. Este método funciona especialmente bien cuando desea diversos enfoques o soluciones, como durante la lluvia de ideas, la toma de decisiones grupales o la votación.
Este patrón es útil cuando se necesitan diferentes enfoques o ideas para resolver el mismo problema. En lugar de hacer que los agentes funcionen entre sí, todos funcionan al mismo tiempo. Esto acelera el proceso y cubre el problema desde muchos ángulos.
Normalmente, los resultados de cada agente se combinan para crear una respuesta final, pero esto no siempre es necesario. Cada agente también puede generar su propio resultado independiente, como llamar a herramientas para completar tareas o actualizar diferentes almacenes de datos de forma independiente.
Los agentes trabajan por sí mismos y no comparten resultados entre sí. Sin embargo, un agente puede llamar a otros agentes de IA ejecutando su propia orquestación como parte de su proceso. Los agentes deben saber qué otros agentes están disponibles para trabajar en tareas. Este patrón permite llamar a todos los agentes registrados cada vez o elegir qué agentes ejecutar en función de la tarea específica.
Cuándo usar la orquestación simultánea
Es posible que desee considerar el uso del patrón de orquestación simultánea en estas situaciones:
- Cuando las tareas se pueden ejecutar al mismo tiempo, ya sea mediante un grupo fijo de agentes o seleccionando agentes de IA dinámicamente en función de las necesidades de la tarea.
- Cuando la tarea se beneficia de diferentes aptitudes o enfoques especializados (por ejemplo, técnicos, empresariales o creativos) que funcionan de forma independiente, pero contribuyen a resolver el mismo problema.
Este tipo de trabajo en equipo es común en métodos de toma de decisiones multiagente, como:
- Ideas de lluvia de ideas
- Combinación de diferentes métodos de razonamiento (razonamiento de conjunto)
- Tomar decisiones basadas en votación o consenso (cuórum)
- Controlar las tareas en las que importa la velocidad y los agentes en ejecución reducen el tiempo de espera.
Cuándo evitar la orquestación simultánea
Es posible que quiera evitar el uso del patrón de orquestación simultánea en los escenarios siguientes:
- Los agentes deben basarse en el trabajo del otro o depender del contexto compartido en un orden específico.
- La tarea requiere una secuencia estricta de pasos o resultados repetibles predecibles.
- Los límites de recursos, como las cuotas de uso del modelo, hacen que los agentes en ejecución sean ineficaces o imposibles en paralelo.
- Los agentes no pueden coordinar de forma confiable los cambios en los datos compartidos o sistemas externos mientras se ejecutan al mismo tiempo.
- No hay ninguna manera clara de resolver conflictos o conflictos entre los resultados de diferentes agentes.
- La combinación de resultados es demasiado complicada o termina bajando la calidad general.
Implementación de orquestación simultánea
Implemente el patrón de orquestación simultánea con Microsoft Agent Framework:
Creación del cliente de chat
Configure un cliente de chat (por ejemplo,AzureOpenAIChatClient) con las credenciales adecuadas para conectarse al proveedor de servicios de IA.Definición de los agentes
Cree instancias de agente mediante el métodocreate_agentdel cliente de chat. Cada agente debe tener instrucciones específicas y un nombre que defina su rol y su área de experiencia.Compilación del flujo de trabajo simultáneo
Use laConcurrentBuilderclase para crear un flujo de trabajo que pueda ejecutar varios agentes en paralelo. Agregue las instancias del agente como participantes mediante el métodoparticipants(), y llame abuild()para crear el flujo de trabajo.Ejecución del flujo de trabajo
Llame al métodorundel flujo de trabajo con la tarea o la entrada en la que desea que los agentes trabajen. El flujo de trabajo ejecuta todos los agentes simultáneamente y devuelve eventos que contienen los resultados.Procesar los resultados
Extraiga las salidas de los eventos de flujo de trabajo medianteget_outputs(). Los resultados contienen las conversaciones combinadas de todos los agentes, con la respuesta de cada agente incluida en la salida final.Control de las respuestas agregadas
Procese los mensajes agregados de todos los agentes. Cada mensaje incluye el nombre del autor y el contenido, lo que le permite identificar qué agente proporcionó cada respuesta.
La orquestación simultánea es un patrón eficaz para usar varios agentes de inteligencia artificial simultáneamente, lo que permite la resolución de problemas más rápida y diversa. Al ejecutar agentes en paralelo, puede explorar diferentes enfoques a la vez, mejorar la eficacia y obtener información más completa. Sin embargo, es importante elegir este patrón cuando las tareas se pueden ejecutar realmente de forma independiente y tener en cuenta las restricciones de recursos y los desafíos de coordinación. Cuando se implementa cuidadosamente con el SDK de Microsoft Agent Framework, la orquestación simultánea puede mejorar considerablemente los flujos de trabajo de inteligencia artificial y los procesos de toma de decisiones.