ChatGPT – da li je posao developera ugrožen?

ChatGPT je najnoviji AI alat koji se pojavio krajem prošle godine i izazvao veliku pažnju, naročito developera i onih koji rade u web prostoru.

Za samo 5 dana, dostigao je više od milion korisnika, a već u januaru, procenjeno je da ima oko 100 miliona aktivnih korisnika. To znači da je za samo dva meseca, ovaj alat dostigao broj korisnika za koji je TikTok-u bilo potrebno 9 meseci!

U početku je bio potpuno besplatan za korišćenje, ali se tokom pisanja ovog teksta pojavila i Premijum verzija (ChatGPT Plus) koja košta 20 USD mesečno i nudi bolju pristupačnost alata, čak i kada je platforma preopterećena i brže odgovore na zahteve/pitanja.

Ali po čemu je to ovaj alat toliko poseban u odnosu na druge AI alate?

Po tome što se po prvi put pojavio AI alat sposoban da odgovori na kompleksna pitanja u formi konverzacije, a koji je pritom sposoban da uči i kasnije reprodukuje ono naučeno.

Možete mu postaviti bilo koje pitanje, tražiti mu da vam napiše neki članak ili da vam reši neki logički zadatak. ChatGPT može sve to, pa i više od toga, sa većim ili manjim uspehom.

Ipak, ono što je izazvalo najviše pažnje i uzburkalo developersku zajednicu, jeste njegova sposobnost da piše jednostavnije računarske programe koji rade.

Oko ovoga se diglo poprilično buke, jer AI koji je sposoban da sam na zahtev piše, pa pritom može i da debaguje kod, predstavlja potencijalnu opasnost po developere i njihova radna mesta.

I ne samo da se diglo dosta buke, već su mnogi developeri sami krenuli u testiranje mogućnosti ChatGPT-a, da bi se uverili u njegove realne mogućnosti.

Rezultati uglavnom pokazuju da smo ipak još daleko od AI koja bi bila sposobna da u potpunosti zameni developere, ali da je u pitanju revolucionarna tehnologija koja će definitivno promeniti način na koji će se u buduće kreirati i koristiti web sadržaji.

Ispostavilo se da je u ovom trenutku realnije gledati na ChatGPT kao na neku vrstu asistenta koji developerima može pomoći da budu produktivniji, umesto da se posmatra kao potencijalna opasnost.

Svaki developer zna da je pisanje koda samo jedan deo posla developera, a da su preostali poslovi suviše složeni da bi u ovom trenutku mogla da ih zameni neka poznata AI. Čak iako bi do toga u nekom trenutku došlo, to nikako nije neka skorija budućnost.

Pisanje jednostavne Python igre

S obzirom da smo i sami hteli da testiramo kako i šta to ChatGPT može da radi, rešili smo da mu i mi zadamo par jednostavnijih zadataka, pa evo prilike da iz prve ruke vidite kako ih je rešio.

Prvo smo mu zadali da nam u Python-u uradi jednostavnu igru pod nazivom Papir, kamen, makaze.

Nismo dali nikakve posebne smernice, već smo samo tražili da napravi igru. Za manje od minut dobili smo napisan kod:

Uz kod je na kraju napisao i kratak opis onoga kako ovaj kod, što je posebno interesantno.

Naravno, želeli smo da proverimo da li je kod ispravan i da li igra radi, pa smo ga odmah testirali:

Ispostavilo se da je kod ispravan i da igra radi besprekorno.

Ipak, igra koju smo tražili da nam napravi, nije imala opciju određivanja konačnog pobednika, pa je mogla da se igra beskonačno, što nema puno smisla.

Zatim smo ChatGPT-u dali novi zadatak: da napravi istu igru, ali da ovaj put ubaci i pravilo da se igra samo pet krugova i onaj koji ima više pobeda u tih 5 krugova, biće proglašen pobednikom igre. Pritom nije bilo neophodno da mu ponavljamo kakvu igru želimo, jer on na određeni način ‘’pamti’’ sve iz vaše konverzacije.

Bilo je dovoljno da zahtevamo da napravi istu igru sa dodatkom već pomenutog proširenja.

I ovaj put je brzo generisao odgovarajući kod u skladu sa zahtevom i takođe uz kratak opis:

Nakon testiranja i ovaj kod se pokazao kao ispravan i igra je radila kako je očekivano.

Dakle, ChatGPT se pokazao dobro u realizaciji jednostavnijih programerskih zadataka.

Ipak, želeli smo da ga isprobamo u još nekim zadacima.

Izrada jednostavne strukture web sajta

Ovog puta smo mu zadali da nam pomoću HTML i CSS koda napravi modernu web stranicu.

Naravno, prvo je generisao HTML kod:

Odmah nakon toga je generisao i CSS kod:

A na kraju je generisao i jednostavan opis.

Naravno, ostaje da vidimo da li je ovaj kod funkcionalan i da li zaista može da kreira ono što smo od njega i tražili.

Prekopirali smo u Codepen kod koji nam je kreirao ChatGPT i dobili rezultat koji vidite u prozoru ispod polja za unos koda:

U ovom slučaju ne možemo da pohvalimo ChatGPT da je bio baš kreativan, ali nismo ni mi bilo baš precizni u zahtevu. Tražili smo mu da kreira modernu web stranicu, a pojam moderan AI sistemu ne mora da znači što i nama.

Dakle, izostala je AI kreativnost, ali je zato HTML i CSS kod napisan kako treba, pa smo dobili stranicu koja se može iskoristiti kao template za neki veoma jednostavan web sajt.

Čak je sam kreirao i neki osnovni tekstualni sadržaj, a da to nije bio lorem ipsum sadržaj.

Takođe, navigacioni meni sadrži sve one osnovne elemente koje možete naći na većini web sajtova na Internetu.

Naravno, tu bi moralo još mnogo toga da se doradi, ali bar neki osnovni kod je napisan i radi. što je za početak sasvim dovoljno.

Sada smo želeli da obogatimo stranicu O nama, tako što ćemo od ChatGPT-a tražiti da nam kreira i pod-meni sa nekoliko novih stranica.

Odmah je kreirao prvo HTML kod, a zatim i CSS kod:

I sve bi bilo u redu, da prilikom novog testiranja nismo primetili da u pod-meni nije dodao boju pozadine (background-color). Pošto su slova bele boje, a padajući meni nema boju pozadine, slova nekih elemenata iz pod-menija se nisu dobro videla:

Evidentno je da, ukoliko mu nešto eksplicitno ne definišete u zahtevu, ChatGPT to uglavnom neće ni uraditi i onda može da dođe do ovakvih rezultata.

Čim smo mu napisali da želimo da doda i boju pozadine u pod-meni, on je generisao dodatni HTML i CSS kod, koji smo uz minimum dorade ponovo testirali i koji je i ovog puta bio dobar.

I dalje dizajn nije bio za pohvalu, ali smo bar dobili neki osnovni pod-meni koji po potrebi možemo dalje dorađivati.

Dakle, uz nekoliko jednostavnih i ne baš preciznih instrukcija sa naše strane, ChatGPT je bio sposoban da za manje od minut generiše osnovni HTML i CSS kod za jednu jednostavnu web stranicu.

Uz manje ili više dorade od strane developera, od toga se može napraviti dosta bolji dizajn, ali za prvu pomoć ovo je i više nego dovoljno od jednog AI modela.

Pisanje jednostavne JavaScript igre

Na red je došlo da testiramo i kako ChatGPT kombinuje HTML, CSS i JavaScript kod, s obzirom da je ova kombinacija gotovo podrazumevana za većinu web projekata.

Dali smo mu zadatak da napravi HTML, CSS i JavaScript kod za iks-oks igricu.

Iako zvanično ChatGPT nema limitiran broj karaktera za odgovor, primetili smo da kada je potrebno da generiše duži kod, u nekom momentu može jednostavno da stane i prestane da generiše kod.

Da bismo to izbegli, zadali smo mu tri odvojena zahteva

Prvo da kreira HTML kod:

Iako mu nismo to tražili, ChatGPT je u HTML ubacio inline CSS kod. To nismo želeli pa smo mu tražili CSS kod koji će biti u zasebnom style.css fajlu:

I na kraju i JavaScript kod:

Ono što je za početnike odlično kod ChatGPT-a je što svaki kod detaljno objasni nakon što ga generiše.

Ono što nije dobro, jeste što ne stavlja uvek komentare u kod, pa to nakon kopiranja koda može da bude problem onima koji nisu još stekli dovoljno iskustva u čitanju tuđeg koda.
Nakon toga smo u Codepen-u testirali da li je generisan kod ispravan i da li igra radi.

Iako je dizajn i više nego basic, kod i igra su radili bez problema. Da smo kojim slučajem dali ChatGPT-u detaljnije instrukcije za dizajn, sigurni smo da bi on generisao bolji CSS kod.

Ovako je napravio samo koliko je dovoljno za funkcionisanje igre i to je sasvim u redu.

Time smo testirali kako ChatGPT generiše zajedno HTML, CSS i JavaScript kod. Zaključak je da je položio osnovni ispit.

Test pisanja JavaScript koda

Sledeći korak je bio da testiramo kako generiše samo JavaScript kod po nekom jednostavnom zadatku. Na primer, da generiše kod koji će u konzoli ispisati samo proste brojeve između 1 i 100.

Znamo da su prosti brojevi (ili primbrojevi) svi prirodni brojevi veći od 1 koji su bez ostatka deljivi samo s brojem 1 i sami sa sobom.

Onda smo testirali generisan kod, da vidimo da li ispravno radi:

Kao što vidite i ovaj zadatak je uspešno odrađen.

Iako rešenja za većinu ovih zadataka možete bez sumnje naći i na Stack Overflow-u i sličnim sajtovima, činjenica je da ChatGPT nudi jednostavnije i brže rešenje. Pritom možete postaviti određeni zadatak ili ga pitati za određeni deo koda, ukoliko vas zanima nešto konkretnije.

Debagovanje JavaScript koda

Na primer, nama se učinilo da kod koji je generisao možda ne bi bilo najbolje rešenje za neke konkretne situacije, pa smo ga pitali da nam kaže šta je problem sa kodom koji je generisao (da bismo testirali da li može da ‘’razume’’ kod koji je generisao):

Ok, znači da ‘’razume’’ da kod koji je generisao u određenim situacijama nije idealno rešenje, što je zanimljiva primena ChatGPT-a koja može pomoći kod određenih programerskih problema.

Na kraju, želeli smo da testiramo da li ChatGPT ima sposobnost da detektuje bug u kodu, što je sastavni deo svakog developerskog posla.

Zato smo promenili prethodno generisan kod tako da daje pogrešan rezultat i pitali ChatGPT šta je problem sa tim kodom:

Pronašao je šta je problem sa kodom i usput ispisao i objašnjenje, što nas je prijatno iznenadilo.

Na kraju možemo da zaključimo da je ChatGPT interesantna tehnologija koja će nesumnjivo promeniti način na koji danas doživljavamo web i veštačku inteligenciju uopšte.

Ipak, u ovom trenutku ova tehnologija još uvek nema dovoljno potencijala da zameni developere, čak ni samo u pisanju koda koji bi se mogao smatrati pouzdanim za primenu u realnim uslovima.

Šta kaže ChatGPT?

Možda najbolje o tome svedoči i sam ChatGPT. Postavili smo mu dva konkretna pitanja u vezi sa tim da li on može da zameni posao programera, pa pogledajte šta ovaj AI model kaže na to:

Verujemo da je ovim ChatGPT najbolje objasnio koja je njegova uloga i da li je trenutno sposoban da zameni posao programera ?

Tu se praktično i završio naš kratak test ChatGPT-a na temu kodiranja. Međutim, mi smo želeli da ga isprobamo i na nekim drugim poljima, pa ako vas zanima pogledajte kako se ovaj alat pokazao u rešavanju i nekih drugih, svakodnevnih zadataka.

Ah, ta logika!

Veštačka inteligencija bi trebalo bez greške da reši bar najveći broj logičkih zadataka, međutim iz nekog razloga ChatGPT je tokom našeg testa zapeo na jednom jednostavnom logičkom zadatku:

Ne znamo da li smo pogrešno postavili ovo pitanje, ali je odgovor prilično očigledan. Zašto ga ChatGPT ne vidi, to je već drugo pitanje.

Pozdanost informacija?

Da li ChatGPT raspolaže dovoljno pouzdanim informacijama? Paaaa…. kako se ono kaže: može, ali i ne mora bit’ 🙂 Naš je savet, nikako se ne oslanjajte samo na njegove odgovore.

Tokom našeg testa povremeno nam se činilo da ChatGPT nasumično ubacuje neke informacije za koje nigde ne postoji verodostojna potvrda. A ne postoji jer u nekim situacijama njegovi odgovori jednostavno nisu bili tačni. Evo jednog takvog primera.

Pitali smo ga da nam napiše šta je to Tamiš kapija. Pitanje nije iz geografije, ali je ChatGPT otišao u tom pravcu i pritom dao nekoliko netačnih informacija:

ChatGPT je otkrio novu planinu 🙂 Ako do sada niste znali, u pitanju je planina Požarevac! 🙂

Da stvar bude još gora, onda je svoje netačno izlaganje iz geografije, dodatno začinio generičkim i netačnim činjenicama iz istorije: “… mesto mnogih istorijskih bitaka, …“

Malo smo ga ispravili, ali se on opet nije dao zbuniti, pa je nastavio da sipa netačne odgovore 🙂

Naime, ovde je netačno to da se u sklopu naselja Tamiš kapija nalazi Stari most, a još manje fabrike i skladišta. Dobro, ne očekujemo da AI model zna baš svako naselje u Srbiji, ali nam je simptomatično da iako ne zna, ChatGPT se pravi da zna 🙂 i piše suve izmišljotine! Vrlo hrabro, nema šta!

Kada smo ga potom ispravili, on je prihvatio da je pogrešio i konačno dao neki smisleni i koliko toliko tačan odgovor:

Dakle, ChatGPT, za sada te sigurno ne bismo konsultovali za izradu domaćih zadataka za osnovce 🙂 Možda za koju godinu budeš spreman i za ovakva pitanja.

Kreativnost na delu

Na kraju ovog našeg testiranja, hteli smo da proverimo i da li je ChatGPT sposoban da bude kreativan na način koji bi bio blizak nama ljudima. Znamo da je programiranje zapravo jedan veoma kreativan proces i da je pored pisanja koda, to jedna od važnih osobina svakog developera.

Dali smo mu zadatak da nam napiše dečiju pesmicu koja bi se rimovala:

ChatGPT, ako hoćeš iskren odgovor, ni malo nam se ne sviđa tvoja dečija pesma, a još manje se rimuje ?

Ok, da bismo bili što korektniji, želeli smo da ga testiramo i na engleskom jeziku, jer nismo sigurni da je ovaj AI model sposoban da piše rime na drugim jezicima:

Nama je ova verzija na engleskom mnogo bolja, pa smo se jednoglasno složili da je ChatGPT talentovaniji na engleskom jeziku, iako je to daleko od nekog ozbiljnijeg pesničkog talenta ?

I na samom kraju da zaključimo: naš kratki test je pokazao da ChatGPT može da bude veoma koristan alat za developere, ali za sada samo kao asistent developerima koji imaju iskustvo i koji znaju da razlikuju tačne od pogrešnih odgovora.

Ipak je ovaj AI model u početnoj fazi učenja, a kako će i šta vremenom naučiti ostaje tek da vidimo.

Takođe, bili smo začuđeni nekim pogrešnim ili totalno promašenim odgovorima na naša pitanja, kao i nemogućnošću rešavanja nekih prostih logičkih zadataka.

Na dalje, ostaje da pratimo kako će se ovaj AI model dalje razvijati i u kojoj meri će postati pozdaniji asistent u rešavanju svakodnevnih coding ili non-coding poslova.

Da li ste možda i vi testirali ChatGPT? Kakvi su vaši utisci? Pišite nam u komentarima.

Slični postovi:

Trendovi u razvoju softvera u 2022. godini
Google Gemini – AI model koji obećava
Popularni backend programski jezici

Bez komentara

Оставите одговор

Ваша адреса е-поште неће бити објављена. Неопходна поља су означена *