È stato su tutte le notizie e se non ne hai ancora sentito parlare, è ora di scoprire ChatGPT di OpenAI. È uno strumento incredibilmente potente che funziona con l'Intelligenza Artificiale. Il concetto è che puoi chiedergli quasi qualsiasi cosa o affidargli qualsiasi compito e, ipoteticamente, risponderebbe con la risposta corretta o completarebbe il compito per te. Ad esempio, le persone lo usano per scrivere discorsi, comporre email, ricercare argomenti o persino scrivere codice. Anche se il modello non è ancora perfetto, è comunque molto impressionante e contiene molte informazioni utili. Il nostro Mark Harris mi ha recentemente dimostrato questa capacità con uno script semplice che controlla uno strumento per i test automatizzati. Ho deciso di esplorare questa tana del coniglio e sperimentare con ChatGPT e i test automatizzati. In questo articolo, vedremo come accedere a ChatGPT, imparare a fargli domande e, cosa più importante, capire quali sono le domande giuste da fare per ottenere i risultati che stai cercando.
Prima di iniziare, vorrai familiarizzare con ChatGPT e ciò che ha da offrire. Per prima cosa, naviga su chat.openai.com e registrati o accedi con un account. Al momento della stesura di questo articolo, lo strumento era offerto gratuitamente, quindi dovresti essere in grado di iniziare subito. Inizia con domande semplici come "cos'è 1 + 1?" o "di che colore è il cielo?" Dopo di che, puoi iniziare a dargli compiti come comporre un saggio, redigere un'email o scrivere una semplice funzione in un software. L'interfaccia è pulita e semplice, basta digitare nel riquadro dei messaggi in basso come faresti per inviare qualsiasi messaggio e cliccare su invio (o premere invio).
Una volta che ti senti a tuo agio nel conversare con ChatGPT, puoi iniziare a sperimentare facendogli generare del codice per te. Richieste di base come "scrivi una funzione in C per sommare due numeri" sono compiti banali che può gestire facilmente. La situazione diventa complicata quando aggiungi più dettagli alla richiesta. Mi piace avere tutto il mio codice ben organizzato in classi ordinate, quindi dico esplicitamente a ChatGPT di creare una classe che faccia qualcosa per me. Ecco un esempio:
Noterai anche che gli ho chiesto di generare dei test per me usando Pytest. Ha gestito anche questa richiesta ma, sfortunatamente, il codice aveva un mucchio di bug che erano piuttosto difficili da correggere. È stato comunque un ottimo processo da seguire per vedere come strutturava il codice e i test unitari. Io, certamente, ho imparato una cosa o due osservando come generava il codice in un modo che non avrei fatto da me.
Un approccio descritto sopra consiste nel farvi fornire dall'IA lo strumento (cioè la libreria software) affinché possiate costruire il prodotto (cioè lo script di test). Un altro approccio è fornire a ChatGPT specifiche di test dettagliate e far generare a lui il codice. Questo è ottimo per generare script di test rapidi e semplici per iniziare, prima di dover regolare la configurazione e i casi di test. Vediamo un esempio.
Ho fornito a ChatGPT il seguente, molto semplice, set di istruzioni per testare un convertitore di potenza a commutazione:
Scrivimi uno script in Python usando Pytest per eseguire quanto segue:
1. Accendi un alimentatore Rigol DP832 e impostalo a 5V e 2A sul canale 1
2. Accendi un carico elettronico Rigol DL3021 e imposta il carico a 1.5A di corrente costante per 3 minuti
3. Spegni il DP832 e il DL3021
Non ho nemmeno inserito test specifici in questo caso. Tutto ciò che voglio fare è osservare che il mio convertitore DC-DC possa gestire un carico di 1,5A per 3 minuti. Il codice generato era piuttosto decente ma ogni tanto comparivano dei bug che lo rendevano un po' difficile da correggere. Puoi anche dire a ChatGPT di inserire asserzioni specifiche o testare fallimenti specifici, ma ero interessato solo a testare le basi con l'app AI. Inoltre, puoi persino richiedere che ti scriva una classe di test (con o senza mock) per validare il codice. Ancora una volta, non tutto era perfettamente allineato. Ho dovuto manipolare il codice stesso e la classe di test per farlo funzionare perfettamente.
Tutto sommato, la sperimentazione con ChatGPT è stata un'esperienza positiva. È stato bello avere un "aggregatore" per mettere insieme alcuni concetti nel codice senza dover fare il lavoro manuale o cercare esempi sul web. Anche se non è perfetto, è stato comunque utile e divertente sperimentare. Dopo aver letto questo articolo dovresti avere una comprensione decente su come:
Ti incoraggio vivamente a provarlo e a eseguire gli esempi che ho fornito in questo articolo o a provare alcuni dei tuoi. Tieni presente che ChatGPT è tecnicamente ancora in beta, quindi non impostare le tue aspettative troppo in alto. Sii paziente e assicurati di dirgli quando commette errori in modo che possa "imparare" dai suoi sbagli. Buona programmazione!