¿Qué es BabyAGI?

Autores

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

BabyAGI es una infraestructura de agente autónomo diseñada 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 modelos de lenguaje grandes (LLM) y un almacén de memoria vectorial. 

La implementación estándar es un script de 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 los roles de los agentes de IA. La base de datos vectorial registra los resultados de las tareas como incorporaciones utilizadas para la recuperación de contexto, mientras que el LLM impulsa el razonamiento del agente y la lógica de la tarea.1

Como agente de IA autónomo, BabyAGI itera continuamente utilizando los resultados de las tareas completadas para informar nuevas tareas, repriorizar 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 detención.

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿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 realiza 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: con base en el 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 centrales que trabajan juntos para facilitar la generación, priorización y 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, recibiendo la instrucción del usuario y evaluándola con procesamiento de 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 ingeniería rápida 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 usar los resultados de la primera tarea para informar la segunda tarea e itera en este proceso a medida que avanza en la lista de tareas.

Las bases de datos vectoriales almacenan datos como representaciones matemáticas llamadas incorporaciones. 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 los almacenes de vectores alternativos, como la búsqueda de similitudes de IA de Facebook (FAISS) de Meta y Chroma, a veces se utilizan en variantes o bifurcaciones. FAISS y Chroma son de código abierto, mientras que Pinecone, como muchos productos de OpenAI, no.

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 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 agregan 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 una nueva incorporación 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 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 que el sistema itere sobre resultados pasados y aprenda dinámicamente.

Agente de priorización de tareas

El agente de priorización de tareas maneja la gestión de tareas reordenando y organizando regularmente la lista de tareas. Su trabajo es priorizar las subtareas en función de los resultados de las tareas anteriores y 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 reales

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

Cómo usar BabyAGI

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

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

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

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

  4. Agregue 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. Luego, proporcione una tarea inicial.
     

  6. Guarde y cierre el archivo .env .
     

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

Casos de uso de BabyAGI

BabyAGI es más un sandbox educativo que una aplicación de nivel de producción lista para el uso convencional de la IA agéntica. Los entusiastas del 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 LLMs.

BabyAGI frente a AutoGPT

BabyAGI a menudo se compara 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 una infraestructura rica en características para la descomposición de objetivos, la integración de herramientas y el uso de API externas.

Si bien BabyAGI se utiliza mejor como herramienta de investigación y sandbox, AutoGPT puede automatizar tareas a mayor escala.

¿BabyAGI es inteligencia artificial general (AGI)?

A pesar de su nombre, BabyAGI no es un ejemplo de inteligencia artificial general (AGI). La AGI es una IA hipotética que tiene capacidades de pensamiento y razonamiento a nivel humano. Hasta la fecha, la 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 para cualquier entrada determinada. No entiende, ni aprende ni piensa como los humanos.

¿Qué es BabyAGI 2?

En 2024, Nakajima presentó BabyAGI 2, una variante experimental que utiliza un marco functionz 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 construye.

Soluciones relacionadas
Desarrollo de agentes de IA de IBM 

Permita a los desarrolladores crear, desplegar y monitorear 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 en IA líder en la industria y la cartera de soluciones de IBM a su lado.

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

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

Conozca los servicios de IA
Dé el siguiente paso

Ya sea que elija personalizar aplicaciones y habilidades predefinidas o crear y desplegar servicios agénticos personalizados utilizando un estudio de IA, la plataforma IBM watsonx responde a sus necesidades.

Explore watsonx Orchestrate Explore watsonx.ai
Notas de pie de página