AI-chatbottien ominaisuudet kasvavat nopeasti. Mutta osaavatko he vielä koodata, ja kumpi on tehtävässä parempi?
Kun Google julkaisi Bardin, vastauksensa OpenAI: n ChatGPT: hen, siitä puuttui ominaisuus, joka oli varsin suosittu ChatGPT-käyttäjien keskuudessa: kyky kirjoittaa koodia. Yleisön pyynnöstä Google kuitenkin antoi Bardille mahdollisuuden kirjoittaa koodia kymmenillä ohjelmointikielillä.
Google on sittemmin puhunut siitä, kuinka hyvin Bard osaa kirjoittaa ja korjata koodia, mutta miten se eroaa ilmiömäisestä ChatGPT: stä? Otetaan selvää.
ChatGPT vs. Bard: Kielituki
Virallisesti Googlen Bard voi toimia noin 20 ohjelmointikielen kanssa. Nämä koostuvat enimmäkseen suosituista, kuten Typescript, Python, C++, Go, Java, JavaScript ja PHP. Se voi silti käsitellä vähemmän suosittuja vaihtoehtoja, kuten Perl ja Scala, mutta se ei välttämättä ole yhtä tehokas.
ChatGPT: llä ei toisaalta ole virallista luetteloa tuetuista kielistä. Chatbot pystyy käsittelemään suurimman osan siitä, mitä Bard pystyy käsittelemään, ja kymmeniä muita. ChatGPT voi kirjoittaa, korjata ja selittää koodia sekä uudemmilla, suosituilla ohjelmointikielillä että
vähemmän suosittuja, vanhoja kieliä, kuten Fortran, Pascal, BASIC ja COBOL.Tuki ei kuitenkaan välttämättä tarkoita pätevyyttä. Kokeilimme joitain yksinkertaisia tehtäviä valituilla kielillä, kuten PHP, JavaScript, BASIC ja C++. Sekä Bard että ChatGPT pystyivät toimittamaan suosittuja ohjelmointikieliä, mutta vain ChatGPT pystyi yhdistämään vakuuttavasti ohjelmia vanhemmilla kielillä. Joten kielituen suhteen annamme voiton ChatGPT: lle.
ChatGPT vs. Bard: Tarkkuus ja koodin laatu
Oletetaan, että pyydät ChatGPT: tä tai Bardia luomaan koodinpalan, joka tekee jotain, ja se sylkee kymmeniä koodirivejä sekunneissa. Helppoa, eikö? Mutta kuinka usein tämä koodi toimii? Oletetaan, että koodi toimii; kuinka hyvä tuo koodi on?
Kahden AI-chatbotin luoman koodin tarkkuuden ja laadun vertaamiseksi annoimme molemmille koodaustehtäviä suoritettavaksi. Pyysimme Bardia ja ChatGPT: tä luomaan yksinkertaisen tehtävälistasovelluksen HTML: n, CSS: n ja JavaScriptin avulla. Kopioimisen ja luodun koodin katselun jälkeen selaimessa ChatGPT: n sovellus näytti tältä:
ChatGPT: n versiolla voit lisätä uuden tehtävän, poistaa tehtävän tai merkitä tehtävän valmiiksi. Googlen Bard pystyi myös luomaan toimivan tehtävälistasovelluksen. Voit kuitenkin lisätä vain tehtävän ilman, että voit poistaa tai merkitä sitä valmiiksi. Bardin käyttöliittymä vaikutti myös vähemmän houkuttelevalta; tältä se näytti:
Toistimme testin ja pyysimme tällä kertaa molempia chatbotteja luomaan Twitter-aikajanakortit uudelleen. Tässä ChatGPT: n tulos:
Ja tässä on mitä Googlen Bard tuotti:
Molemmilla tuloksilla on hyvät ja huonot puolensa. Olisimme menneet Bardin tuloksiin, jos siinä olisi tykkäys-, uudelleentwiittaus- ja kommenttipainikkeet. Se kuitenkin jätti ne pois, joten annamme sinun päättää, kumpi on parempi. Koodin laatu ei tietenkään riipu pelkästään sen tuottaman esteettisyydestä.
Kun analysoitiin molempien chatbottien luomaa koodia, Bardin näytti olevan oliokeskeisempi, kun taas ChatGPT: n oli proseduuraalisempi. Ohjelmointikielen valintamme saattoi vaikuttaa tähän, mutta ChatGPT näytti kirjoittavan tarvittaessa puhtaampaa koodia. Se pyrkii myös luomaan täydellisempiä ratkaisuja, mikä yleensä johtaa useampaan koodiriviin.
Luodun koodin laadun perusteella myönnämme tämän kierroksen ChatGPT: lle.
ChatGPT vs. Bard: Vianetsintä ja virheiden havaitseminen
Virheet ja bugit ovat kuin pulmia, joita ohjelmoijat rakastavat vihata. Ne saavat sinut hulluksi, mutta niiden korjaaminen on varsin tyydyttävää. Joten kun törmäät virheisiin koodissasi, kannattaako soittaa Bardille tai ChatGPT: lle apua? Päättämistä varten annoimme molemmille AI-chatboteille kaksi virheenkorjausongelmaa ratkaistavaksi.
Ensinnäkin kehotimme molempia chatbotteja ratkaisemaan loogisen virheen PHP-koodissa. Logiikkavirheet on tunnetusti vaikeampi havaita, koska ne sisältävä koodi ei näytä väärältä, se ei vain tee ohjelmoijan tarkoittamaa.
Tämän kuvakaappauksen koodi toimii, mutta se ei toimi. Löydätkö loogisen virheen? Pyysimme Googlen Bardilta apua, ja valitettavasti chatbot ei voinut poimia koodin loogista virhettä. Mielenkiintoista on, että Googlen Bardilla on yleensä kolme luonnosyritystä ongelman ratkaisemiseksi. Tarkistimme kaikki kolme luonnosta ja ne olivat kaikki väärin.
Pyysimme sitten ChatGPT: tä apua, ja se havaitsi heti loogisen virheen.
PHP-skriptissä ei ollut syntaksivirheitä, mutta sen logiikka onOdd() toiminto oli taaksepäin. Jos haluat nähdä, onko luku pariton, tarkista yleensä, onko siinä jäännöstä kahdella jakamisen jälkeen. Jos on, se on pariton luku.
Vaikka Bard ei ollut lähelläkään tunnistaa tätä vikaa, ChatGPT havaitsi sen ensimmäisellä yrityksellä. Yritimme neljää muuta loogista virhettä, ja Bard pystyi poimimaan virheen vain yhdessä tapauksessa, kun ChatGPT toimitti jatkuvasti. Vaihdettuaan koodiin, jossa oli syntaksivirheitä, Googlen Bard pystyi pysymään perässä ja tunnisti ne lähes kaikista esitetyistä näytteistä.
Googlen Bard on suhteellisen hyvä virheenkorjauksessa, mutta annamme tämän voiton jälleen ChatGPT: lle.
ChatGPT vs. Bard: Kontekstitietoisuus
Yksi suurimmista haasteista tekoäly-chatbottien käytössä koodaamiseen on niiden suhteellisen rajallinen kontekstitietoisuus. Pyydät chatbotia kirjoittamaan koodin, sitten lisää... samalla linjalla se unohtaa kokonaan, että seuraava rakennettava asia on osa samaa projektia.
Oletetaan esimerkiksi, että olet rakentamassa verkkosovellusta tekoäly-chatbotilla. Pyydät sitä kirjoittamaan koodin rekisteröinti- ja kirjautumissivullesi, ja se tekee sen täydellisesti. Ja sitten, kun jatkat rakentamista, pyydät chatbotia luomaan palvelinpuolen komentosarjan, joka käsittelee kirjautumislogiikkaa. Tämä on yksinkertainen tehtävä, mutta rajallisen kontekstitietoisuuden vuoksi se voi päätyä luomaan kirjautumiskomentosarjan uusilla muuttujilla ja nimeämiskäytännöillä, jotka eivät vastaa muuta koodia.
Joten mikä chatbot säilyttää paremmin kontekstitietoisuuden? Annoimme molemmille työkaluille saman ohjelmointitehtävän: chat-sovellus, jonka tiedämme ChatGPT: n jo pystyvän rakentamaan.
Valitettavasti Bard ei yksinkertaisesti voinut viimeistellä sovellusta, koska se menetti käsityksen projektin kontekstista, kun se oli ollut käyttämättömänä jonkin aikaa. Huolimatta samoista ehdoista ChatGPT viimeisteli sovelluksen. Jälleen kerran kontekstitietoisuuden kannalta annamme sen ChatGPT: lle.
ChatGPT vs. Bard: Ongelmanratkaisu
Tässä vaiheessa Googlen Bardista puuttuu monia tapoja. Mutta voiko se lopulta voittaa? Testataan sen ongelmanratkaisukykyä. Joskus sinulla on vain ongelma, mutta et ole varma, kuinka se esitetään ohjelmallisesti, saati kuinka ratkaista se.
Tällaisissa tilanteissa AI-chatbotit, kuten Bard ja ChatGPT, voivat olla varsin hyödyllisiä. Mutta millä chatbotilla on paremmat ongelmanratkaisukyvyt? Pyysimme heitä molempia "Kirjoita JavaScript-koodi, joka laskee, kuinka monta kertaa tietty sana esiintyy tekstissä."
Bard vastasi toimivalla koodilla, vaikka se epäonnistuu, kun välimerkit ovat lähellä sanaa tai sana esiintyy eri tapauksissa.
Esitimme saman ongelman ChatGPT: ssä ja tässä on tulos:
ChatGPT: n koodi käyttää vankkaampaa ja tarkempaa lähestymistapaa tekstissä esiintyvien sanojen laskemiseen. Se ottaa huomioon sanan rajat ja isojen kirjainten erottelun, käsittelee välimerkit oikein ja antaa luotettavampia tuloksia. Jälleen kerran, ongelmanratkaisun kannalta annamme sen ChatGPT: lle.
Koska Google Bard on hävinnyt melko paljon jokaisessa vertailussa käyttämässämme mittarissa, päätimme antaa sille mahdollisuuden lunastamiseen. Kysyimme chatbotilta"Kumpi on parempi koodaamassa? ChatGPT vai Google Bard?"
Vaikka se oli samaa mieltä siitä, että ChatGPT oli luovempi, Bard sanoi, että sen kilpailija teki todennäköisemmin virheitä ja että ChatGPT tuotti koodia, joka oli vähemmän tehokas, huonosti jäsennelty ja yleensä vähemmän luotettava. Meidän täytyy olla eri mieltä!
ChatGPT on omassa sarjassaan
Googlen Bard on nauttinut paljon hypetystä, joten voi olla yllättävää nähdä kuinka paljon se puuttuu ChatGPT: hen verrattuna. Vaikka ChatGPT: llä oli selvästi etumatka, saatat ajatella, että Googlen valtavat resurssit auttaisivat sitä heikentämään tätä etua.
Näistä tuloksista huolimatta ei olisi viisasta kirjoittaa Bardia ohjelmointiapuvälineeksi. Vaikka se ei ole yhtä tehokas kuin ChatGPT, Bardilla on silti merkittävä vaikutus ja se kehittyy nopeasti. Kun otetaan huomioon Googlen resurssit, Bardin nouseminen arvokkaaksi kilpailijaksi on varmasti ajan kysymys.