Auto-GPT & GPT-Engineer Una guida approfondita ai principali agenti di intelligenza artificiale di oggi

Auto-GPT & GPT-Engineer A comprehensive guide to today's main artificial intelligence agents.

Quando si confronta ChatGPT con agenti AI autonomi come Auto-GPT e GPT-Engineer, emerge una differenza significativa nel processo decisionale. Mentre ChatGPT richiede il coinvolgimento attivo dell’essere umano per guidare la conversazione, fornendo indicazioni basate sugli input dell’utente, il processo di pianificazione dipende principalmente dall’intervento umano.

I modelli AI generativi come i transformers sono la tecnologia di punta che guida questi agenti AI autonomi. Questi transformers vengono addestrati su grandi set di dati, permettendo loro di simulare complesse capacità di ragionamento e di prendere decisioni.

Radici Open-Source degli Agenti Autonomi: Auto-GPT e GPT-Engineer

Molti di questi agenti AI autonomi provengono da iniziative open-source condotte da individui innovativi che trasformano i flussi di lavoro convenzionali. Invece di offrire solo suggerimenti, agenti come Auto-GPT possono gestire autonomamente compiti, dall’acquisto online alla creazione di app di base. L’interprete del codice di OpenAI mira a potenziare ChatGPT, passando dall’offrire solo idee alla risoluzione attiva di problemi con tali idee.

Sia Auto-GPT che GPT-Engineer sono dotati del potere di GPT 3.5 e GPT-4. Comprendono la logica del codice, combinano più file e accelerano il processo di sviluppo.

La funzionalità principale di Auto-GPT risiede nei suoi agenti AI. Questi agenti sono programmati per eseguire compiti specifici, dai più banali come la pianificazione a compiti più complessi che richiedono una decisione strategica. Tuttavia, questi agenti AI operano entro i limiti stabiliti dagli utenti. Controllando il loro accesso tramite API, gli utenti possono determinare la profondità e l’ambito delle azioni che l’AI può eseguire.

Ad esempio, se incaricato di creare un’app web di chat integrata con ChatGPT, Auto-GPT scompone autonomamente l’obiettivo in passaggi eseguibili, come creare un front-end HTML o scrivere uno script di back-end Python. Mentre l’applicazione produce autonomamente queste indicazioni, gli utenti possono comunque monitorarle e modificarle. Come dimostrato dal creatore di AutoGPT @SigGravitas, è in grado di creare ed eseguire un programma di test basato su Python.

Massive Update per Auto-GPT: Esecuzione di Codice! 🤖💻

Auto-GPT è ora in grado di scrivere il proprio codice utilizzando #gpt4 ed eseguire script Python!

Questo gli consente di eseguire debug in modo ricorsivo, svilupparsi e migliorarsi autonomamente… 🤯 👇 pic.twitter.com/GEkMb1LyxV

— Significant Gravitas (@SigGravitas) 1 aprile 2023

Mentre il diagramma sottostante descrive un’architettura più generale di un agente AI autonomo, offre una preziosa panoramica sui processi dietro le quinte.

Architettura di un Agente AI Autonomo

Il processo viene avviato verificando la chiave API di OpenAI e inizializzando vari parametri, inclusa la memoria a breve termine e i contenuti del database. Una volta che i dati chiave vengono passati all’Agente, il modello interagisce con il GPT3.5/GPT4 per ottenere una risposta. Questa risposta viene quindi trasformata in un formato JSON, che l’Agente interpreta per eseguire una varietà di funzioni, come effettuare ricerche online, leggere o scrivere file, o persino eseguire codice. Auto-GPT utilizza un modello preaddestrato per memorizzare queste risposte in un database, e le interazioni future utilizzano queste informazioni memorizzate come riferimento. Il ciclo continua finché il compito non viene considerato completo.

Guida all’Installazione di Auto-GPT e GPT-Engineer

Configurare strumenti all’avanguardia come GPT-Engineer e Auto-GPT può semplificare il processo di sviluppo. Di seguito è riportata una guida strutturata per aiutarti a installare e configurare entrambi gli strumenti.

Auto-GPT

Configurare Auto-GPT può sembrare complesso, ma con i giusti passaggi diventa semplice. Questa guida illustra la procedura per configurare Auto-GPT e fornisce informazioni sulle sue diverse situazioni.

1. Prerequisiti:

  1. Ambiente Python: Assicurati di avere installato Python 3.8 o versioni successive. Puoi ottenere Python dal suo sito ufficiale.
  2. Se hai intenzione di clonare repository, installa Git.
  3. Chiave API di OpenAI: Per interagire con OpenAI, è necessaria una chiave API. Ottieni la chiave dal tuo account OpenAI

Generazione della chiave API di Open AI

Opzioni di backend di memoria: Un backend di memoria serve come meccanismo di archiviazione per AutoGPT per accedere ai dati essenziali per le sue operazioni. AutoGPT utilizza sia capacità di archiviazione a breve termine che a lungo termine. Pinecone, Milvus, Redis e altri sono alcune opzioni disponibili.

2. Configurazione del tuo spazio di lavoro:

  1. Crea un ambiente virtuale: python3 -m venv myenv
  2. Attiva l’ambiente:
    1. MacOS o Linux: source myenv/bin/activate

3. Installazione:

  1. Clona il repository di Auto-GPT (assicurati di avere Git installato): git clone https://github.com/Significant-Gravitas/Auto-GPT.git
  2. Per assicurarti di lavorare con la versione 0.2.2 di Auto-GPT, dovrai eseguire il checkout di quella particolare versione: git checkout stable-0.2.2
  3. Naviga nel repository scaricato: cd Auto-GPT
  4. Installa le dipendenze richieste: pip install -r requirements.txt

4. Configurazione:

  1. Trova il file .env.template nella directory principale /Auto-GPT. Duplicalo e rinominalo in .env
  2. Apri il file .env e imposta la tua chiave API di OpenAI accanto a OPENAI_API_KEY=
  3. In modo simile, per utilizzare Pinecone o altri backend di memoria, aggiorna il file .env con la tua chiave API e regione di Pinecone.

5. Istruzioni della riga di comando:

Auto-GPT offre un ricco set di argomenti della riga di comando per personalizzarne il comportamento:

  • Utilizzo generale:
    • Visualizza l’aiuto: python -m autogpt --help
    • Modifica le impostazioni dell’IA: python -m autogpt --ai-settings <nomefile>
    • Specifica un backend di memoria: python -m autogpt --use-memory <backend-di-memoria>

AutoGPT in CLI

6. Avvio di Auto-GPT:

Una volta completate le configurazioni, avvia Auto-GPT usando:

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

Per coloro che desiderano containerizzare Auto-GPT, Docker fornisce un approccio semplificato. Tuttavia, tieni presente che la configurazione iniziale di Docker può essere leggermente complessa. Consulta la guida di installazione di Docker per assistenza.

Procedi seguendo i passaggi di seguito per modificare la chiave API di OpenAI. Assicurati che Docker sia in esecuzione in background. Ora vai alla directory principale di AutoGPT e segui i passaggi seguenti nel tuo terminale

  • Genera l’immagine Docker: docker build -t autogpt .
  • Ora esegui: docker run -it --env-file=./.env -v$PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

Con docker-compose:

  • Esegui: docker-compose run --build --rm auto-gpt
  • Per personalizzazioni supplementari, puoi integrare argomenti aggiuntivi. Ad esempio, per eseguire sia con –gpt3only che –continuous: docker-compose run --rm auto-gpt --gpt3only--continuous
  • Dato l’ampio grado di autonomia che Auto-GPT possiede nella generazione di contenuti da grandi set di dati, c’è un potenziale rischio che possa accedere involontariamente a fonti web dannose.

Per mitigare i rischi, utilizzare Auto-GPT all’interno di un contenitore virtuale, come Docker. Ciò assicura che qualsiasi contenuto potenzialmente dannoso rimanga confinato nello spazio virtuale, mantenendo i file esterni e il sistema intatti. In alternativa, è possibile utilizzare Windows Sandbox, anche se viene ripristinato dopo ogni sessione senza mantenere il suo stato.

Per motivi di sicurezza, eseguire sempre Auto-GPT in un ambiente virtuale, assicurandosi che il sistema rimanga isolato da output imprevisti.

Dato tutto ciò, c’è comunque una possibilità che non si riesca a ottenere i risultati desiderati. Gli utenti di Auto-GPT hanno segnalato problemi ricorrenti quando cercano di scrivere su un file, spesso incontrando tentativi falliti a causa di nomi di file problematici. Ecco un errore del genere: Auto-GPT (release 0.2.2) non aggiunge il testo dopo l'errore "write_to_file returned: Error: File has already been updated"

Sono state discusse varie soluzioni per affrontare questo problema nel thread associato su GitHub per riferimento.

GPT-Engineer

Workflow di GPT-Engineer:

  1. Definizione del Prompt: Creare una descrizione dettagliata del progetto utilizzando linguaggio naturale.
  2. Generazione del Codice: Sulla base del prompt, GPT-Engineer si mette al lavoro, generando frammenti di codice, funzioni o addirittura applicazioni complete.
  3. Raffinamento e Ottimizzazione: Dopo la generazione, c’è sempre spazio per il miglioramento. Gli sviluppatori possono modificare il codice generato per soddisfare requisiti specifici, garantendo la massima qualità.

Il processo di configurazione di GPT-Engineer è stato condensato in una guida facile da seguire. Ecco una panoramica passo passo:

1. Preparare l’Ambiente: Prima di iniziare, assicurarsi di avere pronta la directory del progetto. Aprire un terminale ed eseguire il comando seguente

  • Creare una nuova directory chiamata ‘sito web’: mkdir website
  • Spostarsi nella directory: cd website

2. Clonare il Repository:  git clone https://github.com/AntonOsika/gpt-engineer.git .

3. Navigare e Installare le Dipendenze: Una volta clonato, passare alla directory cd gpt-engineer e installare tutte le dipendenze necessarie make install

4. Attivare l’Ambiente Virtuale: A seconda del sistema operativo, attivare l’ambiente virtuale creato.

  • Per macOS/Linux: source venv/bin/activate
  • Per Windows, è leggermente diverso a causa della configurazione della chiave API: set OPENAI_API_KEY=[la tua chiave API]

5. Configurazione – Impostazione della Chiave API: Per interagire con OpenAI, sarà necessaria una chiave API. Se non se ne ha ancora una, iscriversi alla piattaforma OpenAI, quindi:

  • Per macOS/Linux: export OPENAI_API_KEY=[la tua chiave API]
  • Per Windows (come accennato in precedenza): set OPENAI_API_KEY=[la tua chiave API]

6. Inizializzazione del Progetto e Generazione del Codice: La magia di GPT-Engineer inizia con il file main_prompt trovato nella cartella projects.

  • Se si desidera avviare un nuovo progetto: cp -r projects/example/ projects/website

Qui, sostituire ‘sito web’ con il nome del progetto scelto.

  • Modificare il file main_prompt utilizzando un editor di testo a scelta, descrivendo i requisiti del progetto.

  • Una volta soddisfatti del prompt, eseguire: gpt-engineer projects/website

Il codice generato risiederà nella directory workspace all’interno della cartella del progetto.

7. Post-Generazione: Anche se GPT-Engineer è potente, potrebbe non essere sempre perfetto. Ispeziona il codice generato, apporta eventuali modifiche manuali se necessario e assicurati che tutto funzioni correttamente.

Esempio di Esecuzione

Prompt:

“Voglio sviluppare un’app di base in Python con Streamlit che visualizza i dati degli utenti attraverso grafici interattivi. L’app dovrebbe consentire agli utenti di caricare un file CSV, selezionare il tipo di grafico (ad esempio, a barre, a torta, a linee) e visualizzare dinamicamente i dati. Può utilizzare librerie come Pandas per la manipolazione dei dati e Plotly per la visualizzazione.”

Configurazione e Esecuzione di GPT-Engineer

Come Auto-GPT, anche GPT-Engineer può talvolta incontrare errori anche dopo una configurazione completa. Tuttavia, al mio terzo tentativo, ho ottenuto con successo la seguente pagina web di streamlit. Assicurati di verificare eventuali errori sulla pagina delle issue ufficiale del repository di GPT-Engineer.

App Streamlit generata con GPT-Engineer

Attuali Ostacoli degli Agenti di Intelligenza Artificiale

Spese Operative

Una singola attività eseguita da Auto-GPT potrebbe comportare numerosi passaggi. In particolare, ognuno di questi passaggi potrebbe essere fatturato singolarmente, aumentando i costi. Auto-GPT potrebbe rimanere intrappolato in loop ripetitivi, non riuscendo a fornire i risultati promessi. Tali situazioni compromettono la sua affidabilità e minano l’investimento.

Immagina di voler creare un breve saggio con Auto-GPT. La lunghezza ideale del saggio è di 8.000 token, ma durante il processo di creazione, il modello si impegna in molteplici passaggi intermedi per finalizzare il contenuto. Se stai usando GPT-4 con una lunghezza di contesto di 8.000, verrai addebitato $0,03 per l’input. E per l’output, il costo sarà di $0,06. Ora, supponiamo che il modello incontri un loop imprevisto, ripetendo alcune parti più volte. Non solo il processo diventa più lungo, ma ogni ripetizione aumenta anche il costo.

Per proteggerti da questo:

Imposta limiti di utilizzo su OpenAI Billing & Limits:

  • Limite Rigido: Limita l’utilizzo oltre la soglia impostata.
  • Limite Soft: Ti invia un avviso via email una volta raggiunta la soglia.

Limitazioni Funzionali

Le capacità di Auto-GPT, come rappresentate nel suo codice sorgente, presentano determinati limiti. Le sue strategie di risoluzione dei problemi sono governate dalle sue funzioni intrinseche e dall’accessibilità fornita dall’API di GPT-4. Per discussioni approfondite e possibili soluzioni alternative, prendi in considerazione la visita: Discussione su Auto-GPT.

L’impatto dell’AI sul Mercato del Lavoro

La dinamica tra l’AI e i mercati del lavoro è in continua evoluzione e viene ampiamente documentata in questo paper di ricerca. Un punto chiave è che, sebbene il progresso tecnologico spesso benefichi i lavoratori qualificati, comporta rischi per coloro che svolgono compiti di routine. In effetti, gli avanzamenti tecnologici potrebbero sostituire determinati compiti, ma allo stesso tempo aprono la strada a compiti diversi e intensivi dal punto di vista lavorativo.

Si stima che l’80% dei lavoratori americani possa scoprire che i modelli di apprendimento del linguaggio influenzano circa il 10% delle loro attività quotidiane. Questa statistica sottolinea la fusione dei ruoli dell’AI e dell’essere umano.

Il ruolo a doppio aspetto dell’AI nella forza lavoro:

  • Aspetti Positivi: L’AI può automatizzare molte attività, dal servizio clienti al consulenza finanziaria, concedendo un sollievo alle piccole imprese che non dispongono di fondi per team dedicati.
  • Preoccupazioni: Il vantaggio dell’automazione solleva preoccupazioni riguardo a possibili perdite di lavoro, in particolare nei settori in cui l’intervento umano è fondamentale, come il supporto clienti. A ciò si aggiunge il labirinto etico legato all’accesso dell’AI a dati confidenziali. Questo richiede un’infrastruttura solida che garantisca trasparenza, responsabilità e uso etico dell’AI.

Conclusione

Chiaramente, strumenti come ChatGPT, Auto-GPT e GPT-Engineer si trovano all’avanguardia nel ridefinire l’interazione tra la tecnologia e i suoi utenti. Con radici nei movimenti open-source, questi agenti di intelligenza artificiale manifestano le possibilità dell’autonomia delle macchine, semplificando compiti dalla pianificazione allo sviluppo del software.

Mentre ci spingiamo verso un futuro in cui l’IA si integra sempre più nelle nostre routine quotidiane, diventa cruciale trovare un equilibrio tra l’abbracciare le capacità dell’IA e la salvaguardia dei ruoli umani. Su un piano più ampio, la dinamica del mercato del lavoro nell’ambito dell’IA dipinge un’immagine duale di opportunità di crescita e sfide, che richiedono un’integrazione consapevole dell’etica tecnologica e della trasparenza.