(Haz clic en la imagen arriba para ver el video de esta lección)
Tan pronto como comiences a trabajar en un proyecto que involucra múltiples agentes, necesitarás considerar el patrón de diseño multi-agente. Sin embargo, podría no estar inmediatamente claro cuándo cambiar a multi-agentes y cuáles son las ventajas.
En esta lección, buscamos responder las siguientes preguntas:
Después de esta lección, deberías ser capaz de:
¿Cuál es la imagen más amplia?
Los multi-agentes son un patrón de diseño que permite que múltiples agentes trabajen juntos para lograr un objetivo común.
Este patrón se usa ampliamente en varios campos, incluyendo robótica, sistemas autónomos y computación distribuida.
Entonces, ¿qué escenarios son un buen caso de uso para emplear multi-agentes? La respuesta es que hay muchos escenarios donde emplear múltiples agentes es beneficioso, especialmente en los siguientes casos:
Un sistema con un solo agente podría funcionar bien para tareas simples, pero para tareas más complejas, usar múltiples agentes puede proporcionar varias ventajas:
Tomemos un ejemplo, reservemos un viaje para un usuario. Un sistema con un solo agente tendría que manejar todos los aspectos del proceso de reserva del viaje, desde encontrar vuelos, hasta reservar hoteles y autos de alquiler. Para lograr esto con un solo agente, el agente necesitaría tener herramientas para manejar todas estas tareas. Esto podría llevar a un sistema complejo y monolítico que es difícil de mantener y escalar. Un sistema multi-agente, por otro lado, podría tener diferentes agentes especializados en encontrar vuelos, reservar hoteles y autos de alquiler. Esto haría que el sistema sea más modular, más fácil de mantener y escalable.
Compáralo con una agencia de viajes administrada como una tienda familiar versus una agencia de viajes operada como una franquicia. La tienda familiar tendría un solo agente manejando todos los aspectos del proceso de reserva del viaje, mientras que la franquicia tendría diferentes agentes manejando diferentes aspectos del proceso.
Antes de que puedas implementar el patrón de diseño multi-agente, necesitas entender los bloques de construcción que conforman el patrón.
Hagamos esto más concreto volviendo al ejemplo de reservar un viaje para un usuario. En este caso, los bloques de construcción incluirían:
Es importante que tengas visibilidad sobre cómo los múltiples agentes interactúan entre sí. Esta visibilidad es esencial para depurar, optimizar y asegurar la efectividad general del sistema. Para lograr esto, necesitas herramientas y técnicas para rastrear las actividades e interacciones de los agentes. Esto podría ser en forma de herramientas de registro y monitoreo, herramientas de visualización y métricas de rendimiento.
Por ejemplo, en el caso de reservar un viaje para un usuario, podrías tener un tablero que muestre el estado de cada agente, las preferencias y restricciones del usuario, y las interacciones entre los agentes. Este tablero podría mostrar las fechas de viaje del usuario, los vuelos recomendados por el agente de vuelos, los hoteles recomendados por el agente de hoteles y los autos de alquiler recomendados por el agente de autos. Esto te daría una vista clara de cómo los agentes están interactuando entre sí y si se están cumpliendo las preferencias y restricciones del usuario.
Veamos cada uno de estos aspectos con más detalle.
Herramientas de registro y monitoreo: Quieres que se registre cada acción tomada por un agente. Una entrada de registro podría almacenar información sobre el agente que tomó la acción, la acción que se tomó, la hora en que se tomó y el resultado. Esta información puede usarse para depurar, optimizar y más.
Herramientas de visualización: Las herramientas de visualización pueden ayudarte a ver las interacciones entre agentes de manera más intuitiva. Por ejemplo, podrías tener un gráfico que muestre el flujo de información entre agentes. Esto podría ayudarte a identificar cuellos de botella, ineficiencias y otros problemas en el sistema.
Métricas de rendimiento: Las métricas de rendimiento pueden ayudarte a rastrear la efectividad del sistema multi-agente. Por ejemplo, podrías medir el tiempo que toma completar una tarea, el número de tareas completadas por unidad de tiempo y la precisión de las recomendaciones hechas por los agentes. Esta información puede ayudarte a identificar áreas de mejora y optimizar el sistema.
Vamos a profundizar en algunos patrones concretos que podemos usar para crear aplicaciones multi-agente. Aquí hay algunos patrones interesantes que vale la pena considerar:
Este patrón es útil cuando quieres crear una aplicación de chat grupal donde múltiples agentes puedan comunicarse entre sí. Los casos de uso típicos para este patrón incluyen la colaboración en equipo, soporte al cliente y redes sociales.
En este patrón, cada agente representa a un usuario en el chat grupal, y los mensajes se intercambian entre agentes usando un protocolo de mensajería. Los agentes pueden enviar mensajes al chat grupal, recibir mensajes del chat grupal y responder a mensajes de otros agentes.
Este patrón puede implementarse usando una arquitectura centralizada donde todos los mensajes se enrutan a través de un servidor central, o una arquitectura descentralizada donde los mensajes se intercambian directamente.

Este patrón es útil cuando quieres crear una aplicación donde múltiples agentes puedan transferir tareas entre sí.
Los casos de uso típicos para este patrón incluyen soporte al cliente, gestión de tareas y automatización de flujos de trabajo.
En este patrón, cada agente representa una tarea o un paso en un flujo de trabajo, y los agentes pueden transferir tareas a otros agentes basándose en reglas predefinidas.

Este patrón es útil cuando quieres crear una aplicación donde múltiples agentes puedan colaborar para hacer recomendaciones a los usuarios.
La razón para querer que múltiples agentes colaboren es que cada agente puede tener diferentes áreas de especialización y puede contribuir al proceso de recomendación de formas diversas.
Tomemos un ejemplo donde un usuario quiere una recomendación sobre la mejor acción para comprar en el mercado bursátil.

Considera un escenario donde un cliente intenta obtener un reembolso por un producto, puede haber varios agentes involucrados en este proceso, pero dividámoslos entre agentes específicos para este proceso y agentes generales que pueden ser usados en otros procesos.
Agentes específicos para el proceso de reembolso:
Los siguientes son algunos agentes que podrían estar involucrados en el proceso de reembolso:
Agentes generales:
Estos agentes pueden ser usados por otras partes de tu negocio.
Hay bastantes agentes listados anteriormente, tanto para el proceso específico de reembolso como para los agentes generales que pueden usarse en otras partes de tu negocio. Esperamos que esto te dé una idea de cómo puedes decidir qué agentes usar en tu sistema multi-agente.
Diseña un sistema multi-agente para un proceso de atención al cliente. Identifica los agentes involucrados en el proceso, sus roles y responsabilidades, y cómo interactúan entre sí. Considera tanto agentes específicos para el proceso de atención al cliente como agentes generales que pueden usarse en otras partes de tu negocio.
Piensa un momento antes de leer la siguiente solución, es posible que necesites más agentes de los que crees.
TIP: Piensa en las diferentes etapas del proceso de soporte al cliente y también considera los agentes necesarios para cualquier sistema.
Pregunta: ¿Cuándo deberías considerar usar múltiples agentes?
En esta lección, hemos analizado el patrón de diseño multi-agente, incluyendo los escenarios donde son aplicables los multi-agentes, las ventajas de usar múltiples agentes en lugar de un agente singular, los elementos fundamentales para implementar el patrón de diseño multi-agente y cómo tener visibilidad sobre cómo interactúan entre sí los múltiples agentes.
Únete al Microsoft Foundry Discord para conocer a otros aprendices, asistir a horas de oficina y resolver tus dudas sobre Agentes de IA.
Aviso Legal: Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o inexactitudes. El documento original en su idioma nativo debe considerarse la fuente autorizada. Para información crítica, se recomienda la traducción profesional realizada por humanos. No nos hacemos responsables por malentendidos o interpretaciones erróneas derivadas del uso de esta traducción.