Schopnosti AI chatbotů rychle rostou. Ale umí ještě kódovat a kdo je v tomto úkolu lepší?
Když Google spustil Bard, svou odpověď na ChatGPT OpenAI, postrádal funkci, která byla u uživatelů ChatGPT docela oblíbená: schopnost psát kód. Na základě populární poptávky však Google dal Bardovi šanci a umožnil mu psát kód v desítkách programovacích jazyků.
Google od té doby mluví o tom, jak dobře Bard umí psát a ladit kód, ale jak je na tom ve srovnání s fenomenálním ChatGPT? Pojďme to zjistit.
ChatGPT vs. Bard: Jazyková podpora
Oficiálně může Bard od Googlu pracovat s přibližně 20 programovacími jazyky. Skládají se většinou z populárních, jako jsou Typescript, Python, C++, Go, Java, JavaScript a PHP. Stále si poradí s méně oblíbenými možnostmi jako Perl a Scala, ale není nutně tak efektivní.
ChatGPT na druhé straně nemá oficiální seznam podporovaných jazyků. Chatbot zvládne většinu toho, co Bard, a desítky dalších. ChatGPT umí psát, ladit a vysvětlovat kód v obou novějších, populárních programovacích jazycích a méně populární, starší jazyky jako Fortran, Pascal, BASIC a COBOL.
Podpora však nutně neznamená odbornost. Vyzkoušeli jsme několik jednoduchých úloh ve vybraných jazycích, jako je PHP, JavaScript, BASIC a C++. Jak Bard, tak ChatGPT byli schopni poskytnout populární programovací jazyky, ale pouze ChatGPT byl schopen přesvědčivě spojit programy ve starších jazycích. Pokud jde o jazykovou podporu, vyhráváme ChatGPT.
ChatGPT vs. Bard: Přesnost a kvalita kódu
Řekněme, že požádáte ChatGPT nebo Barda, aby vygeneroval kus kódu, který něco dělá, a ten během sekund vyplivne desítky řádků kódu. Snadné, že? Ale jak často bude tento kód fungovat? Řekněme, že kód funguje; jak dobrý je ten kód?
Abychom porovnali přesnost a kvalitu kódu generovaného dvěma chatboty s umělou inteligencí, dali jsme oběma k dokončení několik kódovacích úkolů. Požádali jsme Barda a ChatGPT, aby vygenerovali jednoduchou aplikaci se seznamem úkolů pomocí HTML, CSS a JavaScriptu. Po zkopírování a vložení a zobrazení vygenerovaného kódu v prohlížeči vypadala aplikace ChatGPT takto:
Pomocí verze ChatGPT můžete přidat nový úkol, odstranit úkol nebo označit úkol jako dokončený. Bard od Googlu také dokázal vygenerovat funkční aplikaci se seznamem úkolů. Úkol však můžete pouze přidat, aniž byste jej mohli smazat nebo označit jako dokončený. Bardovo rozhraní se také zdálo méně přitažlivé; takhle to vypadalo:
Zopakovali jsme test, tentokrát jsme oba chatboty požádali, aby znovu vytvořili karty časové osy Twitteru. Zde je výsledek ChatGPT:
A zde je to, co vytvořil Bard společnosti Google:
Oba výsledky mají svá pro a proti. Přišli bychom s Bardovými výsledky, kdyby měl tlačítka lajk, retweet a komentář. Ty však kupodivu vynechal, takže necháme vás, abyste se rozhodli, co je lepší. Kvalita kódu samozřejmě není jen o estetice toho, co produkuje.
Při analýze kódu generovaného oběma chatboty se zdálo, že Bard's je více objektově orientovaný, zatímco ChatGPT's byl více procedurální. Náš výběr programovacího jazyka to mohl ovlivnit, ale zdálo se, že ChatGPT píše čistší kód, když je to nutné. Má také tendenci generovat úplnější řešení, což obvykle vede k většímu počtu řádků kódu.
Z hlediska kvality generovaného kódu udělujeme toto kolo ChatGPT.
ChatGPT vs. Bard: Ladění a detekce chyb
Chyby a chyby jsou jako hádanky, které programátoři rádi nenávidí. Přivedou vás k šílenství, ale jejich oprava je docela uspokojivá. Takže když narazíte na chyby ve svém kódu, měli byste zavolat na Barda nebo ChatGPT o pomoc? Abychom se rozhodli, dali jsme oběma chatbotům AI k vyřešení dva problémy s laděním.
Nejprve jsme oba chatboty vyzvali, aby vyřešili logickou chybu v kódu PHP. Logické chyby je notoricky těžší odhalit, protože kód, který je obsahuje, nevypadá špatně, prostě nedělá to, co programátor zamýšlel.
Kód na tomto snímku obrazovky běží, ale nefunguje. Dokážete najít logickou chybu? Požádali jsme o pomoc Barda z Googlu a chatbot bohužel nedokázal rozpoznat logickou chybu v kódu. Je zajímavé, že Bard společnosti Google má obvykle tři pokusy o řešení problému, zkontrolovali jsme všechny tři návrhy a všechny byly špatné.
Poté jsme požádali ChatGPT o pomoc a ten okamžitě odhalil logickou chybu.
PHP skript neměl žádné syntaktické chyby, ale logika v isOdd() funkce byla zpětná. Chcete-li zjistit, zda je číslo liché, obvykle byste po dělení 2 zkontrolovali, zda má zbytek. Pokud ano, je to liché číslo.
Zatímco Bard tuto chybu ani zdaleka neidentifikoval, ChatGPT ji zachytil na první pokus. Vyzkoušeli jsme další čtyři logické chyby a Bard byl schopen najít chybu pouze v jednom případě, zatímco ChatGPT konzistentně doručoval. Po přechodu na kód se syntaktickými chybami dokázal Bard od Googlu držet krok a identifikoval je téměř ve všech prezentovaných ukázkách.
Bard od Googlu je v ladění relativně dobrý, ale tuto výhru dáme ještě jednou ChatGPT.
ChatGPT vs. Bard: Kontextové povědomí
Jednou z největších výzev při používání AI chatbotů pro kódování je jejich relativně omezené povědomí o kontextu. Požádáte chatbota, aby napsal nějaký kód, pak další... podél linie úplně zapomene, že další věc, kterou staví, je součástí stejného projektu.
Řekněme například, že vytváříte webovou aplikaci s chatbotem AI. Řeknete mu, aby napsal kód pro vaši registrační a přihlašovací HTML stránku, a dělá to perfektně. A pak, jak pokračujete v budování, požádáte chatbota, aby vygeneroval skript na straně serveru pro zpracování logiky přihlášení. Toto je jednoduchý úkol, ale kvůli omezenému povědomí o kontextu by to mohlo skončit vygenerováním přihlašovacího skriptu s novými proměnnými a konvencemi pojmenování, které neodpovídají zbytku kódu.
Který chatbot je tedy lepší v udržení povědomí o kontextu? Oběma nástrojům jsme zadali stejný programovací úkol: chatovací aplikace, o které víme, že ChatGPT již dokáže vytvořit.
Bohužel Bard jednoduše nemohl dokončit aplikaci, protože ztratila přehled o kontextu projektu poté, co byl nějakou dobu nečinný. Přestože ChatGPT podléhá stejným podmínkám, dokončil aplikaci. Ještě jednou, pokud jde o povědomí o kontextu, dáváme to ChatGPT.
ChatGPT vs. Bard: Řešení problémů
V tuto chvíli chybí Bard od Googlu v mnoha ohledech. Dokáže ale nakonec vyhrát? Vyzkoušejme jeho schopnosti řešit problémy. Někdy prostě máte problém, ale nejste si jisti, jak jej programově reprezentovat, natož jak jej vyřešit.
Situace, jako je tato, jsou situace, kdy se AI chatboti jako Bard a ChatGPT mohou hodit. Ale který chatbot má lepší schopnosti řešit problémy? Požádali jsme je oba, aby „napsat kód JavaScript, který spočítá, kolikrát se určité slovo objeví v textu."
Bard odpověděl funkčním kódem, i když selže, když jsou interpunkční znaménka blízko slova nebo se slovo vyskytuje v různých případech.
Stejný problém jsme vyhodili na ChatGPT a zde je výsledek:
Kód ChatGPT využívá robustnější a přesnější přístup k počítání výskytů slov v textu. Zvažuje hranice slov a rozlišování malých a velkých písmen, správně zachází s interpunkcí a poskytuje spolehlivější výsledky. Ještě jednou, pokud jde o řešení problémů, dáváme to ChatGPT.
Vzhledem k tomu, že Google Bard do značné míry prohrál ve všech metrikách, které jsme použili pro srovnání, rozhodli jsme se dát mu šanci na uplatnění. Zeptali jsme se chatbota"Co je lepší v kódování? ChatGPT nebo Google Bard?"
I když souhlasil, že ChatGPT je kreativnější, Bard řekl, že jeho konkurent častěji chybuje a že ChatGPT produkoval kód, který byl méně efektivní, špatně strukturovaný a byl obecně méně spolehlivý. Musíme nesouhlasit!
ChatGPT je ve své vlastní lize
Bard od Googlu si užil spoustu humbuku, takže může být překvapením, jak moc mu chybí ve srovnání s ChatGPT. Zatímco ChatGPT měl zjevně náskok, možná si myslíte, že obrovské zdroje Googlu by mu pomohly tuto výhodu narušit.
Navzdory těmto výsledkům by nebylo moudré Barda odepsat jako pomůcku při programování. Ačkoli to není tak silné jako ChatGPT, Bard má stále výrazný úder a vyvíjí se rychlým tempem. Vzhledem ke zdrojům společnosti Google je vznik Barda jako důstojného soupeře jistě otázkou času.