LM#3: Auto-GPT y los Agentes Autónomos Generativos Inteligentes
¿Son los agentes generativos autónomos el futuro de la IA? ¿Están ya preparados para ser usados?
Analizábamos en mi anterior artículo, qué cosas le faltan a GPT4 para poder ser una inteligencia parecida a la humana. Entre otras cosas, comentábamos que, una parte de sus carencias venían de su imposibilidad de recrear bien un contexto, tener memoria a largo plazo y poder interactuar con entornos (internet por ejemplo).
Para resolver estos problemas hay diversos enfoques, el propio Sam Altman dejaba entrever en un evento del MIT hace pocos días, que el foco de OpenAI no está en desarrollar un GPT-5 sino en dotar a GPT4 de nuevas herramientas para suplir esas carencias en la carrera a construir la AGI (inteligencia artificial general).
Quizás el proyecto más prometedor que actualmente busca complementar esas ineficiencias de GPT4 sea Auto-GPT (otros proyectos interesantes son BabyAGI y AgentGPT).
Auto-GPT es un Agente Generativo Autónomo Inteligente (Generative Agents), es decir, un software que funciona de forma autónoma y que puede generar ideas y sugerencias propias basadas en las órdenes humanas a través de indicaciones.
Nuevas investigaciones, como el paper "Generative Agents: Interactive Simulacra of Human Behavior" de Park et al., destacan el potencial de los sistemas basados en agentes para simular comportamientos humanos creíbles. Los agentes generativos, propuestos en el paper, pueden interactuar de formas complejas y atractivas, formar opiniones, iniciar conversaciones e incluso planificar y asistir a eventos de manera autónoma. Este trabajo refuerza aún más el argumento de que los mecanismos basados en agentes tienen un futuro prometedor en el desarrollo de la inteligencia artificial.
Actualmente el agente más prometedor es Auto-GPT. A diferencia de ChatGPT, Auto-GPT requiere muy poca interacción humana y puede autogenerar prompts, a través de lo que denomina "tareas añadidas".
Si un usuario indica a la aplicación cuál debe ser el resultado final, esta generará indicaciones por sí misma para alcanzar ese objetivo. En el caso de ChatGPT, se necesita una interacción constante entre la máquina y el usuario para que el bot genere respuestas.
En definitiva, imagina Auto-GPT como un robot ingenioso. Le asignan una misión y este elabora un plan para llevarla a cabo. Si la misión requiere navegar por Internet o utilizar nuevos datos, Auto-GPT adapta su estrategia hasta que la tarea esté completa.
Es como tener un asistente personal que puede manejar diversas tareas, como analizar mercados, atención al cliente, marketing, finanzas y más.
Cuatro componentes principales hacen funcionar a este robot:
Arquitectura: Auto-GPT se construye utilizando los potentes modelos de lenguaje GPT-4 y GPT-3.5, que sirven como el cerebro del robot, ayudándolo a pensar y razonar. Además utiliza DALL-e para la generación de imágenes.
Iteraciones autónomas: Esto es como la capacidad del robot para aprender de sus errores. Auto-GPT puede revisar su trabajo, basarse en sus tareas anteriores y utilizar su historial para producir resultados más precisos.
Gestión de memoria: La integración con bases de datos vectoriales, una solución de almacenamiento de memoria, permite a Auto-GPT conservar el contexto y tomar mejores decisiones. Esto es como equipar al robot con una memoria a largo plazo para recordar experiencias pasadas.
Multifuncionalidad: Las capacidades de Auto-GPT, como la manipulación de archivos, la navegación web y la recuperación de datos, lo hacen versátil y lo diferencian de los avances anteriores en inteligencia artificial. Es como darle al robot múltiples habilidades para manejar una gama más amplia de tareas y poder conectarse con el entorno y el exterior.
Auto-GPT fue publicado en GitHub por un usuario llamado Significant Gravitas. ¿Pero qué puede hacer Auto-GPT? Las posibilidades, como suele suceder en el amplio mundo de la IA, parecen infinitas.
Puede generar casos de prueba, depurar código e incluso generar ideas innovadoras para negocios. En la demostración original de GitHub, se mostraron ejemplos de indicaciones como "aumentar el patrimonio neto", "hacer crecer la cuenta de Twitter" y "desarrollar y gestionar múltiples negocios".
¿Cuáles son las limitaciones de Auto-GPT?
Al momento de escribir este post, Auto-GPT sigue siendo experimental y no es una aplicación o producto "pulido". Algunas de las complicaciones principales para que a día de hoy se pueda utilizar Auto-GPT en entornos productivos (aunque estas líneas se quedarán obsoletas muy rápidamente) son:
Costes: Una barrera para la finalización de tareas.
Si bien Auto-GPT promete capacidades notables, un obstáculo importante para su adopción en entornos de producción es su coste. A medida que las tareas se llevan a cabo a través de una cadena de pensamientos/tareas, cada paso requiere una llamada a la API de GPT-4, que a menudo utilizar los tokens para proporcionar un mejor razonamiento y generación de instrucciones.
Según OpenAI, el modelo GPT-4 cobra $0.03 por cada 1,000 tokens para instrucciones y $0.06 por cada 1,000 tokens para resultados. Desglosemos el coste de cada paso en la cadena de pensamientos, suponiendo que cada acción utiliza 8,000 tokens, con un 80% siendo instrucciones y un 20% siendo resultados.
Siendo un poco exagerados para 8,000 tokens:
Instrucciones (80%): 6,400 tokens Resultados (20%): 1,600 tokens
Costo de instrucciones: 6,400 tokens x $0.03/1,000 tokens = $0.192
Costo de resultados: 1,600 tokens x $0.06/1,000 tokens = $0.096
Costo total por paso: $0.192 + $0.096 = $0.288
No es raro que Auto-GPT tome un promedio de 50 pasos para completar una tarea pequeña. Entonces, el coste de completar una sola tarea sería:
Costo de la tarea: 50 pasos x $0.288/paso = $14.4
El problema entre desarrollo y producción
Al usar Auto-GPT, la fase de desarrollo se considera completa una vez que se logra un objetivo y se deriva una cadena de pensamientos/tareas. Sin embargo, no hay forma de "serializar" la cadena de acciones en una función reutilizable para su uso posterior, es decir, llevarla a producción.
En consecuencia, los usuarios deben comenzar desde cero en el desarrollo cada vez que desean resolver un problema. Esta ineficiencia desperdicia tiempo y dinero y presenta una expectativa poco realista en comparación con cómo abordamos la resolución de problemas en el mundo real.
El problema de los bucles: por qué Auto-GPT se atasca
Auto-GPT a veces tiene problemas para resolver situaciones reales y se queda atrapado en bucles, lo que lleva a un rendimiento frustrante. Esto sucede principalmente porque GPT depende de un lenguaje de programación sencillo y su habilidad para aplicar el algoritmo divide y vencerás es un poco limitada.
Resolver una tarea con éxito depende de las funciones que ofrece el lenguaje de programación y de como GPT pueda dividir la tarea en ese lenguaje. Imagínate intentar crear un videojuego complejo como StarCraft usando Python o una app de mensajería instantánea en BASIC; sería muy difícil debido a las limitaciones para dividir la tarea y las funciones del lenguaje de programación.
En pocas palabras, la combinación de funciones limitadas y la habilidad de razonamiento no tan avanzada de GPT-4 provoca que Auto-GPT se atasque en bucles y no logre los resultados que esperamos en algunos casos.
Humano vs. GPT en divide y vencerás
Aunque GPT-4 ha avanzado significativamente en comparación con sus predecesores, aún enfrenta limitaciones en la aplicación de algoritmos de divide y vencerás para resolver problemas complejos. Estas limitaciones incluyen descomposición inadecuada del problema, dificultad para identificar casos base apropiados, comprensión insuficiente del contexto del problema y manejo deficiente de subproblemas superpuestos.
A diferencia del razonamiento humano, GPT-3.5/4 puede carecer de adaptabilidad o creatividad para abordar estos desafíos. Además, GPT-3.5/4 puede estar limitado por su conocimiento previamente entrenado y carecer del contexto necesario para resolver problemas de manera eficiente.
El nacimiento y futuro de los sistemas de agentes generativos autónomos.
Auto-GPT presenta un concepto interesante al permitir la creación de agentes para delegar tareas de forma autónoma. Sin embargo, este tipo de soluciones aún se encuentra en sus primeras etapas y su potencial no ha sido explotado en gran medida. Existen varias formas de mejorar y expandir el sistema actual de agentes, abriendo nuevas posibilidades para interacciones más eficientes y dinámicas.
Una posible mejora es la introducción de agentes asíncronos. Al incorporar patrones de async-await, los agentes pueden operar de manera concurrente sin bloquearse entre sí, mejorando significativamente la eficiencia y la capacidad de respuesta del sistema en general.
Otra dirección prometedora es habilitar la intercomunicación entre agentes. Al permitir que los agentes se comuniquen y colaboren, pueden trabajar juntos para resolver problemas complejos de manera más efectiva.
Incorporar los patrones arquitectónicos e interacción presentados en el artículo "Generative Agents" puede llevar a la fusión de LLMs (large languages models) con agentes, lo que llevaría sin duda a un salto cualitativo sobre las capacidades de las IA en su camino a la Inteligencia General Artificial.
El desarrollo y exploración de sistemas de agentes pueden contribuir significativamente al avance de las aplicaciones de IA, proporcionando soluciones más sólidas y dinámicas a problemas complejos.
En conclusión, a día de hoy, las limitaciones de Auto-GPT en cuanto a capacidades de razonamiento, coste, problemas con los bucles y el desarrollo temprano de mecanismos de agentes revelan que está lejos de ser una solución práctica en entornos productivos.
El hype en torno a Auto-GPT sirve como un recordatorio de cómo un entendimiento superficial puede llevar a expectativas infladas, culminando en una percepción distorsionada de las verdaderas capacidades de la IA. Es una constante en estos tiempos, hay un overpromise en cada lanzamiento motivado por el deseo de utilizar algo tan asombroso de forma temprana.
Dicho esto, Auto-GPT sí apunta a una dirección prometedora para el futuro de la IA en su camino a la AGI: los sistemas de agentes generativos inteligentes. Démosle tiempo de madurez y sigamos muy de cerca este prometedor proyecto.