Az AI chatbotok képességei rohamosan bővülnek. De tudnak-e még kódolni, és melyik a jobb a feladatban?

Amikor a Google elindította a Bardot, az OpenAI ChatGPT-jére adott válaszát, hiányzott belőle egy olyan funkció, amely nagyon népszerű volt a ChatGPT-felhasználók körében: a kódírás képessége. A közkívánatra azonban a Google egy lövést adott Bardnak, lehetővé téve számára, hogy több tucat programozási nyelven írjon kódot.

A Google azóta is hangoztatja, hogy Bard milyen jól tud kódot írni és hibakeresni, de hogyan viszonyul ez a fenomenális ChatGPT-hez? Találjuk ki.

ChatGPT vs. Bard: Nyelvi támogatás

Hivatalosan a Google Bardja körülbelül 20 programozási nyelvvel tud dolgozni. Ezek többnyire olyan népszerű programokból állnak, mint a Typescript, Python, C++, Go, Java, JavaScript és PHP. Még mindig képes kezelni a kevésbé népszerű opciókat, mint például a Perl és a Scala, de nem feltétlenül olyan hatékony.

A ChatGPT-nek viszont nincs hivatalos listája a támogatott nyelvekről. A chatbot képes kezelni a legtöbbet annak, amit Bard, és még több tucatnyit. A ChatGPT képes kódot írni, hibakeresni és magyarázni mind újabb, népszerű programozási nyelveken, mind

instagram viewer
kevésbé népszerű, örökölt nyelvek, mint a Fortran, Pascal, BASIC és COBOL.

A támogatás azonban nem feltétlenül jelent jártasságot. Kipróbáltunk néhány egyszerű feladatot kiválasztott nyelveken, például PHP, JavaScript, BASIC és C++. A Bard és a ChatGPT is képes volt megvalósítani a népszerű programozási nyelveket, de csak a ChatGPT volt képes meggyőzően összefűzni a régebbi nyelvek programjait. A nyelvi támogatás tekintetében tehát a ChatGPT-nek adjuk a győzelmet.

ChatGPT vs. Bard: Pontosság és kódminőség

Tegyük fel, hogy megkéri a ChatGPT-t vagy a Bardot, hogy generáljon egy kódrészletet, ami csinál valamit, és másodpercek alatt több tucat kódsort köp ki. Könnyű, igaz? De milyen gyakran fog működni ez a kód? Tegyük fel, hogy a kód működik; mennyire jó ez a kód?

A két mesterséges intelligencia chatbot által generált kód pontosságának és minőségének összehasonlításához mindkettőjüknek megadtunk néhány kódolási feladatot. Megkértük a Bardot és a ChatGPT-t, hogy hozzanak létre egy egyszerű teendőlista-alkalmazást HTML, CSS és JavaScript használatával. A másolás-beillesztés és a generált kód böngészőben történő megtekintése után a ChatGPT alkalmazása így nézett ki:

A ChatGPT verziójával új feladatot adhat hozzá, törölhet egy feladatot, vagy megjelölhet egy feladatot befejezettként. A Google Bardja egy funkcionális teendőlista alkalmazást is tudott generálni. Feladatot azonban csak hozzáadhat, nem törölheti vagy befejezettként jelölheti meg. Bard felülete is kevésbé tűnt vonzónak; íme, hogy nézett ki:

Megismételtük a tesztet, ezúttal mindkét chatbotot arra kérve, hogy hozzanak létre újra Twitter-idővonal-kártyákat. Íme a ChatGPT eredménye:

És íme, amit a Google Bard készített:

Mindkét eredménynek megvannak a maga előnyei és hátrányai. Bard eredményeivel mentünk volna, ha lett volna lájk, retweet és megjegyzés gomb. Azonban furcsa módon ezeket kihagyta, így hagyjuk, hogy eldöntse, melyik a jobb. Természetesen a kód minősége nem csak az általa előállított esztétikán múlik.

A két chatbot által generált kód elemzésekor a Bard inkább objektumorientáltnak tűnt, míg a ChatGPT inkább procedurálisnak tűnt. A programozási nyelv választásunk befolyásolhatja ezt, de úgy tűnt, hogy a ChatGPT tisztább kódot ír, ha szükséges. Hajlamos arra is, hogy teljesebb megoldásokat generáljon, ami általában több kódsorhoz vezet.

Ami a generált kód minőségét illeti, ezt a kört a ChatGPT-nek ítéljük oda.

ChatGPT vs. Bard: Hibakeresés és hibaészlelés

A hibák és hibák olyanok, mint a rejtvények, amelyeket a programozók szeretnek utálni. Megőrjítenek, de megjavítani őket eléggé kielégítő. Tehát amikor hibákba ütközik a kódban, fel kell hívnia a Bardot vagy a ChatGPT-t segítségért? A döntéshez mindkét AI chatbotnak két hibakeresési problémát adtunk a megoldásra.

Először mindkét chatbotot arra kértük, hogy oldjanak meg egy PHP-kód logikai hibáját. A logikai hibákat köztudottan nehezebb észrevenni, mert az ezeket tartalmazó kód nem tűnik rossznak, csak nem azt csinálja, amit a programozó szándékozott.

A képernyőképen látható kód lefut, de nem működik. Észreveszed a logikai hibát? Segítséget kértünk a Google Bardjától, de sajnos a chatbot nem tudta kiszűrni a kódban lévő logikai hibát. Érdekes módon a Google Bardja általában három piszkozati kísérletet tesz a probléma megoldására, mindhárom piszkozatot ellenőriztük, és mindegyik hibás volt.

Ezután segítséget kértünk a ChatGPT-től, és azonnal kiszúrta a logikai hibát.

A PHP szkriptben nem voltak szintaktikai hibák, de a logikában a páratlan() funkció visszafelé volt. Annak megállapításához, hogy egy szám páratlan-e, általában ellenőrizze, hogy van-e benne maradék, miután elosztja 2-vel. Ha igen, akkor páratlan szám.

Bár Bard közel sem tudta azonosítani ezt a hibát, a ChatGPT az első próbálkozásra észlelte. Megpróbáltunk még négy logikai hibát, és a Bard csak egy esetben tudta kiszűrni a hibát, miközben a ChatGPT következetesen kézbesítette. A szintaktikai hibákkal járó kódra való váltás után a Google Bardja lépést tudott tartani, szinte az összes bemutatott mintában azonosította őket.

A Google Bardja viszonylag jó a hibakeresésben, de ezt a győzelmet ismét a ChatGPT-nek adjuk.

ChatGPT vs. Bard: Kontextustudatosság

Az AI chatbotok kódolási használatának egyik legnagyobb kihívása a viszonylag korlátozott környezettudatosság. Megkéred a chatbotot, hogy írjon egy kódot, aztán még egyet... a vonal mentén teljesen elfelejti, hogy a következő dolog, amit épít, ugyanannak a projektnek a része.

Tegyük fel például, hogy webalkalmazást készít AI chatbottal. Azt mondod neki, hogy írjon kódot a regisztrációs és bejelentkezési HTML oldalához, és tökéletesen megteszi. Aztán ahogy folytatod az építkezést, megkéred a chatbotot, hogy generáljon egy szerveroldali szkriptet a bejelentkezési logika kezelésére. Ez egy egyszerű feladat, de a korlátozott környezettudatosság miatt egy bejelentkezési szkriptet generálhat olyan új változókkal és elnevezési konvenciókkal, amelyek nem egyeznek a kód többi részével.

Tehát melyik chatbot képes jobban megőrizni a kontextustudatot? Mindkét eszköznek ugyanazt a programozási feladatot adtuk: egy csevegőalkalmazás, amelyről tudjuk, hogy a ChatGPT már képes felépíteni.

Sajnos Bard egyszerűen nem tudta befejezni az alkalmazást, mert elvesztette nyomon a projekt környezetét, miután egy ideig tétlen volt. Annak ellenére, hogy ugyanazok a feltételek vonatkoznak rá, a ChatGPT befejezte az alkalmazást. A kontextus-tudatosság tekintetében ismét megadjuk a ChatGPT-nek.

ChatGPT vs. Bard: Problémamegoldás

Ezen a ponton a Google Bardja sok szempontból hiányzik. De vajon sikerül-e végre nyerni? Teszteljük problémamegoldó képességét. Néha csak van egy problémája, de nem tudja, hogyan ábrázolja programozottan, nem is beszélve arról, hogyan oldja meg.

Az ehhez hasonló helyzetekben az olyan AI chatbotok, mint a Bard és a ChatGPT, nagyon jól jöhetnek. De melyik chatbot rendelkezik jobb problémamegoldó képességekkel? Megkértük mindkettőjüket, hogy "írjon egy JavaScript kódot, amely megszámolja, hogy egy adott szó hányszor jelenik meg a szövegben."

Bard működő kóddal válaszolt, bár ez nem sikerül, ha az írásjelek közel vannak egy szóhoz, vagy a szó különböző esetekben jelenik meg.

Ugyanezt a problémát vettük fel a ChatGPT-nél, és íme az eredmény:

A ChatGPT kódja robusztusabb és pontosabb megközelítést alkalmaz a szövegben előforduló szavak számlálására. Figyelembe veszi a szóhatárokat és a kis- és nagybetűk megkülönböztetését, megfelelően kezeli az írásjeleket, és megbízhatóbb eredményeket ad. A problémamegoldás szempontjából ismét a ChatGPT-nek adjuk.

Mivel a Google Bard nagyjából veszített az összes összehasonlításhoz használt mutatóban, úgy döntöttünk, hogy esélyt adunk a beváltásra. Megkérdeztük a chatbotot"Melyik a jobb a kódolásban? ChatGPT vagy Google Bard?"

Bár egyetértett abban, hogy a ChatGPT kreatívabb, a Bard szerint versenytársa nagyobb valószínűséggel követ el hibákat és hogy a ChatGPT kevésbé hatékony, nem jól strukturált, és általában gyengébb kódot hozott létre megbízható. Nem értünk egyet!

A ChatGPT saját ligájában van

A Google Bardja sok felhajtást élvezett, így meglepő lehet, hogy mennyire hiányzik a ChatGPT-hez képest. Noha a ChatGPT egyértelműen előnyben részesített, azt gondolhatja, hogy a Google hatalmas erőforrásai segítenek lerombolni ezt az előnyt.

Ezen eredmények ellenére nem lenne bölcs dolog leírni a Bardot programozási segédeszközként. Bár nem olyan erős, mint a ChatGPT, a Bard még mindig jelentős ütéseket hoz, és gyors ütemben fejlődik. A Google erőforrásait figyelembe véve Bard méltó riválissá válása minden bizonnyal idő kérdése.