Sei suggerimenti per programmare meglio con ChatGPT
CasaCasa > Blog > Sei suggerimenti per programmare meglio con ChatGPT

Sei suggerimenti per programmare meglio con ChatGPT

Apr 05, 2023

Puoi anche cercare questo autore in PubMed Google Scholar

Illustrazione di The Project Twins

A meno che tu non abbia vissuto sotto una roccia, conosci ChatGPT. Il chatbot, guidato dall'intelligenza artificiale (AI) e creato da OpenAI a San Francisco, in California, fornisce risposte stranamente simili a quelle umane alle domande degli utenti (chiamate prompt) su quasi tutti gli argomenti. ChatGPT è addestrato su un vasto corpus di testo e la sua capacità di impegnarsi in conversazioni basate su testo consente agli utenti di perfezionare le risposte. Anche se le risposte iniziali sono incerte, spesso alla fine produce risultati accurati, compreso il codice software.

I ricercatori possono utilizzare ChatGPT per eseguire il debug e annotare il codice, tradurre software da un linguaggio di programmazione a un altro ed eseguire operazioni ripetitive, come il tracciamento dei dati. Una prestampa di marzo riportava che il programma era in grado di risolvere il 76% dei 184 compiti di un corso introduttivo di bioinformatica, come lavorare con fogli di calcolo, dopo un solo tentativo e il 97% entro sette tentativi1.

Questa è una buona notizia per i ricercatori che si sentono a disagio nel programmare o che non hanno il budget per assumere un programmatore a tempo pieno: per loro i chatbot possono essere uno strumento di democratizzazione.

Eppure, nonostante tutta la loro apparente sensibilità, i chatbot non sono intelligenti. Sono stati chiamati pappagalli stocastici, che riecheggiano in modo casuale ciò che hanno visto prima. Amy Ko, scienziata informatica presso l'Università di Washington a Seattle, fa appello a un lungo quiz americano per descrivere i limiti dello strumento, scrivendo sul sito di social media Mastodon: "ChatGPT è come un disperato ex concorrente di Jeopardy che ha smesso di seguire il pop cultura nel 2021, ma vuole davvero rimettersi in gioco, ed è anche un robot senza coscienza, azione, moralità, cognizione incarnata o vita interiore emotiva." (I dati utilizzati per addestrare ChatGPT si estendono solo fino al 2021.)

In breve, ChatGPT e gli strumenti correlati basati su Large Language Model (LLM), che includono Microsoft Bing e GitHub Copilot, sono aiuti di programmazione incredibilmente potenti, ma devono essere usati con cautela. Ecco sei modi per farlo.

I chatbot funzionano meglio per attività di programmazione piccole e discrete, come il caricamento di dati, l'esecuzione di manipolazioni di dati di base e la creazione di visualizzazioni e siti Web. Ma questa non è la stessa cosa dell'ingegneria del software, afferma Neil Ernst, informatico dell'Università di Victoria in Canada.

ChatGPT: cinque priorità per la ricerca

"L'ingegneria del software è molto più che semplicemente risolvere un puzzle di programmazione", spiega Ernst. "Bisogna pensare a strutture di test, scrivere codice manutenibile e comprendere i compromessi coinvolti nella costruzione di un sistema", come quello tra velocità e leggibilità. "Non penso che gli strumenti attuali stiano risolvendo nessuno di questi problemi."

Ciò lascia molti compiti da svolgere, come ricordare la sintassi per creare visualizzazioni con Matplotlib, una libreria grafica per il linguaggio di programmazione Python. In questo senso, i chatbot sono come un’interfaccia conversazionale per Stack Overflow, un forum online di domande e risposte per programmatori. "Non è roba che a nessuno piace particolarmente scrivere", afferma Ernst, "e ci fa risparmiare tempo nel porre le difficili domande analitiche che potremmo avere sui dati".

I chatbot sono anche bravi a spiegare perché il codice non funziona. Emery Berger, uno scienziato informatico dell'Università del Massachusetts Amherst, ha sfruttato queste capacità per creare diversi strumenti utili. Uno, chiamato cwhy, utilizza ChatGPT per spiegare gli errori del compilatore nel codice scritto nei linguaggi di programmazione C, C++ e Rust. Un altro, ChatDBG, fornisce un'interfaccia conversazionale per il debug e un terzo, Scalene, utilizza l'intelligenza artificiale per suggerire ottimizzazioni del codice per migliorare le prestazioni.

I chatbot possono persino tradurre il codice da un linguaggio di programmazione a un altro. Mathieu Coppey, biofisico presso l'Istituto Curie di Parigi, utilizza ChatGPT per aiutarlo a passare da MATLAB, il suo linguaggio preferito, a Python. Utilizzando Google e i forum online, in genere ha bisogno di giorni per far funzionare il suo codice Python. "Ora posso farlo in un'ora circa", dice.

instead of >= in a conditional statement, are easy to fix, but hard to find. "If you don't know enough to tell the difference between something correct and something that's effectively nonsense, then you could get yourself in trouble," she says./p>