¿Qué es BabyAGI?

Autores

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

BabyAGI es un marco de agentes autónomo diseñado para generar y ejecutar una secuencia de tareas basadas en un objetivo proporcionado por el usuario. Compartido públicamente por Yohei Nakajima en 2023, BabyAGI orquesta un bucle de creación, ejecución y priorización de tareas mediante el uso de un modelo de lenguaje de gran tamaño (LLM) y una memoria vectorial. 

La implementación estándar es un script Python que utiliza los modelos GPT de OpenAI a través de una API, una base de datos vectorial (comúnmente Pinecone) para la memoria y el marco del agente LangChain para estructurar las funciones de los agentes de IA. La base de datos vectorial registra los resultados de las tareas como embeddings utilizadas para la recuperación del contexto, mientras que el LLM impulsa el razonamiento del agente y la lógica de la tarea1.

Como agente de IA autónomo, BabyAGI itera continuamente utilizando los resultados de las tareas completadas para informar nuevas tareas, volver a priorizar la lista de tareas y ejecutar subtareas. El proceso continúa hasta que se agota la cola de tareas o se alcanza una condición de parada.

¿Cómo funciona BabyAGI?

BabyAGI utiliza un flujo de trabajo de IA repetitivo de tres etapas: 

  1. Ejecución de tareas: el agente de ejecución lleva a cabo una tarea utilizando el contexto de la base de datos vectorial y el objetivo de alto nivel como guía.
     

  2. Creación de tareas: en función del resultado de la tarea ejecutada, el agente de creación de tareas genera tareas de seguimiento que se alinean con el objetivo original. 
     

  3. Priorización de tareas: un agente de priorización reordena todas las tareas pendientes, incluidas las nuevas, en función de las dependencias y la relevancia para el objetivo. 

El bucle se repite hasta que no quedan tareas o se cumple otra condición final.

Características clave de BabyAGI

BabyAGI consta de varios módulos arquitectónicos básicos que trabajan juntos para facilitar la generación, la priorización y la ejecución automatizadas de tareas. Estos componentes incluyen:

  • LLM
     

  • Base de datos vectorial
     

  • Lista de tareas
     

  • Agente de ejecución de tareas
     

  • Agente de creación de tareas
     

  • Agente de priorización de tareas

LLM

El componente LLM de BabyAGI es el orquestador central del sistema agéntico. Este modelo de inteligencia artificial (IA) actúa como un director de alto nivel, que recibe la instrucción del usuario y la evalúa gracias al procesamiento del lenguaje natural (PLN) para identificar el objetivo. También impulsa a los agentes que crean, ejecutan y priorizan tareas.

BabyAGI suele utilizar GPT-4 de OpenAI. Los tres agentes del sistema BabyAGI utilizan el prompt engineering para guiar el comportamiento de GPT-4 en sus funciones agénticas.

Base de datos vectorial

El componente de base de datos vectorial de BabyAGI almacena los registros y resultados de las tareas completadas y es la memoria del agente. BabyAGI puede utilizar los resultados de la primera tarea para informar a la segunda tarea e itera sobre este proceso a medida que avanza en la lista de tareas.

Las bases de datos vectoriales almacenan datos como representaciones matemáticas llamadas embeddings. Los puntos de datos que están más cerca entre sí en el espacio vectorial de alta dimensión se consideran más similares semánticamente. BabyAGI utiliza la búsqueda semántica para encontrar información relevante en la base de datos.

La implementación canónica utiliza Pinecone, pero en algunas variantes o bifurcaciones se utilizan a veces almacenes vectoriales alternativos, como Facebook AI Similarity Search (FAISS) de Meta y Chroma. FAISS y Chroma son de código abierto, mientras que Pinecone, como muchos productos OpenAI, no lo es.

Lista de tareas

La lista o cola de tareas es una lista priorizada de subtareas derivadas del objetivo de alto nivel y la tarea inicial. A medida que el agente de ejecución de tareas completa las tareas, esos resultados se cargan en la base de datos vectorial. En función de los resultados de esas tareas, la lista de tareas puede cambiar a medida que se ajustan las prioridades y se añaden nuevas tareas.

Agente de ejecución de tareas

El agente de ejecución de tareas utiliza el LLM y los datos de la base de datos vectorial para ejecutar las tareas de la lista de tareas. Las técnicas de búsqueda semántica se utilizan para encontrar información relevante en la base de datos. Una vez completada la tarea, el sistema crea un nuevo embedding y almacena el registro en la base de datos.

Agente de creación de tareas

El agente de creación de tareas utiliza el objetivo de alto nivel y los resultados de las tareas anteriores para generar las siguientes tareas en el flujo de trabajo. En lugar de trabajar a través de un flujo de trabajo predeterminado, el proceso continuo de generación de tareas permite al sistema iterar sobre resultados anteriores y aprender dinámicamente.

Agente de priorización de tareas

El agente de priorización de tareas se encarga de la gestión de tareas reordenando y organizando periódicamente la lista de tareas. Su trabajo es priorizar las subtareas en función de los resultados de las tareas anteriores y de cómo las nuevas tareas se relacionan con el objetivo de alto nivel. El agente de priorización también considera las dependencias entre tareas: si una tarea debe completarse antes de que otra sea posible.

Agentes de IA

Cinco tipos de agentes de IA: funciones autónomas y aplicaciones del mundo real

Descubra cómo la IA basada en objetivos y servicios se adapta a flujos de trabajo y entornos complejos.

Cómo usar BabyAGI

BabyAGI es una biblioteca de Python y requiere algunos conocimientos de codificación de Python para su uso. Sin embargo, el proceso de configuración está relativamente simplificado:

  1. Instale Python y Git. Descargue el repositorio BabyAGI GitHub desde github.com.
     

  2. Abra el directorio con BabyAGI e instale todas las dependencias utilizando el comando pip install.
     

  3. Cree un .env y copie el archivo de ejemplo.env en él.
     

  4. Añada una clave de API de OpenAI y una clave de API de Pinecone al archivo .env . Si es necesario, primero cree una cuenta de OpenAI y obtenga una clave de API.
     

  5. Defina el objetivo cambiando el valor OBJECTIVE. A continuación, proporcione una tarea inicial.
     

  6. Guarde y cierre el archivo .env.
     

  7. Introduzca el comando python babyagi.py para ejecutar el agente.

Casos de uso de BabyAGI

BabyAGI es más un entorno aislado educativo que una aplicación de producción lista para el uso generalizado de IA agéntica. Los entusiastas de machine learning (ML) y la IA agéntica han utilizado BabyAGI para explorar agentes de tareas autónomos y razonamiento de cadena de pensamiento con LLM.

BabyAGI frente a AutoGPT

BabyAGI se compara a menudo con AutoGPT, otro marco de código abierto para agentes autónomos basado en LLM. Ambas son herramientas de IA diseñadas para automatizar objetivos de varios pasos combinando un LLM con memoria y uso de herramientas.

BabyAGI ejecuta un bucle compacto que crea, ejecuta y vuelve a priorizar tareas con una base de datos vectorial para la memoria a corto y largo plazo. AutoGPT proporciona un marco rico en características para la descomposición de objetivos, la integración de herramientas y el uso de API externas.

Aunque BabyAGI se utiliza mejor como herramienta de investigación y entorno aislado, AutoGPT puede automatizar tareas a mayor escala.

¿La inteligencia artificial general (AGI) de BabyAGI

A pesar de su nombre, BabyAGI no es un ejemplo de inteligencia artificial general (AGI). AGI es una IA hipotética que tiene capacidades de pensamiento y razonamiento a nivel humano. Hasta la fecha, AGI sigue siendo un concepto teórico. Ninguna aplicación de IA, incluida BabyAGI, ha alcanzado tal nivel de sofisticación.

Al igual que muchos otros ejemplos de aplicaciones de IA generativa, BabyAGI utiliza modelos estadísticos avanzados para predecir el resultado más probable de cualquier entrada. No entiende, aprende y piensa como lo hacen los humanos.

¿Qué es BabyAGI 2?

En 2024, Nakajima presentó BabyAGI 2, una variante experimental que utiliza un marco de funciones que almacena funciones y sus metadatos asociados en una base de datos. El agente puede cargar, ejecutar y actualizar funciones con metadatos a medida que se crea.

Soluciones relacionadas
Desarrollo de agentes de IA de IBM 

Permita a los desarrolladores crear, implementar y monitorizar agentes de IA con el estudio IBM watsonx.ai.

 

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia líder en IA del sector de IBM y junto a su cartera de soluciones.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente las operaciones y flujos de trabajo críticos añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Explore los servicios de IA
Dé el siguiente paso

Tanto si opta por personalizar las aplicaciones y habilidades prediseñadas como si prefiere crear e implementar servicios agentivos personalizados mediante un estudio de IA, la plataforma IBM watsonx le ofrece todo lo que necesita.

  1. Explore watsonx Orchestrate
  2. Explore watsonx.ai
Notas a pie de página