Pyyysin ChatGPT-ta kirjoittamaan tarvitsemani WordPress-liitännäisen. Se teki sen alle 5 minuutissa

gettyimages-1246766124.jpg

Ei, etten olisi vähän järkyttynyt. Kokeeksi pyysin ChatGPT:ltä kirjoittamaan lisäosan, joka säästäisi vaimoni aikaa verkkosivustonsa hallinnassa. Kirjoitin lyhyen kuvauksen, ja ChatGPT kirjoitti kaiken: käyttöliittymän, logiikan ja kaiken muun.

Alle viidessä minuutissa.

Lisäksi: Parhaat tekoäly-keskusteluohjelmat: ChatGPT ja muut hauskat vaihtoehdot kokeilla

On on joitakin vaikutuksia. Pääsemme niihin muutaman minuutin kuluttua. Ensinnäkin anna minun kertoa kokemuksesta ja siitä, mitä tapahtui.

Tarve

line-randomizer-paypal-demo-wordpress-2023-01-31-23-41-28.jpg

Vaimoni on WordPress-pohjaisen e-kaupan yrittäjä, joka keskittyy suosittuun harrastukseen. Hän myös hallinnoi erittäin aktiivista Facebook-ryhmää asiakkailleen. Joka kuukausi hän satunnaisoi nimiä ja suorittaa virtuaalisen pyöränpyöritys-animaation käyttämällä tätä satunnaistettua listaa Facebook-ryhmälle. Hän on käyttänyt internetsivustoa, joka tekee hyvää työtä riviensatunnaisoinnissa, mutta veloittaa hieman enemmän kuin se on sen arvoista, kun listaa viedään.

Lisäksi: Voivatko tekoälyn tunnistimet pelastaa meidät ChatGPT:ltä? Kokeilin 3 verkkotyökalua selvittääkseni.

Kun katsoin hänen kamppailuaan saadakseen satunnaisluettelot takaisin, ajattelin että olisi hyödyllistä, jos kirjoittaisin hänelle nopean WordPress-liitännäisen, jonka hän voisi asentaa omalle sivustolleen. Hän käyttää ohjauspaneelia joka päivä, joten tällainen työkalu olisi hyödyllinen.

Mutta jopa yksinkertaisen lisäosan kirjoittaminen vie minulta muutaman päivän, varsinkin käyttöliittymäelementtien ja logiikkakoodin kanssa, ja minulla on tällä hetkellä aika paljon projekteja kesken.

Ja sitten ajattelin ChatGPT:ta. Mediassa on käyty keskustelua ChatGPT:sta ohjelmointityökaluna, joten päätin kokeilla sitä.

Kirjoitusohjeet

Avain siihen, että ChatGPT tuottaa mitään, on huolellisesti kirjoitettu käynnistyskomento. Ohjelmoinnin tapauksessa voit ajatella olevasi esimies tai asiakas. Sinun täytyy selkeästi kuvailla mitä tarvitset saadaksesi haluamasi tuloksen. Aloitin hyvin yksinkertaisella käynnistyskomennolla, vain nähdäkseni toimiiko se. Tässä on käyttämäni käynnistyskomento:

koodi.jpg

Kirjoita PHP 8 -yhteensopiva WordPress-laajennus, joka tarjoaa tekstinsyöttökentän, johon voidaan liittää luettelo riveistä, ja painike, jota painettaessa lista rivit sekoitetaan ja tulokset esitetään toisessa tekstinsyöttökentässä.

Minuutin sisällä se generoi koodin, jota näet oikealla. Kopioin generoidun koodin .php-tiedostoon, laitoin sen samaa juurinimeä käyttävään kansioon, paketoin sen ja latasin sen hänen palvelimelleen. Se toimi.

Lisäksi: Venäläiset hakkerit yrittävät murtautua ChatGPT:hen, kertoo Check Point

Kun näytin sen vaimolleni, hän oli sopivan vaikuttunut ja yllättynyt. Mutta sitten rattaat alkoivat pyöriä ja hän pyysi uutta ominaisuutta: varmista, etteivät samannimiset ole vierekkäin.

Sovellusta varten hänen täytyy joskus lisätä jonkun nimi luetteloon useita kertoja peräkkäin. Mutta hän ei halunnut, että nämä kopiot ryhmittyvät yhteen.

Modifioin alkuperäistä tiedostoa, lisäten seuraavat lisäehdot:

...varmistaa, ettei kaksi identtistä merkintää ole vierekkäin (ellei ole muuta vaihtoehtoa)...kun rivien määrä on sama kuin lähetettyjen rivien määrä ja tulosten rivien määrä.

Olen sisällyttänyt "ellei muuta vaihtoehtoa ole" -lauseen ja samanteisen määrävaatimuksen, koska halusin varmistaa, että kaikki nimet sisällytetään, ja olin huolissani siitä, että priorisointiin ruutujen vieretysten välttämiseen nähden niiden kaikkien nimien säilyttämistä.

Noin 30 sekuntia myöhemmin minulla oli uusi lisäosa. Lähetin sen palvelimelle ja kokeilin sitä. Se toimi, mutta tulosteessa oli joitakin tyhjiä rivejä. Lisäsin siis tämän ehtolauseen aiempaan koodiini:

…ilman tyhjiä rivejä…

By now, Olin tottunut nopeaan käsittelyaikaan, joka oli aina alle minuutti. Yksi lisää lataus ja testi, ja jälleen se toimi.

Lisäksi: Kuinka käyttää ChatGPT:ää

Halusin vielä yhden ominaisuuden, vain vahvistaakseni kuinka monta riviä oli käsitelty. Halusin, että liitännäinen näyttää laskurin riveille syöttö- ja tulostuskentissä. Tässä on tuon ilmoituksen lisäys:

...Ensimmäisen kentän alle, näytä teksti "Satunnaisoitava rivi: " ja lähde kentässä olevien ei-tyhjien rivien määrä. Toisen kentän alle, näytä teksti "Satunnaisoitettuja rivejä: " ja määrä ei-tyhjiä rivejä määränpääkentässä.

Tämä toimi, pääasiassa. Ennen suorittamista tuloskentässä näkyy yksi rivi. Mutta kun satunnaisuusprosessi on valmis, se näyttää oikean määrän rivejä molemmissa kentissä.

Koodin laatu

Kaiken kaikkiaan koodin laatu oli hyvä. Esitän tässä vain alkuperäisen vastauksen, koska muuten se ei mahtuisi artikkeliin. Ohjelma loi oikein WordPressin otsikkopalikan ja kirjoitti työpöydän käyttöliittymän liitännäisen sekä liitännäisen käsittelylogiikan.

Se sijoitti yhteenvetorivini kenttien yläpuolelle, vaikka määritin sen alas, mutta se ei ole suuri valitus. Se on sama tyyppinen virhe, jonka asiakas saattaa saada ihmistöltä ja vaatia hieman lisätyötä sen korjaamiseksi.

Lisäksi: Voi Notionin AI-kirjoitusapuri kirjoittaa tämän artikkelin?

Coding toimi, mutta se ei sisältänyt kaikkia parhaita käytäntöjä WordPress-ohjelmoinnissa. Esimerkiksi käyttäjän syötteen puhdistamista ei tehty. WordPress-yhteisö on tarkka syötteen puhdistamisesta, jotta hakkerit eivät voi täyttää kenttiä tiedoilla, jotka voivat vahingoittaa sivustoa - ja tässä koodissa ei ollut mitään tällaista.

Myöhemmässä testissä pyysin tekoälyä suojaamaan syötteen, ja se kyllä teki... jossain määrin. Se suojasi syötteen PHP-funktion sisällä, mutta ei suojannut syötettä, kun PHP:ta kutsuttiin HTML:n sisällä. Se olisi ehdottomasti jättänyt aukon hakkerointille.

Se pudotti myös laajennuksen valikkokohteen Asetuksiin. Olisin ehkä laittanut sen Työkaluihin tai antanut toiminnolle oman valikkokohteen. Koska en määrittänyt, missä se tulisi kutsua, uskon että ChatGPT teki toimivan päätöksen sijoittamalla valikkokohteen kyseiseen paikkaan.

Lisäsin lopulliseen ohjeeseen yhden lisävaatimuksen ja pyysin tekoälyä antamaan lisäosalle nimen:

Kirjoita PHP 8 -yhteensopiva WordPress-liitännäinen nimeltään "Robo Randomizer", joka...

Kummallisesti tarpeeksi, tekoäly antoi minulle täysin erilaisen lisäosan, joka tuottaa lyhytkoodin sen sijaan, että siinä olisi hallintapaneeli käyttöliittymä. Selitän sen ei-WordPress käyttäjille, koska se on mielenkiintoista.

Kun kirjoitat jotain tällaista, voit tehdä sen saataville verkkosivustolla vierailijoille (jota kutsutaan frontendiksi) tai niille, jotka kirjautuvat sisään sivuston hallintapaneeliin ylläpitääkseen sivua (backendiä). Alkuperäisissä ohjeissani en määrittänyt frontendia tai backendia, mutta tekoäly kirjoitti haluamani, eli työkalulle backend-, hallintapaneelikäyttöliittymän.

Lisäksi: OpenAI palkkaa kehittäjiä, jotta ChatGPT voisi parantua koodauksessa

Mutta tällä kertaa se päätti kirjoittaa laajennuksen frontend-työkaluna, joka suoritetaan lyhytkoodin kautta. WordPressissa voit upottaa lyhytkoodin (jotain sellaista kuin [randomize lines]) viestin sisään ja se suorittaa koodia laajennuksessa. Viimeisin versio, jonka tekoäly tuotti, antoi minulle tällaisen lyhytkoodin, jonka avulla satunnaisuuslinjojen toiminto voitaisiin esittää sivuston vierailijoille.

Jälkeenpäin ChatGPT menetti hieman langan päästä. En onnistunut saamaan lisäominaisuuksia alkuperäiseen liitännäiseen, ja ChatGPT pääasiassa toisti lyhyen koodiversion luomista. On selvästi nähtävissä, että koodin ylläpito ei ole ChatGPT:n ydinosaamista.

Seuraukset

Ilmeisesti tämä on yksinkertainen liitännäinen. Se on karkeasti samankokoinen kuin ne tehtävät, jotka annoin ensimmäisen vuoden ohjelmointiopiskelijoilleni opettaessani UC Berkeleyssä. Se ei läheskään yllä monimutkaisuudessa niihin paljon, paljon suurempiin avoimen lähdekoodin WordPress-liitännäisiin, joita ylläpidän yli 50 000 käyttäjälle.

Lisäksi: Käyttävätkö AI-chatbotit etsimään vastauksia kaikkialta vääriltä paikoilta?

Viime viikolla, kun käytin ensimmäistä kertaa ChatGPT:ta vaimoni quickie-pluginin rakentamiseen ja twiittasin siitä, some-seuraajani esittivät vastalauseita. Tässä muutamia heidän huolenaiheitaan:

Onko se paha? Eräs henkilö oli huolissaan siitä, että tekoäly voisi sisällyttää haitallista (tai ainakin mainostavaa) tietoa liitännäiseen, eikä ei-ohjelmoijakäyttäjä koskaan tietäisi siitä. Mutta tosiasia on, että jos et ole ohjelmoija etkä osaa lukea koodia, et todella tiedä mitä sisällä on, vaikka tekisitkin sopimuksen toisen ihmisen kanssa. Kaikki perustuu joko luottamukseen maineeseen tai siihen, että saa jonkun luotettavan tarkistamaan koodin. Kokeessani tuotettu koodi oli puhdas.

Onko se paras mitä se voi olla? Täällä jälleen kerran, ihmiset arvioivat tekoälyn koodia eri mittapuulla kuin ihmiskoodareiden. Olen hyvä ohjelmoija, mutta minun koodissani on bugeja. Se ei ole parasta mitä se voisi olla... ainakaan aluksi. Mutta ihmisten koodi paranee ajan myötä. En ole varma voiko tekoäly ottaa olemassa olevan koodin, parantaa sitä, korjata bugeja ja tehdä siitä paremman. Toisinaan kuitenkin asiat tarvitsevat ainoastaan toimivuutta. Ei aina ole väliä, ovatko ne parhaita parhaimpia. Hyvä riittää usein. Ja se generoi koodin, joka oli tarpeeksi hyvä.

Se vähentääkö se ihmisten ohjelmointitöiden määrää? Melko varmasti. Inhoan nähdä koneen ottavan kenen tahansa työn (varsinkin jos se on sellainen, jonka itse haluaisin). Tekoäly on ehdottomasti vaihtoehto nopeisiin ja helppoihin projekteihin, olipa kyse kirjoittamisesta tai ohjelmoinnista. Ihmisten palkkoja tullaan epäilemättä vaikuttamaan.

Olen opiskellut tekoälyä vuosikymmenien ajan. Tein gradun tekoälystä. Mutta vaikka minulla onkin tällainen tausta, tämä korkealaatuinen generatiivinen tekoälybuumi on silti ollut hämmästyttävää minulle. Sanottava kuitenkin on, että mitä me nyt katsomme, on "tarpeeksi hyvä" tuottavuuden taso. Valitettavasti sitä juuri monet asiakkaat vaativat.

Mutta -- ainakin toistaiseksi -- ChatGPT ja sen kaverit eivät pysty kirjoittamaan syvällisiä analyysijuttuja kuten tämä, koska ne perustuvat mielipiteisiin, anekdootteihin ja vuosien kokemukseen. Ja vaikka ne ehkä pystyisivät kirjoittamaan alarutiineja ja funktioita suurempiin koodiprojekteihin, ne eivät yksinkertaisesti pysty kirjoittamaan merkittäviä koodiprojekteja.

Lisäksi: Googlen ChatGPT-kilpailijan demovideo epäonnistuu

Esimerkiksi viimeisen vuoden aikana minun on pitänyt pitää 20-30 kokousta suuren rajapintatoimittajan kanssa, jotta voin integroida heidän palvelunsa omaani. Useimmissa näistä kokouksista sekoittuivat liiketoimintakysymykset teknisiin vaatimuksiin ja lisenssiehtoihin. Haastan minkä tahansa tekoälyn kestämään tällaisen byrokraattisen tilanteen vaatimat hienovaraisuudet, ymmärtämään niitä ja täyttämään kumppanin vaatimukset, ja sen jälkeen pystymään tuottamaan koodimoduuleita, joihin kaikki voivat suostua.

Joten kyllä, olen hieman järkyttynyt siitä, kuinka hyvä plugin oli, jonka "teinkin" vaimolleni. Mutta tekoälyllä on pitkä matka ennen kuin se ottaa työtä kokeneilta kehittäjiltä ja kirjoittajilta - niin kauan kuin asiakkaat haluavat juuri sellaista työtä, jonka kokeneet kehittäjät ja kirjoittajat tuottavat. Ja tämä, ystäväni, on jotain, mistä huolehdin.

Liittyvät artikkelit

Näytä lisää >>

Avaa tekoälyn voima HIX.AI:lla!