ChatGPT, sono sbagliate più della metà delle risposte a domande di programmazione

ChatGPT, sono sbagliate più della metà delle risposte a domande di programmazione

L'intelligenza artificiale è imprecisa, anche nei compiti più tecnici. Ma il tono garbato e analitico delle risposte contribuisce ad aumentare la percezione di affidabilità

di pubblicata il , alle 16:11 nel canale Web
ChatGPT
 

I chatbot basati su modelli di IA generativa sono diventati piuttosto popolari tra gli sviluppatori dal momento che aiutano a semplificare il processo di programmazione, potendo scrivere rapidamente codice formale a seguito di una richiesta formulata in linguaggio naturale. Anzi, l'adozione massiccia di strumenti di IA a scopo di programmazione ha anche portato una realtà come Stack Overflow, punto di riferimento per gli sviluppatori in cerca di aiuto e supporto, a licenziare, lo scorso anno, quasi il 30% circa del suo personale.

Un recente studio condotto dai ricercatori della Purdue University ha però sollevato non pochi dubbi sull'affidabilità dell'IA in questo campo, rivelando come il 52% delle risposte che ChatGPT propone a seguito di domande inerenti la programmazione contengano errori.

La ricerca è stata presentata in occasione della conferenza Computer-Human Interaction: i ricercatori hanno esaminato 517 domande tratte proprio da Stack Overflow e hanno analizzato il tentativo di ChatGPT di rispondere a ciascuna di esse. I risultati sono stati sconvolgenti: oltre al 52% di risposte errate, il 77% delle risposte era più prolisso rispetto a quelle fornite dagli umani, e il 78% soffriva di diversi gradi di incoerenza rispetto alle risposte fornite dagli esseri umani.

Tuttavia, nonostante gli evidenti errori, sembra che molti programmatori umani preferiscano effettivamente le risposte di ChatGPT. I ricercatori della Purdue hanno intervistato 12 programmatori – un campione di piccole dimensioni, ma comunque indicativo – e hanno scoperto che il 35% preferiva ChatGPT, e il 39% non ha rilevato gli errori generati dall'intelligenza artificiale.

Ciò sembra dovuto al modo con cui ChatGPT formula le sue risposte: un'analisi linguistica di 2.000 risposte dell'IA, selezionate casualmente, ha evidenziato come queste fossero "più formali e analitiche" e rappresentavano un "sentimento meno negativo". In generale sembra che le risposte articolate, analitiche e di particolare completezza, unitamente al linguaggio "garbato", vengano percepite come più convincenti, inducendo i partecipanti allo studio ad abbassare la guardia trascurando così le imprecisioni e gli errori presenti nelle risposte di ChatGPT.

Concludono i ricercatori: "Poiché Chat-GPT produce un gran numero di risposte errate, i nostri risultati sottolineano la necessità di cautela e consapevolezza riguardo all’utilizzo delle risposte ChatGPT nelle attività di programmazione. Questo lavoro cerca anche di incoraggiare ulteriori ricerche per identificare e mitigare diversi tipi di errori concettuali e fattuali. Infine, ci aspettiamo che questo lavoro favorisca ulteriori ricerche sulla trasparenza e sulla comunicazione di errori nelle risposte generate dalla macchina, soprattutto nel contesto della programmazione". 

32 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
ninja75024 Maggio 2024, 16:20 #1
non solo, e per alcuni linguaggi meno noti nemmeno dà una risposta
io78bis24 Maggio 2024, 16:27 #2
Non posso che confermare. E quando sono giuste l'implementazione proposta è da 3 media.
Certo ora esistono anche AI più specializzate di chatGPT per la programmazione ma GPT fa veramente pena.

L'altro grosso problema è l'incapacità degli utenti, non dico programmatori perché chiaramente non lo sono, di capire la scarsa qualità delle risposte,
io78bis24 Maggio 2024, 16:30 #3
Originariamente inviato da: mally
contenere errori non significa che il codice sia sbagliato, ma che deve essere corretto. ...


Scusa puoi argomentare meglio, sarà il Venerdì ma non capisco cosa intendi
Phoenix Fire24 Maggio 2024, 16:46 #4
Originariamente inviato da: mally
che magari chiedi un metodo per fare la moltiplicazione di due numeri. 10 righe codice di cui l'ultima con il return errata. Copi il codice, lo testi e correggi l'errore sull'ultima riga. C'è un errore? si ma l'intero metodo debuggato poi funziona e comunque ti sei risparmiato la scrittura di tutto il metodo...


concordo, poi tra il codice di chatgpt e quello appunto di stackoverflow, sul secondo posso "correggerlo" insieme all'AI stessa
Sinceramente se l'idea è che chatgpt programmi da sola, ovviamente siamo lontanissimi, ma è un ottimo sostituto di uno stackoverflow
io78bis24 Maggio 2024, 17:04 #5
Originariamente inviato da: mally
che magari chiedi un metodo per fare la moltiplicazione di due numeri. 10 righe codice di cui l'ultima con il return errata. Copi il codice, lo testi e correggi l'errore sull'ultima riga. C'è un errore? si ma l'intero metodo debuggato poi funziona e comunque ti sei risparmiato la scrittura di tutto il metodo...


Sarò vecchia scuola ma se ti serve il debug per rilevare un simile errore (non il banale esempio del return ma logico se conosci il linguaggio) non sei un programmatore. Se ti limiti a cut&paste e debug il risultato finale dubito sia un buon algoritmo e che possa mai diventarlo

Originariamente inviato da: Phoenix Fire
concordo, poi tra il codice di chatgpt e quello appunto di stackoverflow, sul secondo posso "correggerlo" insieme all'AI stessa
Sinceramente se l'idea è che chatgpt programmi da sola, ovviamente siamo lontanissimi, ma è un ottimo sostituto di uno stackoverflow


Stackoverflow ti permette il confronto su design e implementazione non è da usare per chiedere spezzoni di codice per risolvere il compitino


Naturalmente solo semplici opinioni nessun attacco o altro. AI è sicuramente utile a fare velocemente codice che poi va quasi sicuramente riadattato all'esigenza specifica
randorama24 Maggio 2024, 17:12 #6
con SAS e SQL (versioni specifiche di SQL, non generiche) non sbaglia praticamente mai...
io78bis24 Maggio 2024, 17:27 #7
Originariamente inviato da: randorama
con SAS e SQL (versioni specifiche di SQL, non generiche) non sbaglia praticamente mai...


Infatti non credo la colpa sia interamente del AI. Molto dipende da come viene costruito il prompt quindi dalla capacità di dettagliare il task.

Io non sono un grafico, ma vedo immagini generate da AI stupende. Se provo a generare immagini simili se va bene ottengo uno schizzo colorato con i gessetti
h.rorschach24 Maggio 2024, 17:58 #8
Ripeto che un LLM non "sa" nulla, non "capisce", non "impara". Non ha una conoscenza né una coscienza, l'unica cosa che sa fare è mettere in fila parole statisticamente probabili. Questo implica errori. Dal recitare poesie e canzoni (inventate di sana pianta nonostante nel corpus esistano i testi originali) al programmare cose. Un premio speciale anche a quelli che affermano che una cosa che contiene errori non è sbagliata.
pachainti24 Maggio 2024, 18:59 #9
Niente di nuovo sotto il sole.

Do Users Write More Insecure Code with AI Assistants?
We conduct the first large-scale user study examining how users interact with an AI Code assistant to solve a variety of security related tasks across different programming languages. Overall, we find that participants who had access to an AI assistant based on OpenAI's codex-davinci-002 model wrote significantly less secure code than those without access. Additionally, participants with access to an AI assistant were more likely to believe they wrote secure code than those without access to the AI assistant. Furthermore, we find that participants who trusted the AI less and engaged more with the language and format of their prompts (e.g. re-phrasing, adjusting temperature) provided code with fewer security vulnerabilities. Finally, in order to better inform the design of future AI-based Code assistants, we provide an in-depth analysis of participants' language and interaction behavior, as well as release our user interface as an instrument to conduct similar studies in the future.

Originariamente inviato da: h.rorschach
Ripeto che un LLM non "sa" nulla, non "capisce", non "impara". Non ha una conoscenza né una coscienza, l'unica cosa che sa fare è mettere in fila parole statisticamente probabili. Questo implica errori. Dal recitare poesie e canzoni (inventate di sana pianta nonostante nel corpus esistano i testi originali) al programmare cose. Un premio speciale anche a quelli che affermano che una cosa che contiene errori non è sbagliata.


Esatto.
Informative24 Maggio 2024, 19:16 #10
Va anche detto che spesso è in grado di correggere da solo alcuni errori, dopo un po' di iterazioni e mostrandogli gli errori.
Molta strada da fare ma già adesso un tool utile per sveltire certi lavori di bassa complessità.

P.s.: Che non abbia una coscienza penso sia noto anche ai sassi, anche perché non è auspicabile che ce l'abbia: diventerebbe difficile da controllare e verrebbero introdotti anche problemi etici non indifferenti.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^