Auto-GPT y GPT-Engineer Una guía detallada sobre los principales agentes de IA de hoy en día

Auto-GPT y GPT-Engineer Una guía sobre los principales agentes de IA

Cuando se compara ChatGPT con agentes de IA autónomos como Auto-GPT y GPT-Engineer, surge una diferencia significativa en el proceso de toma de decisiones. Mientras que ChatGPT requiere la participación activa de los humanos para conducir la conversación, proporcionando orientación basada en las indicaciones del usuario, el proceso de planificación depende predominantemente de la intervención humana.

Los modelos de IA generativa como los transformers son la tecnología central de última generación que impulsa a estos agentes de IA autónomos. Estos transformers se entrenan en conjuntos de datos grandes, lo que les permite simular capacidades complejas de razonamiento y toma de decisiones.

Raíces de código abierto de los agentes autónomos: Auto-GPT y GPT-Engineer

Muchos de estos agentes de IA autónomos provienen de iniciativas de código abierto lideradas por personas innovadoras que transforman los flujos de trabajo convencionales. En lugar de simplemente ofrecer sugerencias, agentes como Auto-GPT pueden manejar tareas de forma independiente, desde compras en línea hasta la construcción de aplicaciones básicas. El intérprete de código de OpenAI tiene como objetivo mejorar ChatGPT, pasando de solo sugerir ideas a resolver problemas de manera activa con esas ideas.

Tanto Auto-GPT como GPT-Engineer están equipados con el poder de GPT 3.5 y GPT-4. Comprende la lógica del código, combina múltiples archivos y acelera el proceso de desarrollo.

La funcionalidad central de Auto-GPT radica en sus agentes de IA. Estos agentes están programados para ejecutar tareas específicas, desde las mundanas como programar hasta las tareas más complejas que requieren una toma de decisiones estratégica. Sin embargo, estos agentes de IA operan dentro de los límites establecidos por los usuarios. Al controlar su acceso a través de APIs, los usuarios pueden determinar la profundidad y el alcance de las acciones que la IA puede realizar.

Por ejemplo, si se le asigna la tarea de crear una aplicación web de chat integrada con ChatGPT, Auto-GPT descompone de forma autónoma el objetivo en pasos accionables, como crear un front-end en HTML o escribir un back-end en Python. Mientras que la aplicación produce estas indicaciones de forma autónoma, los usuarios aún pueden supervisar y modificarlas. Como muestra el creador de AutoGPT @SigGravitas, es capaz de construir y ejecutar un programa de prueba basado en Python.

¡Actualización masiva para Auto-GPT: ¡Ejecución de código! 🤖💻

¡Auto-GPT ahora puede escribir su propio código usando #gpt4 y ejecutar scripts de Python!

Esto le permite depurar, desarrollar y mejorar de forma recursiva… 🤯 👇 pic.twitter.com/GEkMb1LyxV

— Significant Gravitas (@SigGravitas) 1 de abril de 2023

Aunque el diagrama a continuación describe una arquitectura más general de un agente de IA autónomo, ofrece información valiosa sobre los procesos detrás de escena.

Arquitectura de un agente de IA autónomo

El proceso se inicia verificando la clave de API de OpenAI e inicializando varios parámetros, incluida la memoria a corto plazo y el contenido de la base de datos. Una vez que los datos clave se pasan al agente, el modelo interactúa con GPT3.5/GPT4 para obtener una respuesta. Esta respuesta se transforma en un formato JSON, que el agente interpreta para ejecutar una variedad de funciones, como realizar búsquedas en línea, leer o escribir archivos, o incluso ejecutar código. Auto-GPT utiliza un modelo pre-entrenado para almacenar estas respuestas en una base de datos, y las interacciones futuras utilizan esta información almacenada como referencia. El bucle continúa hasta que se considere completa la tarea.

Guía de instalación para Auto-GPT y GPT-Engineer

La configuración de herramientas de vanguardia como GPT-Engineer y Auto-GPT puede agilizar su proceso de desarrollo. A continuación se muestra una guía estructurada para ayudarlo a instalar y configurar ambas herramientas.

Auto-GPT

La configuración de Auto-GPT puede parecer compleja, pero con los pasos correctos, se vuelve sencilla. Esta guía cubre el procedimiento para configurar Auto-GPT y ofrece información sobre sus diversos escenarios.

1. Prerrequisitos:

  1. Entorno de Python: Asegúrese de tener instalado Python 3.8 o posterior. Puede obtener Python desde su sitio web oficial.
  2. Si planea clonar repositorios, instale Git.
  3. Clave de API de OpenAI: Para interactuar con OpenAI, es necesario tener una clave de API. Obtenga la clave de su cuenta de OpenAI

Generación de clave de API de Open AI

Opciones de almacenamiento en memoria: Un backend de memoria sirve como mecanismo de almacenamiento para que AutoGPT acceda a los datos esenciales para sus operaciones. AutoGPT utiliza capacidades de almacenamiento a corto y largo plazo. Pinecone, Milvus, Redis y otros son algunas opciones disponibles.

2. Configuración de su espacio de trabajo:

  1. Cree un entorno virtual: python3 -m venv myenv
  2. Active el entorno:
    1. MacOS o Linux: source myenv/bin/activate

3. Instalación:

  1. Clone el repositorio de Auto-GPT (asegúrese de tener Git instalado): git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. Para asegurarse de que está trabajando con la versión 0.2.2 de Auto-GPT, deberá hacer checkout a esa versión en particular: git checkout stable-0.2.2
  3. Navegue hasta el repositorio descargado: cd Auto-GPT
  4. Instale las dependencias requeridas: pip install -r requirements.txt

4. Configuración:

  1. Localice el archivo .env.template en el directorio principal de /Auto-GPT. Duplique y cambie el nombre a .env
  2. Abra .env y establezca su clave de API de OpenAI junto a OPENAI_API_KEY=
  3. De manera similar, para usar Pinecone u otros backends de memoria, actualice el archivo .env con su clave de API y región de Pinecone.

5. Instrucciones de línea de comandos:

Auto-GPT ofrece un conjunto completo de argumentos de línea de comandos para personalizar su comportamiento:

  • Uso general:
    • Mostrar ayuda: python -m autogpt --help
    • Ajustar configuraciones de AI: python -m autogpt --ai-settings <nombre de archivo>
    • Especificar un backend de memoria: python -m autogpt --use-memory <backend de memoria>

AutoGPT en CLI

6. Lanzamiento de Auto-GPT:

Una vez que las configuraciones estén completas, inicie Auto-GPT usando:

  • Linux o Mac: ./run.sh start
  • Windows: .\run.bat

Para aquellos que deseen contenerizar Auto-GPT, Docker proporciona un enfoque simplificado. Sin embargo, tenga en cuenta que la configuración inicial de Docker puede ser un poco complicada. Consulte la guía de instalación de Docker para obtener ayuda.

Proceda siguiendo los pasos a continuación para modificar la clave de API de OpenAI. Asegúrese de que Docker se esté ejecutando en segundo plano. Ahora vaya al directorio principal de AutoGPT y siga los siguientes pasos en su terminal

  • Construya la imagen de Docker: docker build -t autogpt .
  • Ahora ejecute: docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

Con docker-compose:

  • Ejecute: docker-compose run --build --rm auto-gpt
  • Para personalización adicional, puede integrar argumentos adicionales. Por ejemplo, para ejecutar tanto –gpt3only como –continuous: docker-compose run --rm auto-gpt --gpt3only--continuous
  • Dada la amplia autonomía que Auto-GPT posee para generar contenido a partir de grandes conjuntos de datos, existe un riesgo potencial de que acceda involuntariamente a fuentes web maliciosas.

Para mitigar riesgos, opera Auto-GPT dentro de un contenedor virtual, como Docker. Esto asegura que cualquier contenido potencialmente dañino se mantenga dentro del espacio virtual, manteniendo intactos tus archivos externos y sistema. Alternativamente, Windows Sandbox es una opción, aunque se reinicia después de cada sesión, perdiendo su estado.

Por seguridad, siempre ejecuta Auto-GPT en un entorno virtual, asegurando que tu sistema permanezca aislado de salidas inesperadas.

Dado todo esto, aún existe la posibilidad de que no puedas obtener los resultados deseados. Los usuarios de Auto-GPT han informado problemas recurrentes al intentar escribir en un archivo, encontrando con frecuencia intentos fallidos debido a nombres de archivo problemáticos. Aquí tienes uno de esos errores: Auto-GPT (versión 0.2.2) no agrega el texto después del error "write_to_file returned: Error: File has already been updated"

Se han discutido varias soluciones para abordar esto en el hilo asociado de GitHub para referencia.

GPT-Engineer

Flujo de trabajo de GPT-Engineer:

  1. Definición de la consigna: Crea una descripción detallada de tu proyecto utilizando lenguaje natural.
  2. Generación de código: Basado en tu consigna, GPT-Engineer comienza a trabajar, produciendo fragmentos de código, funciones o incluso aplicaciones completas.
  3. Refinamiento y optimización: Después de la generación, siempre hay espacio para mejorar. Los desarrolladores pueden modificar el código generado para cumplir con requisitos específicos, asegurando una calidad de primera.

El proceso de configuración de GPT-Engineer se ha condensado en una guía fácil de seguir. Aquí tienes un desglose paso a paso:

1. Preparar el entorno: Antes de comenzar, asegúrate de tener listo tu directorio de proyecto. Abre una terminal y ejecuta el siguiente comando

  • Crea un nuevo directorio llamado ‘website’: mkdir website
  • Ingresa al directorio: cd website

2. Clonar el repositorio:  git clone https://github.com/AntonOsika/gpt-engineer.git .

3. Navegar e instalar dependencias: Una vez clonado, cambia al directorio cd gpt-engineer e instala todas las dependencias necesarias make install

4. Activar el entorno virtual: Dependiendo de tu sistema operativo, activa el entorno virtual creado.

  • Para macOS/Linux: source venv/bin/activate
  • Para Windows, es ligeramente diferente debido a la configuración de la clave API: set OPENAI_API_KEY=[tu clave de API]

5. Configuración: Configuración de la clave API: Para interactuar con OpenAI, necesitarás una clave de API. Si aún no tienes una, regístrate en la plataforma de OpenAI y luego:

  • Para macOS/Linux: export OPENAI_API_KEY=[tu clave de API]
  • Para Windows (como se mencionó anteriormente): set OPENAI_API_KEY=[tu clave de API]

6. Inicialización del proyecto y generación de código: La magia de GPT-Engineer comienza con el archivo main_prompt que se encuentra en la carpeta projects.

  • Si deseas iniciar un nuevo proyecto: cp -r projects/example/ projects/website

Aquí, reemplaza ‘website’ con el nombre de proyecto que elijas.

  • Edita el archivo main_prompt utilizando un editor de texto de tu elección, escribiendo los requisitos de tu proyecto.

  • Una vez satisfecho con la consigna, ejecuta: gpt-engineer projects/website

El código generado estará en el directorio workspace dentro de la carpeta del proyecto.

7. Post-Generación: Aunque GPT-Engineer es poderoso, no siempre es perfecto. Inspecciona el código generado, realiza cambios manuales si es necesario y asegúrate de que todo funcione sin problemas.

Ejecución de ejemplo

Prompt:

“Quiero desarrollar una aplicación básica de Streamlit en Python que visualice los datos del usuario a través de gráficos interactivos. La aplicación debería permitir a los usuarios cargar un archivo CSV, seleccionar el tipo de gráfico (por ejemplo, de barras, circular, de líneas) y visualizar dinámicamente los datos. Puede utilizar bibliotecas como Pandas para la manipulación de datos y Plotly para la visualización.”

Configuración y ejecución de GPT-Engineer

Al igual que Auto-GPT, GPT-Engineer a veces puede encontrar errores incluso después de una configuración completa. Sin embargo, en mi tercer intento, accedí exitosamente a la siguiente página web de streamlit. Asegúrate de revisar cualquier error en la página de problemas del repositorio oficial de GPT-Engineer.

Aplicación de Streamlit generada usando GPT-Engineer

Cuellos de botella actuales de los agentes de IA

Gastos operativos

Una sola tarea ejecutada por Auto-GPT puede involucrar numerosos pasos. Es importante destacar que cada uno de estos pasos puede ser facturado individualmente, lo que aumenta los costos. Auto-GPT puede quedar atrapado en bucles repetitivos, sin lograr los resultados prometidos. Estas situaciones comprometen su confiabilidad y socavan la inversión.

Imagina querer crear un ensayo breve con Auto-GPT. La longitud ideal del ensayo es de 8.000 tokens, pero durante el proceso de creación, el modelo se sumerge en múltiples pasos intermedios para finalizar el contenido. Si estás utilizando GPT-4 con una longitud de contexto de 8k, se te cobraría $0.03 por la entrada. Y por la salida, el costo sería de $0.06. Ahora, supongamos que el modelo se encuentra con un bucle imprevisto, repitiendo ciertas partes varias veces. No solo el proceso se vuelve más largo, sino que cada repetición también se suma al costo.

Para protegerte contra esto:

Establece límites de uso en Facturación y Límites de OpenAI:

  • Límite Duro: Restringe el uso más allá del umbral establecido.
  • Límite Suave: Te envía una alerta por correo electrónico una vez que se alcanza el umbral.

Limitaciones de funcionalidad

Las capacidades de Auto-GPT, como se muestra en su código fuente, tienen ciertos límites. Sus estrategias de resolución de problemas están regidas por sus funciones intrínsecas y la accesibilidad proporcionada por la API de GPT-4. Para discusiones en profundidad y posibles soluciones alternativas, considera visitar: Discusión de Auto-GPT.

Impacto de la IA en el mercado laboral

La relación dinámica entre la IA y los mercados laborales está en constante evolución y está documentada extensamente en este artículo de investigación. Un punto clave es que si bien el progreso tecnológico a menudo beneficia a los trabajadores calificados, también plantea riesgos para aquellos que se dedican a tareas rutinarias. De hecho, los avances tecnológicos pueden desplazar ciertas tareas, pero al mismo tiempo abren el camino para tareas diversas y laborales.

Se estima que el 80% de los trabajadores estadounidenses podrían encontrar que los LLM (Modelos de Aprendizaje de Idiomas) influyen en aproximadamente el 10% de sus tareas diarias. Esta estadística subraya la fusión de roles entre la IA y los seres humanos.

El papel de doble faceta de la IA en la fuerza laboral:

  • Aspectos positivos: La IA puede automatizar muchas tareas, desde el servicio al cliente hasta el asesoramiento financiero, brindando un respiro a las pequeñas empresas que no tienen fondos para equipos dedicados.
  • Inquietudes: El auge de la automatización plantea preocupaciones sobre posibles pérdidas de empleo, especialmente en sectores donde la participación humana es fundamental, como el soporte al cliente. Junto con esto se encuentra el laberinto ético vinculado al acceso de la IA a datos confidenciales. Esto requiere una infraestructura sólida que garantice transparencia, responsabilidad y uso ético de la IA.

Conclusión

Claramente, herramientas como ChatGPT, Auto-GPT y GPT-Engineer se encuentran a la vanguardia de remodelar la interacción entre la tecnología y sus usuarios. Con raíces en movimientos de código abierto, estos agentes de inteligencia artificial manifiestan las posibilidades de la autonomía de las máquinas, optimizando tareas desde la programación de horarios hasta el desarrollo de software.

A medida que avanzamos hacia un futuro en el que la IA se integra más profundamente en nuestras rutinas diarias, se vuelve crucial encontrar un equilibrio entre aprovechar las capacidades de la IA y salvaguardar los roles humanos. En un espectro más amplio, la dinámica del mercado laboral de la IA pinta una imagen dual de oportunidades de crecimiento y desafíos, exigiendo una integración consciente de la ética tecnológica y la transparencia.