«[Figlio dell'uomo] Porgi l'orecchio e ascolta le parole di KGB
e applica la tua mente alla SUA istruzione
» Pv. 22,17

Qui si straparla di vari argomenti:
1. Il genere dei pezzi è segnalato da varie immagini, vedi Legenda
2. Per contattarmi e istruzioni per i nuovi lettori (occasionali e non) qui
3. L'ultimo corto è questo
4. Molti articoli di questo blog fanno riferimento a definizioni e concetti che ho enunciato nella mia Epitome gratuitamente scaricabile QUI. Tali riferimenti sono identificati da una “E” fra parentesi quadre e uno o più capitoli. Per esempio: ([E] 5.1 e 5.4)

sabato 22 luglio 2023

Testo chatGPT con JSON

Oggi non avevo intenzione di scrivere niente poi però…

Una premessa: ho una grana (piccola in realtà) e oggi mi ero ripromesso di risolverla: poi però è scattata la mia tendenza a procrastinare. Ma, tanto per cambiare, sono riuscito a sublimarla, ovvero a dirottarne positivamente la forza. Mi sono infatti detto: “Posso procrastinare ma solo se faccio qualcosa di utile”. Così ho copiato le epigrafi degli ultimi tre libri letti in un apposito archivio: noiosissimo e col caldo è ancora peggio!
Poi era ancora presto e, per poter procrastinare senza sensi di colpa, dovevo fare qualcos’altro di utile. Rimanendo in tema di epigrafi ho deciso di riscrivere il programma che mi crea automaticamente le associazioni fra capitoli/sottocapitoli ed epigrafi. Ah! il resto del pezzo è un po’ tecnico: i non informatici possono saltare direttamente alla conclusione! (Fine premessa).

Così ho deciso di mettere alla prova l’utilità di chatGPT come assistente per la programmazione.
Già in passato avevo fatto degli esperimenti ma erano falliti miseramente. Stavolta avevo deciso di usarlo per scrivere frammenti di codice che poi avrei integrato nel mio.
Il primo obiettivo che avevo stabilito era spostare i dati dal codice in degli archivi: in realtà essendo io l’unico utente del mio programma, editare una pagina di codice o un archivio di testo è indifferente. Ma ero curioso e mi sembrava interessante.
Decido di usare un archivio in formato testuale JSON. Così chiedo a chatGPT che libreria potevo usare e lui mi suggerisce, credo correttamente, la libreria “Jackson” e subito inizia a darmi le istruzioni per integrarla nel mio progetto con Maven. E io: “No, Maven non lo so usare: dimmi dove posso scaricare gli archivi in formato JAR”.
Già qui chatGPT non era molto contento e mi ha fatto una ramanzina su quanto fosse meglio usare Maven. Alla fine ho cercato su Google, e ho installate manualmente la libreria senza usare Maven.
Così siamo arrivati a dover scrivere del codice vero e proprio e mi sono fatto scrivere un esempio da chatGPT. Ah, i dati da salvare era una lista di autori di epigrafi con alcuni valori aggiuntivi.
Comunque il programmino funzionava e mi generava l’archivio JSON. Il problema è che era “compresso” in un’unica linea di testo mentre io lo volevo in un formato leggibile: immaginavo fosse facile e in effetti chatGPT mi suggerisce un paio di istruzioni che funzionano.
Però l’esempio di chatGPT scriveva in un archivio JSON un oggetto, cioè un autore, alla volta mentre io li avevo in una lista (in ArrayList per la precisione) e mi sembrava strano che non si potesse fare tutto insieme.
“Sì, sì: ci penso io!” esordisce con entusiasmo chatGPT e qui commette il primo errore. Mi spiega che in JSON le liste sono indicate da parentesi quadre ma, la cosa sospetta, è che lui le inserisce a codice nell’archivio di testo. Noto la cosa ma, sbagliando, mi fido di chatGPT. Apparentemente tutto funziona ma la riprova è ricaricare in un ArrayList gli autori letti dall’archivio appena creato.
E qui non funziona più niente!
Evito di entrare nei dettagli ma in 14 prove (le ho contate), equivalenti a 90-120 minuti, non sono riuscito a venire a capo del problema: non sono sicuro di dove fosse l’errore anche se ho vari sospetti…

Dopo cena ho cercato un tutorial su YouTube: ho trovato una serie di tre brevi video di un signore con qualche anno più di me che spiegava passo passo e mi ha subito (in 30 minuti!) funzionato!
Sospetto che, come faceva per i teoremi matematici, chatGPT confonda codici diversi insieme, probabilmente di vecchie versioni: il risultato ha solo l’apparenza di correttezza.

Sono tentato di provare per un mese o due la versione a pagamento, chatGPT 4, che dovrebbe essere di un ordine di grandezza più “intelligente” di quella gratuita che uso io.

Conclusione: la mia sensazione è che chatGPT gratuito sia utilizzabile come assistente per il codice solo se si ha una buona conoscenza del linguaggio e della tecnologia che vogliamo usare: in questa maniera possiamo cogliere immediatamente gli errori dell’IA senza farci portare fuori strada da essa. Gli facciamo scrivere il grosso del codice e poi correggiamo dove serve. ChatGPT 4 suppongo, ma dovrei provare, dovrebbe invece essere maggiormente utilizzabile...

4 commenti:

  1. Gli automatismi hanno questo limite : non producono lavori perfetti, ed occorre la supervisione di Homo per correggere il prodotto.
    Ma ...
    se lo diventassero ?
    Il rischio è e sarebbe in misura ancora maggiore la depauperazione di tutte le abilità umane : creative, intellettuali, e manuali.
    Più grave : già oggi, una parte della popolazione terrestre è superflua secondo il fabbisogno dell'Élite apolide.
    Tanti di noi sono già sacrificabili ed usati come cavie da esperimento.
    Altroché utopia.

    ===

    RispondiElimina
    Risposte
    1. Sono esattamente della sua opinione e nella mia Epitome (che può scaricare gratuitamente da questo link: Epitome) ho dedicato il capitolo 21.4 a questo problema ripetendo esattamente quello che affermi tu. Se ti interessa dagli un’occhiata (in teoria dico sempre che l’epitome va letta sequenzialmente dall’inizio ma in questo caso l’argomento è piuttosto circoscritto e, se non ti interessa approfondire tutti i dettagli, puoi direttamente leggere le pagine indicate!)...

      Elimina