AI vestlusrobotite võimalused kasvavad kiiresti. Kuid kas nad saavad veel kodeerida ja kumb on selles ülesandes parem?
Kui Google käivitas Bardi, vastuse OpenAI ChatGPT-le, puudus sellel funktsioon, mis oli ChatGPT kasutajate seas üsna populaarne: koodi kirjutamise võimalus. Kuid pärast populaarset nõudlust andis Google Bardile võimaluse kirjutada koodi kümnetes programmeerimiskeeltes.
Google on sellest ajast peale hääletanud selle üle, kui hästi suudab Bard koodi kirjutada ja siluda, kuid kuidas on see võrreldav fenomenaalse ChatGPT-ga? Uurime välja.
ChatGPT vs. Bard: keeletugi
Ametlikult saab Google'i Bard töötada umbes 20 programmeerimiskeelega. Need koosnevad enamasti populaarsetest, nagu Typescript, Python, C++, Go, Java, JavaScript ja PHP. See saab siiski hakkama vähem populaarsete valikutega, nagu Perl ja Scala, kuid ei pruugi olla nii tõhus.
ChatGPT-l seevastu pole ametlikku toetatud keelte loendit. Vestlusbot saab hakkama enamikuga sellest, mida Bard suudab toime tulla, ja veel kümneid asju. ChatGPT saab kirjutada, siluda ja selgitada koodi nii uuemates populaarsetes programmeerimiskeeltes kui ka
vähem populaarsed pärandkeeled, nagu Fortran, Pascal, BASIC ja COBOL.Toetus ei pruugi aga tähendada oskusi. Proovisime mõningaid lihtsaid ülesandeid valitud keeltes, nagu PHP, JavaScript, BASIC ja C++. Nii Bard kui ka ChatGPT suutsid pakkuda populaarseid programmeerimiskeeli, kuid ainult ChatGPT suutis veenvalt ühendada programmid vanemates keeltes. Nii et keeletoe osas anname võidu ChatGPT-le.
ChatGPT vs. Bard: täpsus ja koodi kvaliteet
Oletame, et palute ChatGPT-l või Bardil luua koodijupp, mis midagi teeb, ja see sülitab sekunditega välja kümneid koodiridu. Lihtne, eks? Aga kui sageli see kood töötab? Oletame, et kood töötab; kui hea see kood on?
Kahe AI-vestlusroboti genereeritud koodi täpsuse ja kvaliteedi võrdlemiseks andsime neile mõlemale täita mõned kodeerimisülesanded. Palusime Bardil ja ChatGPT-l luua HTML-i, CSS-i ja JavaScripti abil lihtne ülesannete loendi rakendus. Pärast kopeerimist-kleepimist ja loodud koodi vaatamist brauseris nägi ChatGPT rakendus välja selline:
ChatGPT versiooni kasutades saate lisada uue ülesande, ülesande kustutada või ülesande lõpetatuks märkida. Google'i Bard suutis luua ka funktsionaalse ülesannete loendi rakenduse. Saate siiski lisada ainult ülesande, ilma et seda saaks kustutada ega lõpetatuks märkida. Bardi liides tundus ka vähem ahvatlev; selline see välja nägi:
Kordasime testi, paludes seekord mõlemal vestlusrobotil Twitteri ajaskaala kaardid uuesti luua. Siin on ChatGPT tulemus:
Ja siin on see, mida Google'i Bard tootis:
Mõlemal tulemusel on oma plussid ja miinused. Oleksime Bardi tulemusi kasutanud, kui sellel oleks meeldimise, retweetimise ja kommenteerimise nupud. Kummalisel kombel jättis need aga välja, nii et laseme teil otsustada, kumb on parem. Muidugi ei sõltu koodi kvaliteet ainult selle esteetikast.
Mõlema vestlusroboti genereeritud koodi analüüsimisel tundus Bard rohkem objektorienteeritud, ChatGPT aga protseduurilisem. Meie programmeerimiskeele valik võib seda mõjutada, kuid näis, et ChatGPT kirjutas vajadusel puhtama koodi. Samuti kipub see genereerima terviklikumaid lahendusi, mille tulemuseks on tavaliselt rohkem koodiridu.
Loodud koodi kvaliteedi osas anname selle vooru ChatGPT-le.
ChatGPT vs. Bard: silumine ja vigade tuvastamine
Vead ja vead on nagu mõistatused, mida programmeerijad vihkavad. Need ajavad teid hulluks, kuid nende parandamine on üsna rahuldav. Nii et kui teil tekib koodis vigu, kas peaksite abi saamiseks helistama Bardile või ChatGPT-le? Otsustamiseks andsime mõlemale AI-vestlusbotile lahendada kaks silumisprobleemi.
Esiteks palusime mõlemal vestlusrobotil lahendada PHP-koodis esinev loogiline viga. Loogikavigu on teadupärast raskem märgata, kuna neid sisaldav kood ei näe välja vale, vaid lihtsalt ei tee seda, mida programmeerija kavatses.
Sellel ekraanipildil olev kood töötab, kuid see ei tööta. Kas saate loogikavea märgata? Küsisime Google'i Bardilt abi ja kahjuks ei suutnud vestlusbot koodis loogikat viga tuvastada. Huvitav on see, et Google'i Bardil on tavaliselt kolm mustandit probleemi lahendamiseks, me kontrollisime kõiki kolme mustandit ja need olid kõik valed.
Seejärel palusime ChatGPT-l abi ja see tuvastas kohe loogikavea.
PHP-skriptil ei olnud süntaksivigu, vaid loogika on Odd() funktsioon oli tagurpidi. Et näha, kas arv on paaritu, kontrollige tavaliselt pärast 2-ga jagamist, kas sellel on jääk. Kui jah, siis on see paaritu arv.
Kuigi Bard ei tuvastanud seda viga kuskil, tuvastas ChatGPT selle esimesel katsel. Proovisime veel nelja loogikaviga ja Bard suutis vea tuvastada ainult ühel juhul, samal ajal kui ChatGPT edastas järjepidevalt. Pärast süntaksivigadega koodile üleminekut suutis Google'i Bard sammu pidada, tuvastades need peaaegu kõigis esitatud näidistes.
Google'i Bard oskab silumist suhteliselt hästi, kuid anname selle võidu veel kord ChatGPT-le.
ChatGPT vs. Bard: Konteksti teadlikkus
Üks suurimaid väljakutseid AI-vestlusrobotite kasutamisel kodeerimiseks on nende suhteliselt piiratud kontekstiteadlikkus. Palud vestlusrotil kirjutada mingi kood ja siis veel... mööda joont unustab see täielikult, et järgmine asi, mida ta ehitab, on osa samast projektist.
Oletame näiteks, et loote AI-vestlusbotiga veebirakendust. Kästate tal kirjutada kood teie registreerimise ja sisselogimise HTML-lehe jaoks ning see teeb seda suurepäraselt. Ja siis, jätkates ehitamist, palute vestlusrotil luua sisselogimisloogika käsitlemiseks serveripoolne skript. See on lihtne ülesanne, kuid piiratud kontekstiteadlikkuse tõttu võib see lõppeda sisselogimisskripti genereerimisega uute muutujate ja nimetamisreeglitega, mis ei ühti ülejäänud koodiga.
Niisiis, milline vestlusbot säilitab paremini kontekstiteadlikkuse? Andsime mõlemale tööriistale sama programmeerimisülesande: vestlusrakendus, mida teame, et ChatGPT suudab juba luua.
Kahjuks ei saanud Bard lihtsalt rakendust lõpule viia, sest pärast seda, kui see mõnda aega jõude oli, kaotas see projekti konteksti jälgimise. Vaatamata samadele tingimustele, lõpetas ChatGPT rakenduse. Taaskord kontekstiteadlikkuse osas anname selle ChatGPT-le.
ChatGPT vs. Bard: Probleemide lahendamine
Praegusel hetkel on Google'i Bardil palju puudu. Kuid kas see võib lõpuks võita? Paneme proovile selle probleemide lahendamise võimed. Mõnikord on teil lihtsalt probleem, kuid te pole kindel, kuidas seda programmiliselt esitada, rääkimata sellest, kuidas seda lahendada.
Sellistes olukordades võivad AI-vestlusbotid, nagu Bard ja ChatGPT, üsna kasulikud olla. Kuid millisel vestlusrobotil on paremad probleemide lahendamise võimed? Palusime neil mõlemal "kirjutage JavaScripti kood, mis loendab, mitu korda konkreetne sõna tekstis esineb."
Bard vastas töötava koodiga, kuigi see ebaõnnestub, kui kirjavahemärgid on sõna lähedal või sõna esineb erinevatel juhtudel.
Me viskasime sama probleemi ChatGPT-s ja siin on tulemus:
ChatGPT kood kasutab tekstis esinevate sõnade loendamiseks tugevamat ja täpsemat lähenemisviisi. See arvestab sõnade piire ja tõstutundlikkust, käsitleb kirjavahemärke õigesti ja annab usaldusväärsemaid tulemusi. Jällegi, probleemide lahendamise osas anname selle ChatGPT-le.
Kuna Google Bard on kõigis võrdluses kasutatud mõõdikutes üsna palju kaotanud, otsustasime anda sellele võimaluse lunastada. Küsisime vestlusrobotilt "Kumb on kodeerimises parem? ChatGPT või Google Bard?"
Kuigi ta nõustus, et ChatGPT oli loomingulisem, ütles Bard, et tema konkurent teeb tõenäolisemalt vigu ja et ChatGPT tootis koodi, mis oli vähem tõhus, mitte hästi struktureeritud ja üldiselt vähem usaldusväärne. Peame eriarvamusele jääma!
ChatGPT on omaette liigas
Google'i Bard on nautinud palju reklaami, mistõttu võib üllatusena näha, kui palju tal võrreldes ChatGPT-ga puudu on. Kuigi ChatGPT-l oli ilmselgelt edumaa, võite arvata, et Google'i tohutud ressursid aitaksid tal seda eelist vähendada.
Nendest tulemustest hoolimata poleks mõistlik Bardi programmeerimisabivahendina maha kanda. Kuigi see pole nii võimas kui ChatGPT, on Bardil siiski märkimisväärne mõju ja see areneb kiires tempos. Arvestades Google'i ressursse, on Bardi kui väärilise rivaali esilekerkimine kindlasti aja küsimus.