Ho messo alla prova GitHub Copilot: un assistente da coder o una semplice illusione?

Analisi delle Prestazioni di Strumenti di Programmazione Basati su GPT-4: Un Confronto tra ChatGPT, Perplexity e GitHub Copilot

Ciò che trovo più disorientante nei miei test di programmazione è che gli strumenti basati sullo stesso grande modello di linguaggio (LLM) tendono a dare risultati molto diversi.

Ad esempio, ChatGPT, Perplexity e GitHub Copilot sono tutti basati sul modello GPT-4 di OpenAI. Tuttavia, come mostrerò di seguito, mentre gli abbonamenti pro di ChatGPT e Perplexity producono risultati eccezionali, GitHub Copilot fallisce tanto spesso quanto riesce.

Per vostra informazione, ho testato GitHub Copilot in un’istanza di VS Code.

Test 1: Scrivere un Plugin per WordPress

Il risultato di questo test è un misero fallimento. Era il mio primo test, quindi non posso ancora dire se GitHub Copilot sia incapace di scrivere codice o se il contesto in cui interagiamo con esso sia così restrittivo da non poter soddisfare questa richiesta.

Mi spiego meglio.

Questo test consiste nel chiedere all’IA di creare un plugin WordPress completamente funzionante, con elementi dell’interfaccia di amministrazione e logica operativa. Il plugin prende un elenco di nomi, li ordina e, se ci sono duplicati, li separa affinché non siano vicini.

La maggior parte delle altre IA ha superato questo test, almeno in parte. Cinque dei dieci modelli di IA testati hanno superato completamente il test, tre di essi hanno parzialmente superato il test, mentre due (incluso Microsoft Copilot) hanno fallito completamente.

Ho dato a GitHub Copilot lo stesso prompt di tutti gli altri. Ma ha scritto solo codice PHP. Per essere chiari, questo problema può essere risolto utilizzando solo codice PHP. Tuttavia, alcune IA amano includere JavaScript per le funzioni interattive. GitHub Copilot ha incluso codice per l’utilizzo di JavaScript, ma non ha mai generato il JavaScript che stava cercando di utilizzare.

GPT-4 abbonamento

Cattura dallo schermo di David Gewirtz/ZDNET

Ancora peggio, quando ho creato un file JavaScript e ho cercato di chiedere a GitHub Copilot di eseguire il prompt, ho ottenuto un altro script PHP che faceva anche riferimento a un file JavaScript.

Come puoi vedere qui sotto, nel file randomizer.js, ha cercato di mettere in coda (ovvero di avviare l’esecuzione) il file randomizer.js, e il codice che ha scritto era PHP, non JavaScript.

GPT-4 abbonamento

Cattura dallo schermo di David Gewirtz/ZDNET

Test 2: Riscrittura di una Funzione per le Stringhe

Questo test è abbastanza semplice. Ho scritto una funzione che avrebbe dovuto testare i dollari e i centesimi, ma che ha testato solo gli interi (dollari). Il test chiede all’IA di correggere il codice.

GitHub Copilot ha rielaborato il codice, ma il codice che ha prodotto presentava diversi problemi.

  • Partiva dal presupposto che un valore di stringa fosse sempre un valore di stringa. Se era vuoto, il codice non funzionava.
  • Il codice di espressione regolare revisionato non funzionava se veniva inserito un punto decimale (ad esempio “3.”), se veniva inserito un punto decimale superiore (ad esempio “.3”) o se erano inclusi zeri superiori (ad esempio “00.30”).

Per uno strumento che dovrebbe testare se una valuta è stata inserita correttamente, non è accettabile fallire con un codice che si bloccherebbe nei casi estremi.

Test 3: Scoperta di un Bug Infastidito

GitHub Copilot ha superato questo test. Ciò che rende questo bug così fastidioso (e difficile da risolvere) è che il messaggio di errore non è direttamente collegato al problema reale.

Questo bug è in qualche modo l’equivalente di una domanda trabocchetto per i programmatori. Per risolverlo, è necessario comprendere come funzionano alcune chiamate API nel contesto di WordPress, e poi applicare queste conoscenze al bug in questione.

Microsoft Copilot, Gemini e Meta Code Llama hanno tutti fallito a questo test. Ma GitHub Copilot lo ha risolto correttamente.

Test 4: Scrivere uno Script

Anche in questo caso, GitHub Copilot ha avuto successo dove Microsoft Copilot ha fallito.

La difficoltà sta nel fatto che sto testando la capacità dell’IA di creare uno script che conosca la codifica in AppleScript, il modello a oggetti di Chrome e un piccolo strumento di codifica di terze parti per Mac chiamato Keyboard Maestro.

Per superare questo test, l’IA deve essere in grado di riconoscere questi tre ambienti di codifica e adattare le singole righe di codice a ciascuno di questi ambienti.

Riflessioni Finali sulle Capacità di Codifica di GitHub Copilot

Dato che GitHub Copilot utilizza GPT-4, trovo scoraggiante che abbia fallito a metà dei test. GitHub è l’ambiente di gestione delle sorgenti più popolare del pianeta, e ci si potrebbe aspettare che il supporto di codifica dell’IA sia ragionevolmente affidabile.

Ma non è così.

Fonte : www.zdnet.fr

Effettua il login per commentare.