Wordpress

Ho chiesto a ChatGPT di scrivere un plugin WordPress di cui avevo bisogno. Lo ha fatto in meno di 5 minuti

gettyimages-1246766124.jpg
Foto di Nicolas Maeterlinck/Belga Mag/AFP tramite Getty Images

Non per esagerare, ma sono più che un po’ fuori di testa. Come esperimento, ho chiesto a ChatGPT di scrivere un plugin che potesse far risparmiare a mia moglie un po’ di tempo nella gestione del suo sito web. Ho scritto una breve descrizione e ChatGPT ha scritto tutto: interfaccia utente, logica e tutto.

In meno di cinque minuti.

Anche: I migliori chatbot IA: ChatGPT e altre divertenti alternative da provare

Ci sono implicazioni. Ci arriveremo tra pochi minuti. Per prima cosa, lascia che ti accompagni attraverso l’esperienza e cosa è successo.

L’esigenza

ChatGPT ha scritto il plugin che genera questa interfaccia utente ed elabora le righe.

David Gewirtz/ZDNET

Mia moglie è proprietaria di un sito di e-commerce basato su WordPress incentrato su un hobby popolare. Ospita anche un gruppo Facebook molto attivo per i clienti del suo sito. Ogni mese randomizza un elenco di nomi e poi esegue un’animazione virtuale che gira la ruota, utilizzando quell’elenco casuale, per il gruppo Facebook. Sta utilizzando un sito su Internet che fa un buon lavoro nel randomizzare le righe, ma fa pagare un po’ più del valore per l’esportazione dell’elenco.

Anche: I rilevatori AI possono salvarci da ChatGPT? Ho provato 3 strumenti online per scoprirlo

Mentre la osservavo lottare per ripristinare i nomi randomizzati, ho pensato che sarebbe stato utile scrivere un rapido plugin per WordPress da poter installare sul suo sito. È nella dashboard ogni giorno, quindi averlo come strumento sarebbe utile.

Ma anche un semplice plugin richiederebbe qualche giorno per essere scritto, con gli elementi dell’interfaccia utente e il codice logico, e in questi giorni sono abbastanza pieno di progetti.

E poi ho pensato a ChatGPT. C’è stata qualche discussione a riguardo ChatGPT come strumento di programmazione nei mediaquindi ho deciso di provarlo.

Il suggerimento

Output da ChatGPT (dal mio primo prompt più elementare)

David Gewirtz/ZDNET

La chiave per far sì che ChatGPT generi qualcosa è un messaggio scritto con cura. Nel caso della programmazione, pensala come un manager o un cliente. Devi descrivere chiaramente ciò di cui hai bisogno per ottenere ciò che desideri. Ho iniziato con un prompt molto semplice, solo per vedere se avrebbe funzionato. Ecco il prompt che ho usato:

Scrivi un plugin WordPress compatibile con PHP 8 che fornisca un campo di immissione testo in cui è possibile incollare un elenco di righe e un pulsante che, quando premuto, randomizza le righe nell’elenco e presenta i risultati in un secondo campo di immissione testo.

Nel giro di un minuto, ha generato il codice che vedi a destra. Ho copiato il codice generato in un file .php, l’ho inserito in una cartella con lo stesso nome root del file .php, l’ho compresso e l’ho caricato sul suo server. Ha funzionato.

Anche: Gli hacker russi stanno cercando di entrare in ChatGPT, afferma Check Point

Quando l’ho mostrato a mia moglie, è rimasta davvero colpita e sorpresa. Ma poi gli ingranaggi hanno iniziato a girare e lei ha chiesto una nuova funzionalità: assicurarsi che i nomi duplicati non siano affiancati.

Per la sua candidatura, a volte dovrà includere il nome di qualcuno in un elenco più volte. Ma non voleva che quei duplicati si raggruppassero.

Ho modificato il mio prompt originale, aggiungendo le seguenti condizioni aggiuntive:

…si assicura che non ci siano due voci identiche una accanto all’altra (a meno che non ci sia altra opzione)…con il numero di righe inviate e il numero di righe nel risultato identiche tra loro.

Ho incluso la frase “a meno che non ci sia altra opzione” e lo stesso requisito di conteggio perché volevo assicurarmi che tutti i nomi fossero inclusi ed ero preoccupato che avrebbe dato priorità alla necessità di non avere due nomi affiancati rispetto a mantenendo tutti i nomi.

Circa 30 secondi dopo, avevo un nuovo plugin. L’ho caricato sul server e l’ho provato. Ha funzionato, ma l’output includeva alcune righe vuote. Quindi ho aggiunto questa condizione al mio prompt precedente:

…senza righe vuote…

Ormai mi ero abituato al tempo di consegna, che era sempre inferiore a un minuto. Ancora un caricamento e un test e, ancora una volta, ha funzionato.

Anche: Come utilizzare ChatGPT

Volevo un’ultima caratteristica, solo per confermare quante righe erano state elaborate. Volevo che il plugin mostrasse un conteggio di righe per i campi di ingresso e di output. Ecco la rapida aggiunta:

…Sotto il primo campo, visualizza il testo che indica “Riga da randomizzare: ” con il numero di righe non vuote nel campo di origine. Sotto il secondo campo, visualizza il testo che indica “Righe che sono state randomizzate: ” con il numero di righe non vuote nel campo di destinazione.

Questo ha funzionato, per lo più. Prima dell’esecuzione, il campo di output mostra una riga. Ma una volta completato il processo di randomizzazione, mostra il numero esatto di righe in entrambi i campi.

La qualità del codice

Nel complesso, la qualità del codice era pulita. Presento solo la risposta originale perché altrimenti non entrerebbe nell’articolo. Il programma ha generato correttamente il blocco di intestazione di WordPress e ha scritto l’interfaccia utente del dashboard per il plug-in, nonché la logica di elaborazione del plug-in.

Ha inserito le mie righe di riepilogo sopra i campi, anche se ho specificato di seguito, ma non è un grosso problema. È lo stesso tipo di errore che un cliente potrebbe ricevere da un appaltatore umano e quindi richiedere un po’ di rielaborazione per essere risolto.

Anche: L’assistente alla scrittura di Notion AI può scrivere questo articolo?

La codifica ha funzionato, ma non incorporava tutte le migliori pratiche per la programmazione di WordPress. Ad esempio, non ha ripulito l’input dell’utente. La community di WordPress è rigorosa nel disinfettare gli input in modo che gli hacker non possano riempire i campi con dati che possano corrompere un sito – e questo codice non aveva nulla di tutto ciò.

Come test successivo, ho dato istruzioni all’Ai di disinfettare l’input, e lo ha fatto… fino a un certo punto. Ha ripulito l’input all’interno della funzione PHP, ma non ha ripulito l’input quando si chiama PHP in HTML. Ciò avrebbe sicuramente lasciato un’apertura agli hacker.

Ha anche rilasciato la voce di menu del plugin in Impostazioni. Probabilmente lo avrei inserito in Strumenti o avrei dato alla funzione una propria voce di menu. Dato che non ho specificato da dove dovrebbe essere richiamato, penso che ChatGPT abbia preso una decisione praticabile posizionando la voce di menu dove si trovava.

Ho aggiunto un ultimo requisito al mio prompt, chiedendo all’IA di dare un nome al plugin:

Scrivi un plugin WordPress compatibile con PHP 8 chiamato “Robo Randomizer” che…

Stranamente, l’intelligenza artificiale mi ha fornito un plug-in completamente diverso, generando un plug-in che fornisce uno shortcode anziché un’interfaccia dashboard. Lascia che lo spieghi agli utenti non WordPress, perché è interessante.

Quando scrivi qualcosa di simile, puoi renderlo disponibile sul sito web ai visitatori (chiamato frontend) o a coloro che accedono alla dashboard del sito per mantenere il lato (backend). Nella mia serie originale di prompt, non ho specificato frontend o backend, ma l’intelligenza artificiale ha scritto ciò che volevo, ovvero un backend, un’interfaccia dashboard per lo strumento.

Anche: OpenAI sta assumendo sviluppatori per rendere ChatGPT migliore nella codifica

Ma quest’ultima volta ha deciso di scrivere il plugin come strumento frontend, facendolo eseguire tramite uno shortcode. In WordPress, puoi incorporare uno shortcode (qualcosa come [randomize lines]) all’interno di un post ed eseguirà il codice in un plugin. L’ultima versione prodotta dall’intelligenza artificiale mi ha fornito uno shortcode di questo tipo, che avrebbe consentito di presentare la funzionalità di linee casuali ai visitatori del sito.

Dopodiché, ChatGPT ha perso il thread. Non sono riuscito ad aggiungere funzionalità aggiuntive al plug-in originale e ChatGPT per lo più si è limitato a ripetere la generazione della versione dello shortcode. Chiaramente, la manutenzione del codice non è un punto di forza di ChatGPT.

Implicazioni

Ovviamente, questo è un semplice plugin. È più o meno la dimensione dei compiti che ho assegnato ai miei studenti di programmazione del primo anno quando insegnavo alla UC Berkeley. Non si avvicina alla complessità del molto, plugin WordPress open source molto più grandi Mantengo per oltre 50.000 utenti.

Anche: Con i chatbot IA, cerchiamo risposte nei posti sbagliati?

La settimana scorsa, quando ho usato ChatGPT per la prima volta per creare il plugin veloce per mia moglie e ho twittato al riguardo, i corrispondenti sui miei social si sono opposti. Ecco alcune delle loro preoccupazioni:

È malvagio? Una persona era preoccupata che l’intelligenza artificiale potesse incorporare informazioni dannose (o almeno promozionali) nel plug-in e un utente non programmatore non lo avrebbe mai saputo. Ma il fatto è che se non sei un programmatore e non sai leggere il codice, anche se stipuli un contratto con un altro essere umano, non sai veramente cosa c’è dentro. Tutto si riduce a fidarsi della reputazione o a convincere qualcuno di cui ti fidi a esaminare il codice. Nel caso del codice prodotto nel mio esperimento, era pulito.

È il meglio che può essere? Anche in questo caso, le persone stavano mantenendo il codice dell’IA a uno standard diverso rispetto anche ai programmatori umani. Sono un buon programmatore, ma il mio codice contiene bug. Non è il massimo che possa essere… almeno non all’inizio. Ma con gli esseri umani, il codice migliora nel tempo. Non sono sicuro che un’intelligenza artificiale possa prendere il codice esistente, migliorarlo, eseguirne il debug e migliorarlo. Tuttavia, a volte le cose devono solo essere funzionali. Non sempre importa se sono il meglio del meglio. Abbastanza buono è spesso abbastanza buono. E ha generato un codice abbastanza buono.

Ridurrà il numero di lavori di programmazione umana? Quasi senza dubbio. Odio vedere una macchina prendere il lavoro di qualcuno (specialmente se è quello che potrei desiderare). L’intelligenza artificiale è sicuramente un’opzione per progetti facili e veloci, che si tratti di scrittura o programmazione. Gli stipendi delle persone ne risentiranno, senza dubbio.

Studio l’intelligenza artificiale da decenni. Ho fatto una tesi sull’intelligenza artificiale. Ma nonostante tutto questo background, questa ondata di intelligenza artificiale generativa di alta qualità mi ha sorpreso. Detto questo, quello che stiamo osservando ora è il livello di produttività “abbastanza buono”. Sfortunatamente, questo è ciò che molti clienti richiedono.

Ma, almeno per ora, ChatGPT e i suoi amici non possono scrivere articoli di analisi super approfondite come questo, perché riflettono opinioni, aneddoti e anni di esperienza. E anche se potrebbero probabilmente scrivere subroutine e funzioni per progetti di codifica più grandi, semplicemente non sono in grado di scrivere progetti di codifica importanti.

Anche: La demo del concorrente ChatGPT di Google va storta

Ad esempio, nell’ultimo anno ho dovuto tenere 20-30 incontri con un importante fornitore di API per integrare il loro servizio nel mio. La maggior parte di questi incontri mescolavano questioni aziendali con requisiti tecnici e politiche di licenza. Sfido qualsiasi intelligenza artificiale a sopportare, comprendere le sfumature e soddisfare i requisiti dei partner di questo tipo di situazione burocratica, per poi essere in grado di produrre moduli di codice su cui tutti possano essere d’accordo.

Quindi sì, sono un po’ spaventato da quanto fosse buono il plugin che ho “creato” per mia moglie. Ma l’intelligenza artificiale ha ancora molta strada da fare prima di prendere il lavoro di sviluppatori e scrittori esperti, purché clienti Volere il tipo di lavoro prodotto da sviluppatori e scrittori esperti. E questo, amici miei, è qualcosa che io Fare preoccuparsi di.


Puoi seguire gli aggiornamenti quotidiani sui miei progetti sui social media. Assicurati di seguirmi su Twitter all’indirizzo @DavidGewirtzsu Facebook all’indirizzo Facebook.com/DavidGewirtzsu Instagram all’indirizzo Instagram.com/DavidGewirtze su YouTube all’indirizzo YouTube.com/DavidGewirtzTV.

Lascia un Commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Supporto
1
🛎️ Chatta con noi!
Scan the code
Ciao 👋
Hai bisogno di aiuto?