Humiling ako kay ChatGPT na magsulat ng isang plugin ng WordPress na kailangan ko. Ginawa niya ito sa loob lamang ng hindi hihigit sa 5 minuto.

gettyimages-1246766124.jpg

Hindi ko naman gustong masyadong i-emphasize ito pero medyo kinakabahan ako. Bilang isang eksperimento, nagtanong ako sa ChatGPT na gumawa ng isang plugin na makakatulong sa asawa ko para sa pagpapatakbo ng kanyang website. Sinulat ko ang maikling paglalarawan at sinulat ng ChatGPT ang kabuuan: user interface, lohika, at lahat ng kailangan.

Madaling ibabaon ang wika para sa mga kapayasang wika.

Gayundin: Ang pinakamahusay na AI chatbots: ChatGPT at iba pang mga nakakatuwang kapalit na subukan

May mga implikasyon. Mararating natin ang mga iyon sa loob ng ilang minuto. Sa una, hayaan mo akong ipakilala sa iyo ang karanasan at ang nangyari.

Ang pangangailangan

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

Ang aking asawa ay ang may-ari ng isang WordPress-based na e-commerce site na nakatuon sa isang popular na hobby. Siya rin ay nagho-host ng isang napakasipag na Facebook group para sa mga customer ng kanyang site. Bawat buwan, sinusulat niya ang isang listahan ng mga pangalan, at pagkatapos ay gumagawa ng isang animasyon ng virtual na pag-ikot ng gulong, gamit ang binagong listahang iyon, para sa Facebook group. Siya ay gumagamit ng isang site sa internet na gumagawa ng karampatang randomisasyon ng mga linya, ngunit kumukuha ng sobrang bayad sa pag-export ng listahan.

Dagdag pa: Makatutulong ba ang mga AI detector para sa atin laban sa ChatGPT? Sinubukan ko ang 3 online na kasangkapan upang malaman ito

Habang pinapanood ko siyang magsikap na kunin ang mga pinangalanang nababago, naisip kong maaaring makatulong kung isusulat ko ang isang mabilis na WordPress plugin na maaari naming i-install sa kanyang site. Araw-araw siyang nasa dashboard, kaya ang pagkakaroon nito bilang isang kasangkapan ay magiging kapakipakinabang.

Subalit kahit isang simpleng plugin ay aabutin ako ng ilang araw para isulat, pati na rin ang mga elemento ng user interface at lohika ng code, at puno na ako ng mga proyekto sa mga araw na ito.

At pagkatapos 'yon, naisip ko ang ChatGPT. May ilang usapan tungkol sa ChatGPT bilang isang tool sa programming sa midya, kaya't nagpasya akong subukan ito.

Ang prompt

Ang susi upang mapaandar ang ChatGPT na gumawa ng anumang bagay ay isang maingat na sinulat na prompt. Sa kaso ng programming, isipin ito bilang pagiging isang manager o kliyente. Dapat mong malinaw na ipahayag kung ano ang kailangan mo upang makakuha ng nais mo. Simula ako sa isang napakahalagang prompt, upang tingnan kung gagana ito. Narito ang prompt na ginamit ko:

code.jpg

Magsulat ng isang plugin ng WordPress na may PHP 8 na kompatibilidad na nagbibigay ng isang patlang para sa text kung saan maaaring i-paste ang isang listahan ng mga linya at isang button, na kapag pindutin, nagraranas ng random ang mga linya sa listahan at ipinapakita ang mga resulta sa pangalawang patlang ng text.

Sa loob ng isang minuto, nagawa nito ang mga kode na makikita mo sa kanan. Kinopya ko ang mga nagawa kong kode sa isang .php file, inilagay ito sa isang folder na may parehong pangalan ng root file, kinompres ito, at in-upload sa server niya. Naging epektibo.

Dagdag pang impormasyon: Sinasabing sinisikap ng mga hacker mula sa Russia na magkaroon ng paglabag sa ChatGPT, ayon sa Check Point

Noong ipinakita ko ito sa aking asawa, siya ay tuwang-tuwa at nagulat. Pero pagkatapos, nag-umpisang kumilos ang kanyang isipan at humiling siya ng bagong tampok: siguraduhing hindi magkakatabi ang mga parehong pangalan.

Para sa kanyang aplikasyon, madalas niyang kailangan isama ang pangalan ng isang tao sa isang listahan ng maraming beses. Ngunit ayaw niya na magkakumpulan ang mga parehong pangalan.

Ginawang ako ang aking orihinal na patnubay, na nagdagdag ng sumusunod na karagdagang mga kondisyon:

...nagtatantiya na walang dalawang magkatulad na mga entry ang magkatabi (maliban kung walang ibang pagpipilian)... na may kasing dami ng mga linya na isinumite at mga linya sa resulta na magkakaiba.

Isinama ko ang parirala na "maliban kung wala nang ibang pagpipilian" at ang kahilingang magkarehistro ang alinmang salitang hindi mauulit, dahil nais kong tiyakin na lahat ng mga pangalan ay maisaayos, at nag-aalala ako na mas pahahalagahan nito ang pangangailangan na walang dalawang pangalan na magkasama kaysa sa pangangailangan na mapanatili ang lahat ng mga pangalan.

Mga 30 segundo mamaya, mayroon na akong bagong plugin. Ini-upload ko ito sa server at sinubukan ko. Gumana ito, ngunit kasama sa output ang ilang mga patlang. Kaya idinagdag ko ang kondisyong ito sa aking naunang utos:

...nang walang mga linya ng kuwalta...

Ngayon, nasanay na ako sa oras ng paghihintay, na laging mas mababa sa isang minuto. Isa pang upload at pagsusuri, at muli, gumana ito.

Dagdag pa: Paano gamitin ang ChatGPT

Gusto ko ng isang panghuling katangian, upang kumpirmahin kung ilang linya ang naiproseso. Gusto kong makita ng plugin ang bilang ng mga linya para sa mga entry at output na field. Narito ang pagdaragdag ng prompt na iyon:

...Sa ilalim ng unang patlang, ipakita ang teksto na nagsasabing "Linyang susundan: " kasama ang bilang ng mga hindi walang linya sa patlang na pinagmulan. Sa ilalim ng pangalawang patlang, ipakita ang teksto na nagsasabing "Mga linyang na-randomize: " kasama ang bilang ng mga hindi walang linya sa patlang na paglalagyan.

Gumana ito, halos lahat. Bago patakbuhin, ang patlang ng output ay nagpapakita ng isang linya. Ngunit kapag natapos na ang proseso ng pag-randomize, nagpapakita ito ng eksaktong tamang bilang ng mga linya sa parehong patlang.

Ang kalidad ng code

Sa pangkalahatan, malinis ang kalidad ng code. Ipinapakita ko lamang ang orihinal na tugon dahil sa kabilang banda ay hindi ito kakasya sa artikulo. Nang maayos na naisulat ng program ang WordPress header block at sumulat ng pang-interaktibong dashboard na interface para sa plugin, pati na rin ang logic ng plugin.

Ipinosisyon nga niya ang aking mga talata ng buod sa itaas ng mga patlang, kahit na tinukoy ko na ito ay dapat sa ibaba, pero hindi ito malaking reklamo. Ito ay parehong uri ng pagkakamali na maaaring matanggap ng isang kliyente mula sa isang kontraktor na tao, at pagkatapos ay kailangan ng konting pag-aayos upang maayos ang problema.

Dinagdag ko rin: Kaya bang isulat ng Notion AI writing helper ang artikulong ito?

Ang coding ay gumagana, pero hindi ito naglalaman ng lahat ng mga pinakamahusay na paraan para sa pagproprogram sa WordPress. Halimbawa, hindi ito naglilinis ng input ng user. Mahigpit ang komunidad ng WordPress sa paglilinis ng input upang hindi maipagsiksikan ng mga hacker ang mga field ng data na maaaring sirain ang isang site - at hindi ito inaasahan sa code na ito.

Bilang isang pagsusuri sa ibang pagkakataon, tinuro ko sa Ai na linisin ang input, at ginawa naman niya... hanggang isang punto. Nilinis niya ang input sa loob ng function ng PHP, ngunit hindi niya nilinis ang input kapag tinatawag ang PHP sa loob ng HTML. Ito ay talagang nag-iwan ng isang kalawakan para sa mga hacker.

It also dropped the plugin's menu item into Settings. I probably would have put it under Tools or given the feature its own menu item. Since I didn't specify where it should be invoked from, I think ChatGPT made a workable decision in placing the menu item where it did.

Idinagdag ko ang isang huling requirement sa aking prompt, humihiling na bigyan ng pangalan ang plugin ng AI:

Magsulat ng isang plugin sa WordPress na angkop sa PHP 8 at tawagin itong "Robo Randomizer" na…

Di kapani-paniwala, ang AI ay nagbigay sa akin ng isang lubos na ibang plugin, na nagbibigay ng isang shortcode sa halip na isang dashboard interface. Pahintulutan ninyo akong ipaliwanag iyon sa mga hindi gumagamit ng WordPress, dahil ito'y kawili-wili.

Kapag sinusulat ang isang ganyan katulad nito, maaari mong gawing magagamit ito sa website para sa mga bisita (tinatawag na frontend) o sa mga naglolog-in sa dashboard ng site para pangalagaan ang side (ang backend). Sa aking orihinal na hanay ng mga promp, hindi ko binanggit kung frontend o backend, ngunit sinulat ng AI ang nais ko, na isang backend, dashboard interface para sa kagamitan.

Dinagdag rin: Ang OpenAI ay naghahanap ng mga developer upang mapabuti ang kakayahan ng ChatGPT sa pagko-code

Pero sa huling pagkakataon na ito, nagpasya itong isulat ang plugin bilang isang frontend tool, na nagpapatakbo sa pamamagitan ng isang shortcode. Sa WordPress, maaari mong i-embed ang isang shortcode (tulad ng [randomize lines]) sa loob ng isang post at ito ay magpapatupad ng code sa isang plugin. Ang huling bersyon na nilikha ng AI ay nagbigay sa akin ng ganoong shortcode, na magpapahintulot ng pagpapakita ng randomize lines feature sa mga bisita ng site.

Matapos ito, medyo nawala ang pagka-konsentrado ng ChatGPT. Hindi ako nakapagdagdag ng karagdagang mga tampok sa orihinal na plugin at ang ChatGPT ay halos palagi lamang nag-uulit ng pagsasanib ng mga version ng shortcode. Maliwanag na ang pagpapanatili ng code ay hindi malakas na kakayahan ng ChatGPT.

Mga Pagsasalikop

Siyempre, ito ay isang simpleng plugin. Halos katulad ito ng mga takdang-aralin na ibinigay ko sa mga estudyante ko noong ako ay nagtuturo sa UC Berkeley. Ito ay hindi nakakalapit sa kahalumigmigan ng mga mas malalaking plugin ng open source WordPress na pinapanatili ko para sa 50,000+ na mga gumagamit.

Aling mga huling salita: Sa pamamagitan ng AI chatbots, naghanap ba tayo ng mga sagot sa mga maling dako?

Noong nakaraang linggo, nang unang gamitin ko ang ChatGPT upang bumuo ng plugin para sa aking asawa at i-tweet ito, naglabas ng mga pagbubunyag ang mga korespondente sa aking mga social media. Narito ang ilan sa kanilang mga pangamba:

Ito ba'y masama? Mayroong isang taong nag-aalala na ang AI ay maglalaman ng masasamang (o kahit na promosyonal) impormasyon sa plugin at ang hindi propesyonal na tagagamit ay hindi malalaman ito. Ngunit ang katotohanan ay, kung hindi ka isang coder at hindi mo mabasa ang code, kahit na kumuha ka ng tao mula sa iba, hindi talaga mo alam ang nasa loob. Ito ay umaasa sa reputasyon ng tao, o kumuha ng isang taong pinagkakatiwalaan mo upang suriin ang code. Sa kaso ng code na nilikha sa aking eksperimento, ito ay malinis.

Ay ito na ba ang pinakamaganda nito? Dito muli, ang mga tao ay hinahambing ang code ng AI sa isang iba't ibang pamantayan kaysa mismo sa mga tao na nagko-code. Magaling akong programmer, pero may mga bug ang aking code. Hindi ito ang pinakamaganda nito... hindi sa unang pagkakataon. Pero sa pamamagitan ng mga tao, mas gumaganda ang code sa paglipas ng panahon. Hindi ako sigurado kung ang isang AI ay kaya pang magkuha ng kasalukuyang code, ayusin ito, hanapin ang mga bug, at pabutihin ito. Gayunpaman, sa ilang pagkakataon, kailangan lamang maging functional ang mga bagay. Hindi laging mahalaga kung sila ang pinakamaganda sa lahat. Sapat na madalas ay sapat na. At ito'y naglikha ng code na sapat na maganda.

Babawasan ba nito ang bilang ng trabahong pangprograma na ginagawa ng tao? Malamang na oo. Ayaw kong makita na ang isang makina ang kukuha ng trabaho ng sinumang tao (lalo na kung sa aking gusto iyon). Ang AI ay tiyak na isang opsiyon para sa mabilis at madaling mga proyekto, maging iyon man ay pagsusulat o pagsasakatuparan ng mga program. Ang mga sahod ng mga tao ay maapektuhan, walang dudang ganun ang mangyayari.

Matagal na akong nag-aaral ng AI ng mga dekada. Nagawa ko ang isang tesis tungkol sa AI. Pero kahit na may ganitong background, ang pag-usbong ng mataas na kalidad na generative AI ay napakagulat sa akin. Ngunit sinasabi ko, ang ating tinitingnan ngayon ay ang antas ng "sapat na maganda" na produksyon. Nakalulungkot nga lamang, iyon ang hinihingi ng maraming kliyente.

Ngunit -- sa ngayon lamang -- ang ChatGPT at ang mga kaibigan nito ay hindi maaaring sumulat ng napaka-detalyadong mga artikulong pang-analisis tulad nito, dahil ito'y nagpapakita ng mga opinyon, mga kuwentong-karanasan, at mga taon ng karanasan. At bagaman maaari nilang marahil isulat ang mga subroutines at mga function para sa mga malalaking proyekto sa pagko-code, hindi sila kaya sumulat ng malalaking proyekto sa pagko-code.

May Dagdag Pa: Nabigo ang demo ng Google na katunggali ng ChatGPT

Halimbawa, kinailangan kong magkaroon ng 20-30 mga miting noong nakaraang taon kasama ang isang pangunahing tagapagbigay ng API upang maisama ang kanilang serbisyo sa aking proyekto. Karamihan sa mga miting na iyon ay pinagsama ang mga isyu sa negosyo, mga pangangailangan sa teknolohiya at mga patakaran sa paglilisensya. Abangan ko kung may AI man ang makakasabay, magkaintindihan sa mga detalye, at matugunan ang mga kinakailangan ng mga katuwang sa ganitong uri ng burukratikong sitwasyon, at maging handa pang magproduksi ng mga modulong code na magugustuhan ng lahat.

Kaya, oo, medyo kinabahan ako sa husay ng plugin na "ginawa" ko para sa misis ko. Ngunit marami pang kailangang gawin ang AI bago ito ay nakakakuha ng trabaho mula sa mga bihasang developer at manunulat -- sa ngayon, basta gusto ng mga kliyente ang uri ng trabaho na ginagawa ng mga bihasang developer at manunulat. At iyon, aking mga kaibigan, ay isang bagay na pino-problema ko.

Kaugnay na mga Artikulo

Tingnan Nang Mas Marami >>

I-unlock ang kapangyarihan ng AI gamit ang HIX.AI!