L'intelligenza artificiale di Perplexity Pro ha assolutamente superato i miei test di codifica, ma c'è un problema
Perplexity Pro vale la quota di abbonamento? Ciò può dipendere da cosa lo usi, ma dovrebbe fare un buon lavoro aiutandoti a programmare. Ecco perché.
Qualche settimana fa, ho eseguito la mia suite standard di test di programmazione rispetto alla versione gratuita del chatbot Perplexity.ai. Alla fine dell'articolo, mi sono offerto di eseguire dei test con la versione Pro da $20/mese se un numero sufficiente di voi fosse interessato. Ho ricevuto alcune richieste, ecco cosa stiamo facendo qui.
Come la maggior parte delle altre versioni pro, per utilizzare Perplexity Pro, devi creare un account. Puoi accedere utilizzando i metodi di autenticazione di Google o Apple oppure un accesso SAML. In alternativa, puoi creare un account utilizzando il tuo indirizzo email, che è quello che ho fatto.
Sfortunatamente, il sito non sembra fornire alcun modo per impostare una password o qualsiasi forma di autenticazione a più fattori. Ti viene inviata un'e-mail con un codice e il gioco è fatto. Non mi dispiace ricevere un codice e-mail, ma sono davvero disturbato dalle app Web che si basano esclusivamente su un codice e-mail senza almeno una password. Ma questo è ciò che sta facendo Perplexity.AI.
L'altro aspetto interessante di Perplexity Pro è la sua cornucopia di modelli IA. Come puoi vedere nell'immagine qui sotto, puoi scegliere tra diversi modelli, in base al tipo di lavoro che svolgi. Ho scelto Default per vedere cosa ha fatto con i test. Dopo aver eseguito i test, ho chiesto a Perplexity Pro quale modello utilizzava e mi ha risposto ChatGPT GPT-4.
E con questo, eseguiamo alcuni test.
1. Scrivere un plugin per WordPress
Questa sfida è un compito di programmazione abbastanza semplice per chiunque abbia un minimo di esperienza di programmazione web. Presenta un'interfaccia utente nel dashboard di amministrazione con due campi: uno è un elenco di nomi da randomizzare e l'altro è l'output.
L'unico vero problema è che l'elenco dei nomi può avere duplicati e, invece di rimuovere i nomi extra, le sue istruzioni sono di assicurarsi che i nomi duplicati siano separati l'uno dall'altro.
Questa era una funzione reale e richiesta che mia moglie aveva bisogno di utilizzare per il suo sito di e-commerce. Ogni mese fanno un giro di ruota e alcune persone si qualificano per più iscrizioni.
Utilizzando il modello predefinito di Perplexity Pro, l'intelligenza artificiale è riuscita a generare un'interfaccia utente e un codice funzionale funzionanti, fornendo sia un blocco PHP che un blocco JavaScript per controllare le aree di testo e la logica di randomizzazione.
Ecco i risultati complessivi di questo e dei test precedenti:
- Perplexity Pro: Interfaccia: buona, funzionalità: buona
- Perplessità: Interfaccia: buona, funzionalità: buona
- Claude 3.5 Sonetto: Interfaccia: buona, funzionalità: pessima
- ChatGPT utilizzando 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 utilizzando GPT-4: Interfaccia: buona, funzionalità: buona
- ChatGPT utilizzando GPT-3.5: Interfaccia: buona, funzionalità: buona
2. Riscrivere una funzione di stringa
Per ogni test apro una nuova sessione con l'IA. In questo test chiedo all'IA di riscrivere un blocco di codice che conteneva un bug. Il codice è stato progettato per convalidare l'immissione di dollari e centesimi, che dovrebbe comprendere un certo numero di cifre prima della virgola decimale, un possibile punto decimale e due cifre dopo la virgola decimale.
Sfortunatamente, il codice che ho spedito ammetteva solo numeri interi. Dopo un paio di segnalazioni da parte degli utenti, ho deciso di inviare il codice all'intelligenza artificiale per una riscrittura. Il mio codice utilizza espressioni regolari, che sono un modo stereotipato per specificare un formato. Le espressioni regolari stesse sono divertenti, ma eseguirne il debug non lo è.
Nel caso di questo test, Perplexity Pro ha fatto un buon lavoro. Il codice di convalida risultante contrassegnava correttamente gli elementi che non rientravano nel formato per dollari e centesimi, consentendo fino a due cifre dopo il decimale.
Ecco i risultati complessivi di questo e dei test precedenti:
- Perplexity Pro: riuscito
- Perplessità: riuscito
- Claude 3.5 Sonetto: fallito
- ChatGPT utilizzando GPT-4o: riuscito
- Microsoft Copilot: non riuscito
- Meta AI: non riuscita
- Meta Code Llama: riuscito
- Google Gemini Advanced: non riuscito
- ChatGPT utilizzando GPT-4: riuscito
- ChatGPT utilizzando GPT-3.5: riuscito
3. Trovare un bug fastidioso
Questo test mi ha lasciato perplesso per alcune ore. Prima che fosse un test, si trattava di un bug nel codice di un prodotto reale. Il problema era che qualunque cosa andasse storta non era legata ad alcun ovvio problema logico o linguistico.
Essendo seriamente frustrato, ho deciso di fornire a ChatGPT il codice e il dump degli errori e chiedergli aiuto. Fortunatamente, ha scoperto cosa avevo fatto di sbagliato e mi ha dato indicazioni su cosa risolvere.
Il motivo per cui lo includo nella serie di test è perché il bug non era nel linguaggio o nella logica, ma nella conoscenza del framework WordPress. Sebbene WordPress sia popolare, la conoscenza del framework è generalmente considerata il folklore di un ambiente di programmazione, qualcosa che viene tramandato da sviluppatore a sviluppatore, piuttosto che qualcosa che verrebbe rigorosamente appreso da una base di conoscenza.
Tuttavia, ChatGPT, così come Perplexity e ora Perplexity Pro, hanno riscontrato il problema. L'errore era dovuto a un problema di chiamata dei parametri nascosto nel framework stesso. La risposta ovvia, che potresti trovare rigorosamente leggendo i messaggi di errore generati dal codice, era in realtà sbagliata.
Per risolverlo, l’intelligenza artificiale ha dovuto mostrare una comprensione più profonda di come tutti i sistemi lavorano insieme, cosa che con Perplexity Pro è riuscita a fare con successo.
Ecco i risultati complessivi di questo e dei test precedenti:
- Perplessità: riuscito
- Perplexity Pro: riuscito
- Claude 3.5 Sonetto: riuscito
- ChatGPT utilizzando GPT-4o: riuscito
- Microsoft Copilot: non riuscito
- Meta AI: riusata
- Meta Code Llama: non riuscito
- Google Gemini Advanced: non riuscito
- ChatGPT utilizzando GPT-4: riuscito
- ChatGPT utilizzando GPT-3.5: riuscito
4. Scrivere una sceneggiatura
Bene, questo è interessante. Perplexity Pro ha superato questo test, ma la versione gratuita di Perplexity ha fallito quando l'ho testata un paio di settimane fa. Quindi, sì!
Ma approfondiamo un po' l'argomento. La sfida qui è che chiedo all'intelligenza artificiale di scrivere uno script che interseca tre ambienti: Chrome DOM (modello oggetto documento), AppleScript (il linguaggio di scripting nativo di Apple) e Keyboard Maestro (uno strumento di automazione Mac molto interessante che è abbastanza oscuro, ma per me, mission-critical).
La maggior parte degli IA hanno fallito perché non avevano alcuna informazione su Keyboard Maestro nelle loro basi di conoscenza e, come tali, non hanno fornito il codice necessario affinché lo script facesse quello che volevo.
Finora solo Gemini Advanced e ChatGPT che utilizzano GPT-4 e GPT-4o hanno superato questo test. Nel rispondere alla domanda, Perplexity Pro ha fornito una visualizzazione Pro Search. Come puoi vedere, la visualizzazione Pro Search ha effettuato una ricerca per "Schede Google Chrome di Keyboard Maestro AppleScript". Ha inoltre utilizzato come fonte il forum principale di Keyboard Maestro, che è la migliore fonte per ottenere assistenza sulla codifica di Keyboard Maestro.
Il risultato è stato un successo.
Ecco i risultati complessivi di questo e dei test precedenti:
- Perplexity Pro: riuscito
- Perplessità: non riuscito
- Claude 3.5 Sonetto: fallito
- ChatGPT utilizzando GPT-4o: riuscito ma con prenotazioni
- Microsoft Copilot: non riuscito
- Meta AI: non riuscita
- Meta Code Llama: non riuscito
- Google Gemini Advanced: riuscito
- ChatGPT utilizzando GPT-4: riuscito
- ChatGPT utilizzando GPT-3.5: non riuscito
Risultati complessivi
Ecco i risultati complessivi delle quattro prove:
- Perplexity Pro: 4 su 4 hanno avuto successo
- Perplessità: 3 su 4 hanno avuto successo
- Claude 3.5 Sonetto: 1 su 4 è riuscito
- ChatGPT utilizzando GPT-4o: 4 su 4 hanno avuto successo ma con un avvertimento
- 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 utilizzando GPT-4: 4 su 4 hanno avuto successo
- ChatGPT utilizzando GPT-3.5: 3 su 4 sono riusciti
Come puoi vedere, Perplexity Pro si unisce solo a ChatGPT con GPT-4 e GPT-4o avendo ottenuto un punteggio perfetto di 4 su 4. Dopo aver eseguito i miei test, ho controllato con l'intelligenza artificiale di Perplexity Pro e mi ha informato che utilizza GPT-4 per analizzare e rispondere ai miei test.
Dato che GPT-4/4o è l'unica IA che ha superato tutti e quattro i miei test in precedenza, questo ha senso. Finora non ho trovato nessun altro modello in grado di superare completamente e correttamente tutti e quattro i test di programmazione.
Se scegli Perplexity Pro, posso affermare con certezza che dovrebbe essere in grado di fare un buon lavoro aiutandoti a programmare.
Hai provato a programmare con Perplexity, Copilot, Meta AI, Gemini o ChatGPT? Qual è stata la tua esperienza? 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.