Connect with us

Auto-GPT & GPT-Engineer: Una Guida Approfondita sugli Agenti AI Leader di Oggi

Intelligenza artificiale

Auto-GPT & GPT-Engineer: Una Guida Approfondita sugli Agenti AI Leader di Oggi

mm

Quando si confronta ChatGPT con agenti AI autonomi come Auto-GPT e GPT-Engineer, emerge una differenza significativa nel processo decisionale. Mentre ChatGPT richiede un coinvolgimento attivo dell’uomo per guidare la conversazione, fornendo indicazioni in base ai prompt dell’utente, il processo di pianificazione dipende in larga misura dall’intervento umano.

I modelli di intelligenza artificiale generativa come i transformer sono la tecnologia core di stato dell’arte, che alimenta questi agenti AI autonomi. Questi transformer sono addestrati su grandi set di dati, consentendo loro di simulare capacità di ragionamento e decisione complesse.

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

Molti di questi agenti AI autonomi derivano da iniziative open-source guidate da individui innovativi che trasformano flussi di lavoro convenzionali. Piuttosto che offrire solo suggerimenti, agenti come Auto-GPT possono gestire in modo indipendente compiti, dalla shopping online alla costruzione di app di base. L’interprete di codice di OpenAI mira ad aggiornare ChatGPT da semplici suggerimenti a problemi attivi con quelle idee.

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

Il nucleo centrale della funzionalità di Auto-GPT risiede nei suoi agenti AI. Questi agenti sono programmati per eseguire compiti specifici, dai compiti più banali come la pianificazione a compiti più complessi che richiedono una presa di decisione strategica. Tuttavia, questi agenti AI operano all’interno dei confini stabiliti dagli utenti. Controllando l’accesso tramite API, gli utenti possono determinare la profondità e l’ambito delle azioni che l’AI può eseguire.

Ad esempio, se assegnato il compito di creare un’app web di chat integrata con ChatGPT, Auto-GPT divide autonomamente l’obiettivo in passaggi eseguibili, come la creazione di un front-end HTML o la scrittura di un back-end Python. Mentre l’applicazione produce autonomamente questi prompt, gli utenti possono ancora monitorarli e modificarli. Come mostrato dal creatore di AutoGPT @SigGravitas, è in grado di costruire ed eseguire un programma di test basato su Python.

https://twitter.com/SigGravitas/status/1642181498278408193

Mentre il diagramma seguente descrive un’architettura più generale di un agente AI autonomo, offre un’idea preziosa dei processi dietro le quinte.

Architettura dell'agente AI come Autogpt, GPT Engineer

Architettura dell’agente AI autonomo

Il processo viene avviato verificando la chiave API di OpenAI e inizializzando vari parametri, tra cui la memoria a breve termine e i contenuti del database. Una volta che i dati chiave vengono passati all’agente, il modello interagisce con GPT3.5/GPT4 per recuperare una risposta. Questa risposta viene quindi trasformata in formato JSON, che l’agente interpreta per eseguire una varietà di funzioni, come condurre ricerche online, leggere o scrivere file o anche eseguire codice. Auto-GPT impiega un modello pre-addestrato per archiviare queste risposte in un database e le interazioni future utilizzano queste informazioni archiviate come riferimento. Il ciclo continua fino a quando il compito non viene considerato completato.

Guida alla Configurazione per Auto-GPT e GPT-Engineer

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

Auto-GPT

La configurazione di Auto-GPT può sembrare complessa, ma con i passaggi giusti, diventa più semplice. Questa guida copre la procedura per configurare Auto-GPT e offre approfondimenti su diverse scenari.

1. Prerequisiti:

  1. Ambiente Python: Assicurati di avere Python 3.8 o successivo installato. Puoi ottenere Python dal suo sito web ufficiale.
  2. Se pianifichi 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

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 impiega 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 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, desideri checkout a quella versione specifica: git checkout stable-0.2.2
  3. Sposta nel repository scaricato: cd Auto-GPT
  4. Installa le dipendenze necessarie: pip install -r requirements.txt

4. Configurazione:

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

5. Istruzioni della riga di comando:

Auto-GPT offre un insieme ricco di argomenti della riga di comando per personalizzare il suo comportamento:

  • Uso generale:
    • Visualizza aiuto: python -m autogpt --help
    • Regola le impostazioni AI: python -m autogpt --ai-settings <nomefile>
    • Specifica un backend di memoria: python -m autogpt --use-memory <backend di memoria>
AutoGPT nella riga di comando

AutoGPT nella riga di comando

6. Avvio di Auto-GPT:

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

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

Integrazione con Docker (Approccio di configurazione consigliato)

Per coloro che desiderano containerizzare Auto-GPT, Docker offre un approccio semplificato. Tuttavia, è necessario essere consapevoli che la configurazione iniziale di Docker può essere leggermente intricata. Fare riferimento alla guida all’installazione di Docker per assistenza.

Procedi seguendo i passaggi seguenti 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 terminale

  • Crea 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 ulteriori personalizzazioni, puoi integrare argomenti aggiuntivi. Ad esempio, per eseguire con entrambi –gpt3only e –continuous: docker-compose run --rm auto-gpt --gpt3only--continuous
  • Considerando l’estesa autonomia di cui dispone Auto-GPT nella generazione di contenuti da grandi set di dati, esiste un potenziale rischio che possa accedere involontariamente a fonti web dannose.
  • </ul)

    Per mitigare i rischi, esegui Auto-GPT all'interno di un contenitore virtuale, come Docker. Ciò garantisce che eventuali contenuti potenzialmente dannosi rimangano confinati all'interno dello spazio virtuale, lasciando i file e il sistema esterni intatti. In alternativa, Windows Sandbox è un'opzione, sebbene si azzera dopo ogni sessione, fallendo nel mantenimento dello stato.

    Per motivi di sicurezza, esegui sempre Auto-GPT in un ambiente virtuale, assicurandoti che il tuo sistema rimanga isolato da output inattesi.

    Considerando tutto ciò, esiste ancora la possibilità che non si possano ottenere i risultati desiderati. Gli utenti di Auto-GPT hanno segnalato problemi ricorrenti quando hanno tentato di scrivere su un file, incontrando spesso tentativi falliti a causa di nomi di file problematici. Ecco un errore del genere: Auto-GPT (rilascio 0.2.2) non aggiunge il testo dopo l'errore "write_to_file restituito: Errore: Il file è già stato aggiornato

    Varie soluzioni per affrontare questo problema sono state discusse nel thread di GitHub per riferimento.

    GPT-Engineer

    Flusso di lavoro di GPT-Engineer:

    1. Definizione del prompt: Crea una descrizione dettagliata del tuo progetto utilizzando il linguaggio naturale.
    2. Generazione del codice: In base al tuo prompt, GPT-Engineer inizia a lavorare, generando snippet di codice, funzioni o addirittura applicazioni complete.
    3. Rifinizione e ottimizzazione: Dopo la generazione, c’è sempre spazio per il miglioramento. Gli sviluppatori possono modificare il codice generato per soddisfare requisiti specifici, assicurandosi di ottenere qualità di alto livello.

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

    1. Preparazione dell’ambiente: Prima di iniziare, assicurati di avere la directory del tuo progetto pronta. Apri un terminale e esegui il comando seguente

    • Crea una nuova directory denominata ‘sito web’: mkdir website
    • Sposta nella directory: cd website

    2. Clona il repository:  git clone https://github.com/AntonOsika/gpt-engineer.git .

    3. Sposta e installa le dipendenze: Una volta clonato, passa alla directory cd gpt-engineer e installa tutte le dipendenze necessarie make install

    4. Attiva l’ambiente virtuale: A seconda del tuo sistema operativo, attiva 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, è necessaria una chiave API. Se non ne hai già una, iscriviti alla piattaforma OpenAI, quindi:

    • Per macOS/Linux: export OPENAI_API_KEY=[la tua chiave api]
    • Per Windows (come menzionato 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 desideri avviare un nuovo progetto: cp -r projects/example/ projects/website

    Qui, sostituisci ‘sito web’ con il nome del tuo progetto.

    • Modifica il file main_prompt utilizzando un editor di testo a tua scelta, scrivendo le esigenze del tuo progetto.

    • Una volta soddisfatto del prompt, esegui: gpt-engineer projects/website

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

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

    Esempio di esecuzione

    Prompt:

    “Desidero sviluppare un’app di base Streamlit in Python che visualizzi i dati dell’utente attraverso grafici interattivi. L’app dovrebbe consentire agli utenti di caricare un file CSV, selezionare il tipo di grafico (ad esempio, bar, torta, linea) e visualizzare dinamicamente i dati. Può utilizzare librerie come Pandas per la manipolazione dei dati e Plotly per la visualizzazione.”

    Configurazione e esecuzione di Engineering-GPT

    Configurazione e esecuzione di GPT-Engineer

    Proprio come Auto-GPT, GPT-Engineer può talvolta incontrare errori anche dopo una configurazione completa. Tuttavia, al mio terzo tentativo, ho avuto accesso con successo alla seguente pagina web Streamlit. Assicurati di esaminare eventuali errori nella pagina dei problemi del repository ufficiale GPT-Engineer.

    App Streamlit generata utilizzando Engineering-GPT

    App Streamlit generata utilizzando GPT-Engineer

    Colli di bottiglia attuali degli agenti AI

    Spese operative

    Un singolo compito eseguito da Auto-GPT potrebbe coinvolgere numerosi passaggi. È importante notare che ognuno di questi passaggi potrebbe essere fatturato individualmente, aumentando i costi. Auto-GPT può rimanere bloccato in cicli ripetitivi, fallendo nel raggiungimento degli esiti promessi. Tali eventi compromettono la sua affidabilità e minano l’investimento.

    Immagina di voler creare un breve saggio con Auto-GPT. La lunghezza ideale del saggio è di 8K token, ma durante il processo di creazione, il modello si addentra in numerosi passaggi intermedi per finalizzare il contenuto. Se stai utilizzando GPT-4 con una lunghezza di contesto di 8k, per l’input, verresti addebitato 0,03 dollari. E per l’output, il costo sarebbe di 0,06 dollari. Ora, supponi che il modello si imbatta in un ciclo imprevisto, ripetendo alcune parti più volte. Non solo il processo diventa più lungo, ma ogni ripetizione aggiunge anche al costo.

    Per salvaguardare contro questo:

    Imposta limiti di utilizzo nella sezione Fatturazione e limiti di OpenAI:

    • Limite rigido: Limita l’utilizzo oltre la tua soglia impostata.
    • Limite morbido: Ti invia un avviso via e-mail una volta raggiunta la soglia.

    Limitazioni funzionali

    Le capacità di Auto-GPT, come rappresentate nel suo codice sorgente, presentano alcune limitazioni. 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, si consiglia di visitare: Discussione Auto-GPT.

    Impatto dell’AI sul mercato del lavoro

    La dinamica tra AI e mercati del lavoro è in continua evoluzione e viene documentata ampiamente in questo documento di ricerca. Un punto chiave è che mentre il progresso tecnologico spesso beneficia i lavoratori qualificati, rappresenta un rischio per coloro che svolgono compiti di routine. In realtà, gli avanzamenti tecnologici potrebbero sostituire alcuni compiti, ma allo stesso tempo creare nuove opportunità per compiti intensivi di lavoro.

    Mercato del lavoro AI Agenti autonomi

    Stime indicano che circa l’80% dei lavoratori americani potrebbe trovare che i modelli di apprendimento linguistico (LLM) influenzano circa il 10% delle loro attività quotidiane. Questa statistica sottolinea la fusione dei ruoli di AI e umani.

    Il ruolo duplice dell’AI nel mercato del lavoro:

    • Aspetti positivi: L’AI può automatizzare molti compiti, dalla customer service alla consulenza finanziaria, concedendo un sollievo alle piccole imprese che non hanno fondi per team dedicati.
    • Preoccupazioni: Il vantaggio dell’automazione solleva preoccupazioni sui potenziali licenziamenti, in particolare nei settori in cui l’intervento umano è fondamentale, come il supporto clienti. Insieme a ciò c’è il labirinto etico legato all’accesso dell’AI ai dati riservati. Ciò richiede una forte infrastruttura che garantisca trasparenza, responsabilità e utilizzo etico dell’AI.

    Conclusione

    Evidentemente, strumenti come ChatGPT, Auto-GPT e GPT-Engineer si trovano alla forefront della ridefinizione dell’interazione tra tecnologia e utenti. Con radici nei movimenti open-source, questi agenti AI manifestano le possibilità dell’autonomia della macchina, semplificando compiti che vanno dalla pianificazione allo sviluppo del software.

    Mentre ci lanciamo in un futuro in cui l’AI si integra più profondamente nelle nostre routine quotidiane, diventa cruciale trovare un equilibrio tra l’accettazione delle capacità dell’AI e la salvaguardia dei ruoli umani. Sull’ampio spettro, la dinamica AI-mercato del lavoro dipinge un’immagine duplice di opportunità di crescita e sfide, richiedendo un’integrazione consapevole di etica tecnologica e trasparenza.

Ho trascorso gli ultimi cinque anni immergendomi nel fascinante mondo del Machine Learning e del Deep Learning. La mia passione e la mia esperienza mi hanno portato a contribuire a oltre 50 progetti di ingegneria del software diversi, con un focus particolare su AI/ML. La mia curiosità continua mi ha anche portato verso l'elaborazione del linguaggio naturale, un campo che sono ansioso di esplorare ulteriormente.