Mogućnosti AI chatbota brzo rastu. Ali mogu li već kodirati i tko je bolji u zadatku?
Kada je Google pokrenuo Bard, svoj odgovor na OpenAI-jev ChatGPT, nedostajala mu je značajka koja je bila prilično popularna među korisnicima ChatGPT-a: mogućnost pisanja koda. Međutim, nakon popularne potražnje, Google je dao priliku Bardu, omogućivši mu pisanje koda na desecima programskih jezika.
Google je od tada glasno govorio o tome koliko dobro Bard može pisati i ispravljati kod, ali kakav je u usporedbi s fenomenalnim ChatGPT-om? Hajde da vidimo.
ChatGPT vs. Bard: Jezična podrška
Službeno, Googleov Bard može raditi s oko 20 programskih jezika. Oni se uglavnom sastoje od popularnih kao što su Typescript, Python, C++, Go, Java, JavaScript i PHP. I dalje se može nositi s manje popularnim opcijama kao što su Perl i Scala, ali nije nužno tako učinkovit.
ChatGPT s druge strane nema službeni popis podržanih jezika. Chatbot može podnijeti većinu onoga što Bard može podnijeti i desetke više. ChatGPT može pisati, ispravljati pogreške i objašnjavati kod u novijim, popularnim programskim jezicima i
manje popularni, naslijeđeni jezici kao što su Fortran, Pascal, BASIC i COBOL.Međutim, podrška ne znači nužno i stručnost. Isprobali smo neke jednostavne zadatke na odabranim jezicima kao što su PHP, JavaScript, BASIC i C++. I Bard i ChatGPT uspjeli su isporučiti popularne programske jezike, ali samo je ChatGPT uspio uvjerljivo spojiti programe na starijim jezicima. Dakle, što se tiče jezične podrške, pobjedu dajemo ChatGPT-u.
ChatGPT vs. Bard: točnost i kvaliteta koda
Recimo da tražite od ChatGPT-a ili Barda da generiraju dio koda koji radi nešto, a on izbacuje desetke redaka koda u sekundi. Lako, zar ne? Ali koliko često će taj kod raditi? Recimo da kod radi; koliko je dobar taj kod?
Kako bismo usporedili točnost i kvalitetu koda koji su generirala dva AI chatbota, obojici smo dali nekoliko zadataka kodiranja. Zatražili smo od Barda i ChatGPT-a da generiraju jednostavnu aplikaciju popisa obaveza koristeći HTML, CSS i JavaScript. Nakon kopiranja i lijepljenja i gledanja generiranog koda u pregledniku, aplikacija ChatGPT-a izgledala je ovako:
Koristeći verziju ChatGPT-a, možete dodati novi zadatak, izbrisati zadatak ili označiti zadatak kao dovršen. Googleov Bard također je uspio generirati funkcionalnu aplikaciju popisa obaveza. Međutim, možete samo dodati zadatak, bez mogućnosti brisanja ili označavanja kao dovršenog. Bardovo se sučelje također činilo manje privlačnim; evo kako je to izgledalo:
Ponovili smo test, ovaj put tražeći od oba chatbota da ponovno kreiraju kartice vremenske trake Twittera. Evo rezultata ChatGPT-a:
A evo što je Googleov Bard proizveo:
Oba rezultata imaju svoje prednosti i nedostatke. Odlučili bismo se za Bardove rezultate da ima gumbe za lajk, retvit i komentiranje. Međutim, čudno ih je izostavio, pa ćemo prepustiti vama da odlučite što je bolje. Naravno, kvaliteta koda nije samo estetika onoga što proizvodi.
Pri analizi koda koji su generirala oba chatbota, činilo se da je Bardov više objektno orijentiran dok je ChatGPT više proceduralan. Naš izbor programskog jezika mogao je utjecati na to, ali činilo se da ChatGPT piše čistiji kod kada je to potrebno. Također nastoji generirati cjelovitija rješenja, što obično dovodi do više redaka koda.
Što se tiče kvalitete generiranog koda, ovaj krug dodjeljujemo ChatGPT-u.
ChatGPT vs. Bard: Otklanjanje pogrešaka i otkrivanje pogrešaka
Pogreške i bugovi su poput zagonetki koje programeri vole mrziti. Izludit će vas, ali njihovo popravljanje je prilično zadovoljavajuće. Dakle, kada naiđete na greške u svom kodu, trebate li pozvati Bard ili ChatGPT za pomoć? Da bismo odlučili, dali smo oba AI chatbota za rješavanje dva problema s otklanjanjem pogrešaka.
Prvo smo potaknuli oba chatbota da riješe logičku pogrešku u PHP kodu. Logičke pogreške je notorno teže uočiti jer kod koji ih sadrži ne izgleda pogrešno, samo ne radi ono što je programer namjeravao.
Kôd na ovoj snimci zaslona radi, ali ne radi. Možete li uočiti logičku grešku? Tražili smo pomoć od Googleovog Barda i nažalost, chatbot nije mogao pronaći logičku pogrešku u kodu. Zanimljivo, Googleov Bard obično ima tri nacrta pokušaja rješavanja problema, provjerili smo sva tri nacrta i svi su bili pogrešni.
Zatim smo zatražili pomoć od ChatGPT-a, a on je odmah otkrio logičku pogrešku.
PHP skripta nije imala nikakve sintaktičke pogreške, ali logika u je neparan() funkcija je bila unatrag. Da biste vidjeli je li broj neparan, obično biste provjerili ima li ostatak nakon dijeljenja s 2. Ako jest, to je neparan broj.
Iako Bard nije bio ni blizu identificiranja ovog buga, ChatGPT ga je otkrio iz prvog pokušaja. Pokušali smo s još četiri logičke pogreške i Bard je uspio pronaći pogrešku samo u jednom slučaju dok je ChatGPT dosljedno isporučivao. Nakon prelaska na kod sa sintaktičkim pogreškama, Googleov Bard uspio je držati korak, identificirajući ih u gotovo svim predstavljenim uzorcima.
Googleov Bard je relativno dobar u otklanjanju pogrešaka, ali ovu pobjedu ćemo ponovno dati ChatGPT-u.
ChatGPT vs. Bard: Svjesnost konteksta
Jedan od najvećih izazova s upotrebom AI chatbota za kodiranje je njihova relativno ograničena svijest o kontekstu. Tražite od chatbota da napiše kod, pa još malo... usput, potpuno zaboravlja da je sljedeća stvar koju gradi dio istog projekta.
Na primjer, recimo da gradite web aplikaciju pomoću AI chatbota. Kažete mu da napiše kod za vašu HTML stranicu za registraciju i prijavu, a on to radi savršeno. I onda, dok nastavljate s izgradnjom, tražite od chatbota da generira skriptu na strani poslužitelja za obradu logike prijave. Ovo je jednostavan zadatak, ali zbog ograničene svijesti o kontekstu, mogao bi završiti generiranjem skripte za prijavu s novim varijablama i konvencijama imenovanja koje ne odgovaraju ostatku koda.
Dakle, koji je chatbot bolji u zadržavanju svijesti o kontekstu? Oba smo alata dali isti programski zadatak: aplikacija za chat za koju znamo da ChatGPT već može izgraditi.
Nažalost, Bard jednostavno nije mogao dovršiti aplikaciju jer je izgubio trag konteksta projekta nakon što je neko vrijeme bio neaktivan. Unatoč istim uvjetima, ChatGPT je dovršio aplikaciju. Još jednom, u smislu svijesti o kontekstu, dajemo ga ChatGPT-u.
ChatGPT vs. Bard: Rješavanje problema
U ovom trenutku, Googleov Bard nedostaje na mnogo načina. Ali može li konačno pobijediti? Testirajmo njegove sposobnosti rješavanja problema. Ponekad jednostavno imate problem, ali niste sigurni kako ga programski prikazati, a kamoli kako ga riješiti.
U ovakvim situacijama AI chatbotovi kao što su Bard i ChatGPT mogu biti vrlo korisni. Ali koji chatbot ima bolje sposobnosti rješavanja problema? Zamolili smo ih oboje da "napišite JavaScript kod koji broji koliko se puta određena riječ pojavljuje u tekstu."
Bard je odgovorio radnim kodom, iako ne uspijeva kada su interpunkcijski znakovi blizu riječi ili se riječ pojavljuje u različitim slučajevima.
Isti smo problem postavili ChatGPT-u i evo rezultata:
Kod ChatGPT-a ima robusniji i precizniji pristup brojanju pojavljivanja riječi u tekstu. Uzima u obzir granice riječi i osjetljivost na velika i mala slova, pravilno rukuje interpunkcijskim znakovima i daje pouzdanije rezultate. Još jednom, što se tiče rješavanja problema, dajemo ga ChatGPT-u.
Budući da je Google Bard prilično izgubio u svim mjernim podacima koje smo koristili za usporedbu, odlučili smo mu dati priliku za otkup. Pitali smo chatbota "Koji je bolji u kodiranju? ChatGPT ili Google Bard?"
Iako se složio da je ChatGPT kreativniji, Bard je rekao da je veća vjerojatnost da će njegov konkurent pogriješiti i da je ChatGPT proizveo kod koji je bio manje učinkovit, nije dobro strukturiran i općenito je bio lošiji pouzdan. Moramo se ne složiti!
ChatGPT je u vlastitoj ligi
Googleov Bard je uživao u velikom hypeu, pa bi moglo biti iznenađenje vidjeti koliko mu nedostaje u usporedbi s ChatGPT-om. Dok je ChatGPT očito imao prednost, mogli biste pomisliti da bi mu Googleovi ogromni resursi pomogli da smanji tu prednost.
Unatoč ovim rezultatima, ne bi bilo mudro otpisati Bard kao pomoć pri programiranju. Iako nije moćan kao ChatGPT, Bard još uvijek ima značajan učinak i razvija se velikom brzinom. S obzirom na Googleove resurse, pojava Barda kao dostojnog rivala sigurno je pitanje vremena.