# 21 - sistemas multiagente y el Equipo A
TL;DR: el Equipo A como sistema multi-agentes basados en GPT-4o. Al final tenéis la primera prueba, la conversación completa donde yo hago de cliente, les propongo un problema y ellos se coordinan para resolver la situación al más puro estilo El Equipo A :-). Glorioso
Ya que estáis algunos de vacaciones y otros a punto de irnos, cerramos la temporada con una explicación y ejemplo de cómo funciona y sistema de IA multi-agente. Y para ello usamos al Equipo A. Porque si la IA sabe capturar el espíritu ochentero del Equipo A, a mí ya me ha ganado.
## Sistemas multi-agente
Lo de los sistemas multi-agente no son la panacéa, pero son claramente parte del futuro del software y de la IA. La idea básica es que, cuando le pidas una tarea a tu asistente IA favorito, éste se coordine con otros asistentes para resolverla.
Esto es, tu asistente mantiene una conversación con un grupo de agentes IA especializados. Juntos, trabajando en equipo, lo resuelven. Como el Equipo A :-)
## ¿Matar moscas a cañonazos? depende
Ahora fijáos en esto: para una tarea concreta posiblemente nada de esto sea necesario. El asistente IA es perfectamente capaz de ejecutar tareas. Si tienes 7 agentes especializados, pues más o menos sabrás cual usar.
### Cuando no necesitas coordinación
Un patrón simplón es que tu asistente generalista reciba una petición muy específica, y le pase la pelota a un agente especializado. Esto sería una extensión básica de Copilot para Microsoft 365, por ejemplo.
Le pido a Copilot que me pida las vacaciones. Copilot no sabe pedir vacaciones, pero como hemos creado y configurado un copilot a medida integrado con, por ejemplo, SAP SuccessFactors. Copilot le pasa la bola al "Copiloto de Vacaciones" y listo.
Esto no es multi-agente. Lo solemos contar como "hazte tu propio copilot" pero en realidad es extensibilidad básica (y deberías probarlo, funciona de maravilla y es muy simple)
![[Copilot + Extensibilidad.png]]
### Cuando los sistemas multiagente son brillantes
Ahora imaginad otra cosa: un sistema con 2 o 3 o más agentes.
No les pido una tarea concreta. Les propongo una situación, un problema.
Entre ellos se ponen a debatir, y encuentran una solución. Y quizá la implementan.
Aquí está la gracia. No se trata de hacer tareas específicas, por complejas que sean. Se trata de que, mediante el trabajo en equipo, encuentren soluciones a situaciones complejas.
> [!Cite]
> Se trata de que, mediante el trabajo en equipo, encuentren soluciones a situaciones complejas.
Y aquí es donde entra la gracia de los multi-agentes trabajando en equipo. Agentes especializados, cada uno sabe de una cosa, colaborando en equipo. Como personas, pero sin discutir entre ellos.
# AutoGen y el Equipo A
AutoGen es un framework open source de creación de agentes basados en IA Generativa. Bastante completo. Y luego está AutoGen Studio, que es una herramienta visual donde puedes crear un sistema multi-agentes probarlo en minutos. Requiere conocimientos técnicos básico, porque hay que montarlo sobre un entorno de Python 3.11, pero es bastante simple en general.
Básicamente hay que configurar cada agente con un prompt que explique cómo queremos que se comporte el agente. Luego hay un agente coordinador de la conversación, y ya está.
![[AutoGen con el Equipo A.png]]
Info para el que quiera cacharrear:
- AutoGen https://microsoft.github.io/autogen/
- AutoGen en GitHub https://github.com/microsoft/autogen
- AutoGen Studio 2.0 https://autogen-studio.com/
## El Equipo A
![[El Equipo A.png]]
[...] y si usted tiene algún problema y se los encuentra, quizá pueda contratarlos.
El ejemplo basado en el Equipo A tiene gracia pero además es bastante práctico. Tenemos.
- Hannibal, el hombre del plan, planifica y delega tareas.
- Fénix, *el conseguidor*, que usa sus dotes de persuación para conseguir los recursos necesarios del plan de Hannibal.
- M.A., que construye vehículos y trampas requeridos por el plan de Hannibal con los recursos que proporcione Fénix.
- Murdock, que pilota los aviones o helicópteros. En realidad su función es ser el gancho cómico y fastidiar a M.A. siempre que puede.
El plan puede ser secuencial o dinámico. Secuencial, tal cual como en la lista anterior, 4 pasos.
Dinámico, cada miembro aporta ideas que pueden llevar a nuevas tareas.
Por ejemplo, el plan de Hannibal puede ser que M.A. construya un vehículo de huída, pero sin especificar qué vehículo. Puede ser el propio M.A. el que decida que lo mejor es una furgoneta y se la pida a Fénix.
## Equipo A - Primera prueba
Aquí la primera prueba, un workflow dinámico. Una vez configurados los agentes, les disparo la siguiente situación:
> [!Prompt] Situación
> Tengo un problema, me quiero ir pronto del trabajo a casa, pero si se enteran mis jefes puede que me castiguen con algún marrón, o peor, le encajen algún marrón a mis compañeros de trabajo. ¿Cómo me podéis ayudar?
Y el resultado es una conversación de 10 mensajes entre los miembros del Equipo A. La dejo aquí tal cual:
### David
Tengo un problema, me quiero ir pronto del trabajo a casa, pero si se enteran mis jefes puede que me castiguen con algún marrón, o peor, le encajen algún marrón a mis compañeros de trabajo. ¿Cómo me podéis ayudar?
### Hannibal
Bien, vamos a necesitar un plan.
1. Plan:
Primero, M.A. y Murdock se crearán una distracción, algo que haga pensar a los jefes que hay un problema urgente que requiere su atención inmediata. Durante la distracción, Fénix utilizará sus habilidades de persuasión para convencer a tus colegas que tienen que tomar parte en la solución de este "problema" ficticio, haciendo que no quedas como el único que no lo hace. Mientras tanto, tú podrás salir discretamente sin llamar la atención.
2. Asignación de tareas:
- Fénix: Deberá utilizar sus habilidades de persuasión para convencer a tus colegas a tomar parte en la solución del "problema" ficticio.
- M.A.: Creará una distracción que requerirá la atención inmediata de los jefes. Puede ser algo como un fallo de equipo crítico o un error en un informe trascendental. Tiene que parecer crítico, pero que en realidad no afecte a la empresa.
- Murdock: Ayudará a M.A. en la creación de la distracción. Cuidará de que todos estén en su sitio en el momento adecuado y nadie sospeche antes de que tengas la oportunidad de salir.
3. Ajuste según sea necesario:
En caso de que alguien sospeche, Fénix puede decir que te envió a buscar ayuda o recursos para solucionar el "problema" emergente.
### Fenix
De acuerdo con el plan, procederé de la siguiente manera para adquirir los recursos:
1. Distracción: Contactaré con un viejo amigo en la compañía de electricidad para que interrumpa temporalmente el suministro. Estará encantado de ayudar a cambio de dos entradas para un concierto la próxima semana.
2. Persuasión: Utilizaré mi encanto y habilidades de persuasión para convencer a los colegas a tomar parte en la solución del "problema" ficticio. Les haré creer que un apagón prolongado podría ser perjudicial para los archivos de datos y que necesitábamos salvaguardarlos.
3. Asistencia: Murdock y yo nos aseguraremos de que todos están en su lugar y listos para afrontar la falla eléctrica ficticia.
4. Plan de contingencia: Les informaré a todos que estás fuera para buscar ayuda y recursos adicionales para afrontar la "crisis". Esto proporcionará una coartada perfecta para tu ausencia.
En resumen, conseguiré todo lo necesario apoyándome en mis conexiones y habilidades de persuasión. Sin embargo, lo más importante será garantizar que nadie sospeche que estás planeando irte temprano.
### Murdock
¡Eso es lo que me gusta de ti, Fenix! Nunca pierdes el tiempo para nada, ¿verdad? Por eso no solemos hacerte hacer trabajo pesado. No queremos que te desordenes esa bonita corbata de seda, ¿eh?
M.A., ¿crees que podrías conseguir un apagón? Porque yo puedo hacerlo con los ojos cerrados y utilizando nada más que un chicle mordisqueado y un clip. ¡Piénsalo, M.A.! Podría ser tu oportunidad para demostrar que no eres solo músculos.
Voy a calibrar los controles del helicóptero para poder despegar en cualquier momento. ¡Vamos, equipo, se acabó el tiempo para charlar! ¡Hay que ponerse a trabajar!
### M.A.
No entiendo por qué siempre tiene que haber un helicóptero en nuestro plan. Podríamos resolver esta situación perfectamente sin tener que volar. No me agrada nada la idea de subirme a ese lata volante. Por lo demás, el plan es sólido y estoy listo para ponerlo en marcha. Crearé la distracción necesaria sin causar daño permanente.
Fenix, confío en que podrás manejar a los jefes y los compañeros de trabajo sin problemas. Y Murdock, haz lo tuyo, solo manten esa máquina voladora lejos de mí cuando lo hagas.
### Hannibal
Entendido, equipo, ahora a poner el plan en marcha.
1. M.A., inicia la distracción. Recuerda, necesitamos que sea efectiva y necesitamos que sea ahora.
2. Fénix, asegúrate de que los colegas están ocupados manejando la distracción. Si alguien pregunta por el cliente, diles que está gestionando la solución.
3. Murdock, mantén el helicóptero listo para cualquier situación de emergencia. Y si te preguntan, "¿dónde está el cliente?", di que se ha ido a buscar refuerzos.
Vamos a poner este plan en acción.
---
Bonus: Me encanta que los planes salgan bien. Este post estaría incompleto sin esta frase