Ricerca nel sito web

Ho confrontato Claude 3.5 Sonnet con i test di codifica AI che ChatGPT ha superato - e ha fallito in modo creativo


Anthropic afferma che il suo strumento AI aggiornato è ideale per la programmazione. Dopo aver sottoposto Claude 3.5 Sonnet ai miei quattro test standard di programmazione, ho qualche consiglio per te.

La settimana scorsa ho ricevuto un'e-mail da Anthropic che annunciava che Claude 3.5 Sonnet era disponibile. Secondo la società di intelligenza artificiale, "Claude 3.5 Sonnet alza il livello di intelligenza del settore, superando i modelli della concorrenza e Claude 3 Opus su un'ampia gamma di valutazioni".

L'azienda ha aggiunto: "Claude 3.5 Sonnet è l'ideale per compiti complessi come la generazione di codice." Ho deciso di vedere se era vero.

Sottoporrò il nuovo modello Claude 3.5 Sonnet alla mia serie standard di test di codifica: test che ho eseguito su un'ampia gamma di IA con un'ampia gamma di risultati. Vuoi seguire i tuoi test? Punta il tuo browser su Come testo la capacità di codifica di un chatbot AI e puoi farlo anche tu, che contiene tutti i test standard che applico, spiegazioni su come funzionano e cosa cercare nei risultati.

OK, 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

All'inizio, questo sembrava avere così tante promesse. Cominciamo con l'interfaccia utente Claude 3.5 Sonnet creata in base al mio prompt di test.

Questa è la prima volta che un’intelligenza artificiale decide di affiancare i due campi dati. Il layout è pulito e sembra fantastico.

Claude ha anche deciso di fare qualcos'altro che non ho mai visto fare a un'intelligenza artificiale. Questo plugin può essere creato utilizzando solo codice PHP, ovvero il codice in esecuzione nel back-end di un server WordPress.

Ma alcune implementazioni di intelligenza artificiale hanno anche aggiunto codice JavaScript (che viene eseguito nel browser per controllare le funzionalità dinamiche dell’interfaccia utente) e codice CSS (che controlla il modo in cui il browser visualizza le informazioni).

In un ambiente PHP, se hai bisogno di PHP, JavaScript e CSS, puoi includere CSS e JavaScript direttamente nel codice PHP (che è una funzionalità di PHP) oppure puoi inserire il codice in tre file separati: uno per PHP, uno per JavaScript e uno per CSS.

Di solito, quando un'IA vuole utilizzare tutti e tre i linguaggi, mostra cosa deve essere tagliato e incollato nel file PHP, poi un altro blocco da tagliare e incollare in un file JavaScript, e poi un terzo blocco da tagliare e incollare un file CSS.

Ma Claude ha semplicemente fornito un file PHP e poi, una volta eseguito, ha generato automaticamente i file JavaScript e CSS nella directory home del plugin. Ciò è allo stesso tempo abbastanza impressionante e in qualche modo sbagliato. È bello che abbia cercato di semplificare il processo di creazione del plug-in, ma il fatto che un plug-in possa scrivere o meno nella propria cartella dipende dalle impostazioni della configurazione del sistema operativo e c'è un'alta probabilità che possa fallire.

L'ho consentito nel mio ambiente di test, ma non consentirei mai a un plug-in di riscrivere il proprio codice in un ambiente di produzione. Si tratta di una falla di sicurezza molto grave.

Nonostante la natura piuttosto creativa della soluzione di generazione del codice di Claude, il punto è che il plugin ha fallito. Premendo il pulsante Randomizza non si fa assolutamente nulla. È triste perché, come ho detto, aveva così tante promesse.

Ecco i risultati complessivi di questo e dei test precedenti:

  • Claude 3.5 Sonetto: Interfaccia: buona, funzionalità: fallita
  • 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 valutare come l'IA riscrive il codice per funzionare in modo più appropriato per l'esigenza data; in questo caso: conversioni in dollari e centesimi.

La revisione del Sonetto di Claude 3.5 ha rimosso correttamente gli zeri iniziali, assicurandosi che voci come "000123" siano trattate come "123". Consente correttamente numeri interi e decimali con un massimo di due cifre decimali (che è la chiave di correzione richiesta dal prompt). Previene i valori negativi. Ed è abbastanza intelligente da restituire "0" per qualsiasi input strano o inaspettato, impedendo al codice di terminare in modo anomalo con un errore.

Un errore è che non consente l'immissione dei soli valori decimali. Pertanto, se l'utente immettesse 50 centesimi come ".50" anziché "0,50", l'immissione fallirebbe. In base a come è scritta la descrizione testuale originale del test, avrebbe dovuto consentire questo modulo di input.

Sebbene la maggior parte del codice rivisto abbia funzionato, devo considerarlo un fallimento perché se il codice fosse incollato in un progetto di produzione, gli utenti non sarebbero in grado di inserire input che contengano solo valori in centesimi.

Ecco i risultati complessivi di questo e dei test precedenti:

  • Claude 3.5 Sonetto: fallito
  • 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

La grande sfida di questo test è che l'intelligenza artificiale ha il compito di trovare un bug non ovvio e, per risolverlo correttamente, richiede la conoscenza della piattaforma WordPress. È anche un bug che non ho notato immediatamente da solo e, originariamente, ho chiesto a ChatGPT di risolverlo (cosa che ha fatto).

Claude non solo ha capito bene, cogliendo la sottigliezza dell'errore e correggendolo, ma è stata anche la prima intelligenza artificiale da quando ho pubblicato l'intera serie di test online a rilevare il fatto che il processo di pubblicazione ha introdotto un errore nella query di esempio (che successivamente ho corretto e ripubblicato).

Ecco i risultati complessivi di questo e dei test precedenti:

  • Claude 3.5 Sonetto: Riuscito
  • 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 due fallimenti su tre. Passiamo alla nostra ultima prova.

4. Scrivere una sceneggiatura

Questo test è progettato per vedere fino a che punto le conoscenze di programmazione dell'IA si spingono negli strumenti di programmazione specializzati. Mentre AppleScript è abbastanza comune per lo scripting su Mac, Keyboard Maestro è un'applicazione commerciale venduta da un programmatore solitario in Australia. Lo trovo indispensabile, ma è solo una delle tante app simili sul Mac.

Tuttavia, durante i test in ChatGPT, ChatGPT ha saputo "parlare" Keyboard Maestro e AppleScript, il che dimostra quanto sia ampia la sua conoscenza del linguaggio di programmazione.

Sfortunatamente, Claude non ha questa conoscenza. Ha scritto un AppleScript che ha tentato di parlare con Chrome (che fa parte del parametro di test) ma ha ignorato il componente essenziale di Keyboard Maestro.

Peggio ancora, generava codice in AppleScript che avrebbe generato un errore di runtime. Nel tentativo di ignorare il caso per la corrispondenza nel test, Claude ha generato la riga:

if theTab's title contains input ignoring case then

Questo è praticamente un doppio errore perché l'istruzione "contiene" non fa distinzione tra maiuscole e minuscole e la frase "ignora maiuscole e minuscole" non appartiene al punto in cui è stata inserita. Ha causato un errore nello script con un messaggio di errore di sintassi "Ignorare non può andare dopo questo".

Ecco i risultati complessivi di questo e dei test precedenti:

  • Claude 3.5 Sonetto: fallito
  • ChatGPT GPT-4o: riuscito ma con prenotazioni
  • 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:

  • Claude 3.5 Sonetto: 1 su 4 è riuscito
  • 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

Ero un po' deluso dal Sonetto di Claude 3.5. L'azienda aveva espressamente promesso che questa versione era adatta alla programmazione. Ma come puoi vedere, non così tanto. Non è che non possa programmare. Semplicemente non può programmarsi correttamente.

Continuo a cercare un'intelligenza artificiale in grado di migliorare le soluzioni ChatGPT, soprattutto perché i fornitori di piattaforme e ambienti di programmazione iniziano a integrare questi altri modelli direttamente nel processo di programmazione. Ma, per ora, tornerò su ChatGPT quando avrò bisogno di aiuto per la programmazione, e questo è anche il mio consiglio per te.

Hai usato un'intelligenza artificiale per aiutarti a programmare? Quale? Com'è andata? Fatecelo sapere nei commenti qui sotto.

Puoi seguire gli aggiornamenti quotidiani sui miei progetti sui social media. Assicurati di iscriverti alla mia newsletter di aggiornamento settimanale e seguimi su Twitter/X su @DavidGewirtz, su Facebook su Facebook.com/DavidGewirtz, su Instagram su Instagram.com/DavidGewirtz e su YouTube su YouTube.com/DavidGewirtzTV.

Articoli correlati