viernes, abril 14, 2023

Smallville: El pueblo virtual donde las Inteligencias Artificiales cotillean, aprenden y se relacionan como humanos

Hace mucho tiempo que estudié Inteligencia Artificial en la universidad. Recuerdo perfectamente la asignatura donde dábamos el lenguaje de programación funcional Scheme (un dialecto de Lisp) y también tengo aún la sensación de encontrarle una gran utilidad para manipular y evaluar funciones (en vez de ejecutar instrucciones como hacen otros lenguajes de programación). Lisp nos ha dado maravillas como Emacs o CLIPS, un sistema experto para la toma de decisiones basadas en conocimiento (algo que utilizamos hoy día en las técnicas actuales de IA).


Figura 1: Smallville, el pueblo virtual donde las Inteligencias Artificiales
cotillean, aprenden y se relacionan como humanos

Lisp ha sido un lenguaje de programación fundamental en el desarrollo de técnicas y herramientas de NLP desde los primeros días de la IA. Uno de los sistemas de procesamiento de lenguaje natural más importantes creados con Lisp es el sistema SHRDLU, desarrollado en el MIT en la década de 1960 por Terry Winograd. SHRDLU fue capaz de responder preguntas y llevar a cabo comandos en un lenguaje natural a través de una interfaz de usuario sencilla. Este sistema fue un precursor importante de los sistemas de diálogo conversacional que se utilizan hoy en día como ChatGPT.


También fue uno de los precursores utilizando lenguaje natural y sistemas de razonamiento automático, en acercarnos a algo que era absolutamente Ciencia Ficción en aquellos días: crear agentes o bots capaces de simular el comportamiento humano. Nunca me imaginé en aquellas clases en salas sin ventanas, con monitores de fósforo naranja y programando en aquellos terminales Unix que vería una evolución como las que estamos viviendo hoy día en la Inteligencia Artificial

Figura 3: "Microhistorias: anécdotas y curiosidades de la historia de la
informática (y los hackers)
"de Fran Ramírez y Rafael Troncoso en 0xWord

Y además de los LLMs como ChatGPT, la IA Generativa nos está dando auténticas sorpresas prácticamente a diario y esta que os vamos a contar ahora es una ellas que es una auténtica revolución. Si te gusta la historia de la informática y sus anécdotas, este libro llamado “Microhistoiras: Anéctodas y cursiosidades de la Informática” te va a encantar ;)

Simulación del comportamiento humano

Desde el mítico juego de 8 bits (creo que salió primero para Commodore 64) llamado "Little Computer People" de 1985, donde los personajes virtuales realizaban actividades cotidianas en un entorno bidimensional con píxeles como puños, hemos sido testigos de una impresionante evolución en la creación de comportamientos humanos en programas y videojuegos. A lo largo de los años, juegos como "The Sims" y el maravilloso "Dwarf Fortress", han ofrecido mundos virtuales más inmersivos y complejos, permitiendo a los usuarios interactuar con personajes y entornos de manera más sofisticada y natural.


Con el avance en tecnologías de inteligencia artificial y procesamiento de lenguaje natural, sistemas como ChatGPT han llevado la simulación del comportamiento humano a un nivel superior, brindando interacciones más auténticas y realistas. Pero la simulación del comportamiento humano va mucho más allá de los videojuegos (aunque pronto veremos grandes avances en la creación de personajes no jugadores que darán una nueva experiencia de juego). El comportamiento humano y su capacidad de ser emulado por una IA es importante porque puede potenciar diversas aplicaciones interactivas, desde entornos inmersivos (Metaverso) hasta espacios para la comunicación interpersonal entre otros.

Llegan los agentes generativos

Este nuevo estudio llamado “Generative Agents: Interactive Simulacra of Human Behavior” presenta a los agentes generativos, que no son más que simulaciones interactivas de comportamiento humano basados en modelos generativos. Estos agentes pueden interactuar de manera creíble con otros agentes y con usuarios humanos, creando comportamientos individuales y sociales muy parecidos a los humanos.

La arquitectura de los agentes generativos se basa en tres componentes principales: la memoria a largo plazo en lenguaje natural, la reflexión y la planificación. Los agentes pueden recordar, recuperar, reflexionar e interactuar con otros agentes, y planificar sus acciones en función de sus experiencias y entorno cambiantes.


El estudio evalúa la efectividad de los agentes generativos mediante dos enfoques: una evaluación controlada y una evaluación de extremo a extremo. La evaluación controlada “entrevista” a los agentes en lenguaje natural para evaluar su coherencia y habilidades de recuerdo, planificación y reacción. La evaluación de extremo a extremo examina las interacciones de los agentes generativos en un entorno de juego durante dos días de tiempo de juego. 

Los resultados muestran que los agentes generativos pueden producir comportamientos creíbles y que cada componente de la arquitectura es crítico para el éxito. Aunque existen oportunidades y riesgos éticos y sociales relacionados con el uso de agentes generativos en sistemas interactivos, este trabajo proporciona un avance significativo en la simulación de comportamientos humanos en aplicaciones virtuales.

Figura 6: Esquema general de la arquitectura interna de un agente generativo

Las implicaciones de este estudio realmente revolucionario son amplias. Los mundos virtuales podrían ser poblados con estos agentes, generando comportamientos totalmente emergentes y “naturales”. La industria del videojuego, que mueve $300 mil millones al año, podría ver personajes no jugadores (NPC) con interacciones ricas e inmersivas en todos los rincones de un mundo virtual. 

Pero como siempre ocurre, por otro lado, los investigadores también expresan preocupaciones sobre las posibles consecuencias negativas para la sociedad, como las Relaciones Parasociales o “amistades falsas” unilaterales y la posible suplantación de humanos en tareas cruciales. Los autores argumentan que prevenir estos resultados requiere el desarrollo cuidadoso de Agentes Generativos y la implementación de los controles adecuados (como ya ha pasado con la famosa carta para parar la IA).

“Smallville” el nuevo “Little computer people”

El artículo presenta a "Smallville", un mundo de simulación de estilo Sandbox que recuerda al juego "Los Sims", donde personajes controlados por agentes generativos interactúan y se comportan diferentes maneras. El objetivo es estudiar las interacciones y comportamientos de agentes generativos en un entorno simulado y controlado. En Smallville, 25 agentes únicos o “Little Computer People” ;) interactúan entre sí y con su entorno a través de acciones y lenguaje natural.

Cada agente tiene una descripción inicial que incluye ocupación y relaciones con otros agentes. A medida que los agentes interactúan, intercambian información, forman nuevas relaciones y realizan actividades conjuntas. Los usuarios pueden interactuar con los agentes mediante el lenguaje natural, tomando diferentes roles y dando directivas a los agentes.

Figura 7: “Smallville”, la ciudad virtual donde los agentes generativos
interactúan entre ellos creando relaciones sociales

Básicamente las interacciones se generan retroalimentando “prompts” entre los diferentes agentes a sus respectivos modelos generativos (ChatGPT) los cuales debido a la capacidad de memoria irán creando una historia o su propia personalidad. El documento de la investigación destaca ejemplos de interacciones entre agentes, como la difusión de información y la formación de relaciones. 

Los agentes en Smallville también pueden coordinarse para llevar a cabo eventos, como una fiesta de San Valentín, iniciada por un agente y a la que asisten otros agentes en la simulación. Esto definitivamente, se nos está yendo totalmente de las manos ;) Así es como se le aplica y se genera una personalidad a un agente. Este es John Lin, farmacéutico (al más puro estilo juego de rol):

John Lin es el dueño de una tienda de farmacia en el mercado y farmacia Willow que le encanta ayudar a la gente. Siempre está buscando maneras de hacer que el proceso de obtención de medicamentos sea más fácil para sus clientes. John Lin vive con su esposa, Mei Lin, quien es profesora universitaria, y su hijo, Eddy Lin, quien es estudiante de teoría musical. John Lin ama mucho a su familia. 
 
Conoce a la pareja de ancianos de al lado, Sam Moore y Jennifer Moore, desde hace unos años. John Lin piensa que Sam Moore es un hombre amable y agradable. Conoce bien a su vecina, Yuriko Yamamoto. Sabe de sus vecinas, Tamara Taylor y Carmen Ortiz, pero no las ha conocido antes. John Lin y Tom Moreno son colegas en el mercado y farmacia Willow. Son amigos y les gusta discutir la política local juntos. John Lin conoce bastante bien a la familia Moreno, el esposo Tom Moreno y la esposa Jane Moreno.

Tipos de interacciones y sus resultados

Los resultados son realmente alucinantes e increíbles. Veamos un resumen de los principales resultados obtenidos:
  • Difusión de información: Los agentes pueden intercambiar información entre ellos, lo que permite la propagación de noticias o cotilleos dentro de la simulación. Por ejemplo, un agente puede enterarse de un evento o situación particular y compartir esta información con otros agentes, quienes a su vez la difundirán a otros.
  • Cambios en las relaciones: A medida que los agentes interactúan, pueden formar nuevas relaciones, tanto positivas como negativas, basadas en sus interacciones. Estas relaciones pueden ser de amistad, enemistad o incluso románticas, y pueden cambiar con el tiempo dependiendo de las acciones de los agentes involucrados.
  • Resolución de conflictos: En algunos casos, los agentes pueden enfrentarse a conflictos o malentendidos. A través de sus interacciones y comunicación, pueden encontrar soluciones a estos problemas y resolver los conflictos, mejorando así sus relaciones y la dinámica del grupo en general.
Figura 8: Así es la rutina de mañana de John Li, se levanta a las 6:00 am,
se lava los dientes, se ducha y toma el desayuno entre otras tareas
  • Colaboración en actividades: Los agentes pueden coordinarse para llevar a cabo actividades conjuntas, como fiestas, eventos o proyectos. Por ejemplo, un agente puede tomar la iniciativa de organizar una fiesta de cumpleaños y otros agentes pueden participar en la planificación, aportando recursos o invitando a más agentes al evento.
  • Aprendizaje a través de la interacción: Al interactuar con otros agentes y con el entorno, los agentes pueden aprender y adaptarse, modificando sus comportamientos y estrategias en función de las experiencias previas y las reacciones de los demás agentes. Esto puede llevar a una mejora en la cooperación y la eficacia de las acciones en la simulación.
Un ejemplo de difusión de la información

Este ejemplo es real, sacado del artículo académico original donde vemos una conversación entre “Sam” (Agente 1) y “Tom” (Agente 2) en la tienda de comestibles, donde Sam le cuenta a Tom sobre su candidatura en las elecciones locales:
  • Sam: Hola Tom, ¿cómo te va?
  • Tom: Bien, gracias. ¿Qué pasa?
  • Sam: Bueno, quería hablarte de algo. En realidad, me estoy presentando para alcalde en las próximas elecciones locales.
  • Tom: ¿En serio? ¡Esa es una gran noticia! ¿Por qué te presentas?
  • Sam: Llevo años involucrado en la política local y realmente siento que puedo marcar la diferencia en nuestra comunidad. Además, quiero traer nuevas ideas y perspectivas a la mesa.
Más tarde ese día, después de que Sam se fue, Tom y “John” (Agente 3), quien escuchó la noticia de otra fuente, discuten las posibilidades de Sam de ganar las elecciones:
  • John: Escuché que Sam Moore se postula para alcalde en las elecciones locales. ¿Crees que tiene buenas posibilidades de ganar?
  • Tom: Creo que sí tiene buenas posibilidades. Ha estado trabajando duro en la comunidad y creo que recibirá mucho apoyo. ¿Qué opinas tú?
  • John: Creo que es genial que se postule. Tengo curiosidad por ver quiénes más se postulan y cómo resultarán las elecciones.
Poco a poco, la candidatura de Sam se convierte en el tema de conversación en el pueblo, con algunos apoyándolo y otros indecisos.

Conclusiones finales

Los agentes generativos ofrecen un gran potencial en aplicaciones como simulaciones de comportamiento humano para probar y prototipar sistemas sociales, teorías y experiencias interactivas. Estos agentes también pueden ser utilizados en el diseño centrado en el ser humano, actuando como sustitutos de los usuarios para entender mejor sus necesidades y preferencias, lo que resulta en experiencias tecnológicas más personalizadas y efectivas. Y en los videojuegos puede llegar a ser toda una revolución, creando juegos más reales e inmersivos con infinitas posibilidades de juego único.

Sin embargo, estos agentes generativos también plantean preocupaciones éticas, como la formación de relaciones parasociales que antes he comentado, errores en la interpretación de los objetivos reales del usuario humano (¿os acordáis de la fantástica película “Her”?), la exageración de los riesgos asociados con la IA generativa y la posible dependencia de los desarrolladores en estos agentes en lugar de la aportación humana real.

Figura 9: Escena de la película “Her” donde el protagonista mantiene una relación romántica con la IA del sistema operativo (que lleva en el bolsillo, en una especia de smartphone). Un ejemplo del problema parasocial que pueden generar estos agentes generativos.

Mientras escribo este artículo no puedo reprimir una sonrisa de emoción viendo cómo evolucionado todo el mundo de la IA desde aquellas clases de Lisp y Scheme y las maravillas que nos depara el futuro (el futuro es mañana literalmente). Pero a la vez, la sensación vértigo de lo rápido que se está desarrollando la IA se mezcla también con una gran incertidumbre. Con lo que me gustaba Game of Life de Conway ;) Preparad las palomitas que esto no ha hecho más que empezar ;)

Happy Hacking Hackers!!! 

Autor: Fran Ramírez, es investigador de seguridad y miembro del equipo de Ideas Locas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps", también de "Machine Learning aplicado a la Ciberseguridad” además del blog CyberHades. Puedes contactar con Fran Ramirez en MyPublicInbox.

 Contactar con Fran Ramírez en MyPublicInbox


No hay comentarios:

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares