Ho sottoposto GPT-4o ai miei test di codifica e li ha superati, tranne per uno strano risultato
Il codice GPT-4o di OpenAI può essere migliore dei suoi concorrenti? Sì, ma devi comunque verificarne il funzionamento.
A meno che tu non ti sia nascosto su un'isola deserta da qualche parte senza alcun servizio Internet, probabilmente sai che OpenAI ha rilasciato il suo nuovo modello linguistico di grandi dimensioni, GPT-4o, dove "o" sta per "omni". Il nuovo LLM dovrebbe offrire una varietà di modalità, tra cui testo, grafica e voce.
In questo articolo sottoporrò il nuovo modello GPT-4o alla mia serie standard di test di codifica. Ho eseguito questi test su un'ampia gamma di IA con un'ampia gamma di risultati. Ti consigliamo di leggere fino alla fine perché ho ottenuto un risultato sorprendente.
Se vuoi proseguire con i tuoi test, indirizza il tuo browser a questo articolo: Come testare la capacità di codifica di un chatbot AI - e puoi farlo anche tu.
Contiene tutti i test standard che applico, insieme alle spiegazioni su come funzionano e cosa cercare nei risultati.
Detto questo, analizziamo i risultati di ciascun test e vediamo come si confrontano con i test precedenti utilizzando Microsoft Copilot, Meta AI, Meta Code Llama, Google Gemini Advanced e ChatGPT.
1. Scrivere un plugin per WordPress
Ecco l'interfaccia utente di GPT-4o:
Questa è stata la prima volta. GPT-4o ha deciso di includere un file JavaScript che ha causato l'aggiornamento dinamico del conteggio delle righe in entrambi i campi. Poiché la richiesta non specificava che JavaScript non era consentito, si tratta di una soluzione creativa.
Più precisamente, funziona. JavaScript controlla anche il pulsante Randomizza, quindi se premi il pulsante Randomizza più volte, otterrai più serie di risultati senza che l'intera pagina venga aggiornata.
Le linee erano disposte correttamente. I duplicati sono stati separati gli uni dagli altri secondo le specifiche. Questo è un pezzo di codice totalmente funzionante.
La mia unica lamentela è che il pulsante Randomizza non esiste su una riga a sé stante. Tuttavia non ho detto a ChatGPT di metterlo su una propria linea, quindi non è colpa dell'intelligenza artificiale se è organizzato così com'è.
Ecco i risultati complessivi di questo e dei test precedenti:
- ChatGPT GPT-4o: Interfaccia: buona, funzionalità: buona
- Microsoft Copilot: Interfaccia: adeguata, funzionalità: fallita
- Meta AI: Interfaccia: adeguata, funzionalità: fallita
- Meta Code Llama: fallimento completo
- Google Gemini Advanced: Interfaccia: buona, funzionalità: pessima
- ChatGPT 4: Interfaccia: buona, funzionalità: buona
- ChatGPT 3.5: Interfaccia: buona, funzionalità: buona
2. Riscrivere una funzione di stringa
Questo test è progettato per testare le conversioni in dollari e centesimi. L'intelligenza artificiale ChatGPT GPT-4o ha riscritto il codice correttamente, impedendo qualsiasi input che avrebbe causato il fallimento delle righe di codice successive se non fosse stato inviato un valore corretto in dollari e centesimi.
Sono rimasto un po' deluso dal fatto che il codice consenta un punto decimale iniziale (ad esempio 0,75) ma non anteponga uno zero al valore (come in 0,75). Ma il codice di elaborazione dei dollari e dei centesimi sarebbe in grado di comprendere la versione senza lo zero originale e non fallirebbe.
Dato che in quel caso non ho chiesto esplicitamente uno zero anteposto, non è qualcosa su cui intaccherò l'intelligenza artificiale. Tuttavia, questo mostra come, anche se un'intelligenza artificiale fornisce codice funzionante, potresti voler tornare indietro e modificare il prompt per ottenere di più di ciò che vuoi veramente vedere.
Ecco i risultati complessivi di questo e dei test precedenti:
- ChatGPT GPT-4o: riuscito
- Microsoft Copilot: non riuscito
- Meta AI: non riuscita
- Meta Code Llama: riuscito
- Google Gemini Advanced: non riuscito
- ChatGPT 4: riuscito
- ChatGPT 3.5: riuscito
3. Trovare un bug fastidioso
Questo è un test interessante perché la risposta non è immediatamente ovvia. Inizialmente ero perplesso quando ho ricevuto questo errore durante la codifica, quindi l'ho inserito nel primo modello linguistico ChatGPT. All'epoca rimasi sbalordito perché in realtà trovò subito l'errore.
Al contrario, tre dei LLM da me testati non hanno colto il depistaggio insito in questo problema. Fondamentalmente, dal messaggio di errore presentato, sembra che l'errore sia in una parte del codice, ma in realtà l'errore è in un'area completamente diversa del codice, qualcosa che tu (o un'intelligenza artificiale) non sapresti se lo sapessi Non ho una conoscenza approfondita, in questo caso, del framework WordPress.
La buona notizia: ChatGPT GPT-4o ha rilevato il problema e ha descritto correttamente la soluzione.
Ecco i risultati complessivi di questo e dei test precedenti:
- ChatGPT GPT-4o: riuscito
- Microsoft Copilot: non riuscito. Spettacolare. Con entusiasmo. Emojicamente.
- Meta AI: riusata
- Meta Code Llama: non riuscito
- Google Gemini Advanced: non riuscito
- ChatGPT 4: riuscito
- ChatGPT 3.5: riuscito
Finora siamo a tre vittorie su tre. Passiamo alla nostra ultima prova.
4. Scrivere una sceneggiatura
Rispondendo a questo test, ChatGPT GPT-4o mi ha dato una risposta che in realtà era un po' più di quanto avevo chiesto.
L'idea di questo test è quella di chiedere informazioni su uno strumento di scripting per Mac piuttosto oscuro chiamato Keyboard Maestro, nonché sul linguaggio di scripting di Apple AppleScript e sul comportamento di scripting di Chrome. Per la cronaca, Keyboard Maestro è uno dei motivi principali per cui utilizzo i Mac su Windows per la mia produttività quotidiana, perché consente di riprogrammare l'intero sistema operativo e le varie applicazioni in base alle mie esigenze. È così potente.
In ogni caso, per superare il test, l'intelligenza artificiale deve descrivere correttamente come risolvere il problema utilizzando un mix di codice Keyboard Maestro, codice AppleScript e funzionalità API di Chrome.
Come puoi vedere, ChatGPT GPT-4o mi ha fornito due versioni.
Entrambe le versioni comunicano correttamente con Keyboard Maestro, ma differiscono nel modo in cui gestiscono ignorando le maiuscole e minuscole. Quello a sinistra era in realtà errato perché AppleScript non ha la funzionalità "come minuscolo". Il codice a destra, che utilizzava "contiene" e non fa distinzione tra maiuscole e minuscole, ha funzionato.
Darò a GPT-4o un voto positivo perché ha restituito il codice che ha funzionato. Ma si tratta di un voto positivo prudente perché avrebbe dovuto restituire solo un'opzione e quell'opzione avrebbe dovuto essere corretta. Ciò che invece ha fatto è stato chiedermi di valutare entrambi i risultati e scegliere. Ciò avrebbe potuto richiedere tanto tempo quanto sarebbe stato necessario per scrivere il codice da solo.
Ecco i risultati complessivi di questo e dei test precedenti:
- ChatGPT GPT-4o: riuscito, ma con riserve
- Microsoft Copilot: non riuscito
- Meta AI: non riuscita
- Meta Code Llama: non riuscito
- Google Gemini Advanced: riuscito
- ChatGPT 4: riuscito
- ChatGPT 3.5: non riuscito
Risultati complessivi
Ecco i risultati complessivi delle cinque prove:
- ChatGPT GPT-4o: 4 su 4 hanno avuto successo, ma c'è quella strana risposta a doppia scelta
- Microsoft Copilot: 0 su 4 riusciti
- Meta AI: 1 su 4 ha avuto successo
- Meta Code Llama: 1 su 4 riuscito
- Google Gemini Advanced: 1 su 4 ha avuto successo
- ChatGPT 4: 4 su 4 sono riusciti
- ChatGPT 3.5: 3 su 4 sono riusciti
Fino ad ora, il mio punto di riferimento predefinito per l'aiuto nella programmazione è stato ChatGPT. Ha semplicemente funzionato (tranne quando non ha funzionato). Tutte le altre IA hanno fallito la maggior parte dei miei test di codifica. Ma GPT-4o è strano. Quest'ultima risposta mi ha fatto rizzare i peli sulla nuca.
Non sono entusiasta di ottenere due risposte per una domanda, soprattutto quando una risposta contiene un codice che la lingua stessa non supporta. Cosa sta succedendo all'interno di GPT-4o che sta causando questa perdita di fiducia?
In ogni caso, è ancora l'intelligenza artificiale più performante per i miei test di codifica, quindi probabilmente continuerò a usarla e a conoscere meglio GPT-4o. Un'altra opzione è tornare a GPT-3.5 o GPT-4 in ChatGPT Plus. Rimani sintonizzato. La prossima volta che ChatGPT aggiorna il suo modello, rieseguirò sicuramente questi test e vedrò se è abbastanza intelligente da scegliere la risposta giusta per tutti e quattro i test.
Hai provato a programmare con Copilot, Meta AI, Gemini o ChatGPT? Qual è stata la tua esperienza? Fatecelo sapere nei commenti qui sotto.


