Možnosti AI chatbotov rýchlo rastú. Ale môžu ešte kódovať a čo je v tejto úlohe lepšie?

Keď Google spustil Bard, svoju odpoveď na ChatGPT OpenAI, chýbala mu funkcia, ktorá bola u používateľov ChatGPT celkom obľúbená: schopnosť písať kód. Na základe populárneho dopytu však Google dal Bardovi šancu na písanie kódu v desiatkach programovacích jazykov.

Google odvtedy hovoril o tom, ako dobre dokáže Bard písať a ladiť kód, ale ako je to v porovnaní s fenomenálnym ChatGPT? Poďme zistiť.

ChatGPT vs. Bard: Jazyková podpora

Oficiálne môže Bard od Google pracovať s približne 20 programovacími jazykmi. Pozostávajú väčšinou z populárnych ako Typescript, Python, C++, Go, Java, JavaScript a PHP. Stále dokáže zvládnuť menej populárne možnosti ako Perl a Scala, ale nie je nevyhnutne tak efektívny.

ChatGPT na druhej strane nemá oficiálny zoznam podporovaných jazykov. Chatbot zvládne väčšinu toho, čo Bard a desiatky ďalších. ChatGPT dokáže písať, ladiť a vysvetľovať kód v novších, populárnych programovacích jazykoch a menej populárne, staršie jazyky ako Fortran, Pascal, BASIC a COBOL.

instagram viewer

Podpora však nemusí nevyhnutne znamenať odbornosť. Vyskúšali sme niekoľko jednoduchých úloh vo vybraných jazykoch ako PHP, JavaScript, BASIC a C++. Bard aj ChatGPT dokázali poskytnúť populárne programovacie jazyky, ale iba ChatGPT dokázal presvedčivo spojiť programy v starších jazykoch. Takže pokiaľ ide o jazykovú podporu, vyhrávame ChatGPT.

ChatGPT vs. Bard: Presnosť a kvalita kódu

Povedzme, že požiadate ChatGPT alebo Barda, aby vygeneroval kúsok kódu, ktorý niečo robí, a ten za pár sekúnd vypľuje desiatky riadkov kódu. Ľahké, však? Ale ako často bude tento kód fungovať? Povedzme, že kód funguje; aký dobrý je ten kód?

Aby sme porovnali presnosť a kvalitu kódu generovaného dvoma chatbotmi AI, dali sme obom niekoľko úloh kódovania. Požiadali sme Barda a ChatGPT, aby vytvorili jednoduchú aplikáciu so zoznamom úloh pomocou HTML, CSS a JavaScriptu. Po skopírovaní, vložení a zobrazení vygenerovaného kódu v prehliadači vyzerala aplikácia ChatGPT takto:

Pomocou verzie ChatGPT môžete pridať novú úlohu, odstrániť úlohu alebo označiť úlohu ako dokončenú. Bard od Google tiež dokázal vygenerovať funkčnú aplikáciu so zoznamom úloh. Úlohu však môžete iba pridať bez toho, aby ste ju odstránili alebo označili ako dokončenú. Bardove rozhranie sa tiež zdalo menej príťažlivé; takto to vyzeralo:

Test sme zopakovali a tentoraz sme oboch chatbotov požiadali, aby znovu vytvorili karty časovej osi Twitteru. Tu je výsledok ChatGPT:

A tu je to, čo vytvoril Bard spoločnosti Google:

Oba výsledky majú svoje pre a proti. Išli by sme s Bardovými výsledkami, ak by obsahoval tlačidlá páči sa mi, retweet a komentár. Tie však kupodivu vynechal, takže necháme vás rozhodnúť sa, čo je lepšie. Samozrejme, kvalita kódu nie je len o estetike toho, čo produkuje.

Pri analýze kódu generovaného oboma chatbotmi sa Bard zdal byť viac objektovo orientovaný, zatiaľ čo ChatGPT bol viac procedurálny. Náš výber programovacieho jazyka by to mohol ovplyvniť, ale zdá sa, že ChatGPT napísal čistejší kód, keď to bolo potrebné. Má tiež tendenciu generovať úplnejšie riešenia, čo zvyčajne vedie k väčšiemu počtu riadkov kódu.

Z hľadiska kvality generovaného kódu udeľujeme toto kolo ChatGPT.

ChatGPT vs. Bard: Ladenie a detekcia chýb

Chyby a chyby sú ako hádanky, ktoré programátori radi nenávidia. Privedú vás do šialenstva, ale ich oprava je celkom uspokojivá. Takže keď narazíte na chyby vo svojom kóde, mali by ste požiadať o pomoc Barda alebo ChatGPT? Aby sme sa rozhodli, dali sme obom chatbotom AI na vyriešenie dva problémy s ladením.

Po prvé, vyzvali sme oboch chatbotov, aby vyriešili logickú chybu v kóde PHP. Logické chyby je notoricky ťažšie odhaliť, pretože kód, ktorý ich obsahuje, nevyzerá zle, jednoducho nerobí to, čo programátor zamýšľal.

Kód na tejto snímke obrazovky beží, ale nefunguje. Dokážete nájsť logickú chybu? Požiadali sme o pomoc Barda z Google a žiaľ, chatbot nedokázal nájsť logickú chybu v kóde. Je zaujímavé, že Bard od Google má zvyčajne tri pokusy o vyriešenie problému, skontrolovali sme všetky tri návrhy a všetky boli nesprávne.

Potom sme požiadali o pomoc ChatGPT, ktorý okamžite zistil logickú chybu.

PHP skript nemal žiadne syntaktické chyby, ale logika v isOdd() funkcia bola spätná. Ak chcete zistiť, či je číslo nepárne, po delení 2 by ste zvyčajne skontrolovali, či má zvyšok. Ak áno, je to nepárne číslo.

Zatiaľ čo Bard nebol ani zďaleka identifikovaný túto chybu, ChatGPT ju zachytil na prvý pokus. Vyskúšali sme štyri ďalšie logické chyby a Bard bol schopný nájsť chybu iba v jednom prípade, zatiaľ čo ChatGPT dôsledne doručoval. Po prechode na kód so syntaktickými chybami dokázal Bard z Google držať krok a identifikoval ich takmer vo všetkých prezentovaných vzorkách.

Bard od Google je v ladení relatívne dobrý, no túto výhru dáme ešte raz ChatGPT.

ChatGPT vs. Bard: Uvedomenie si kontextu

Jednou z najväčších výziev pri používaní AI chatbotov na kódovanie je ich relatívne obmedzené povedomie o kontexte. Požiadate chatbota, aby napísal nejaký kód, potom ďalší... pozdĺž línie úplne zabudne, že ďalšia vec, ktorú stavia, je súčasťou toho istého projektu.

Povedzme napríklad, že vytvárate webovú aplikáciu s chatbotom AI. Poviete mu, aby napísal kód pre vašu registračnú a prihlasovaciu stránku HTML a robí to perfektne. A potom, ako budete pokračovať v budovaní, požiadate chatbota, aby vygeneroval skript na strane servera na spracovanie logiky prihlásenia. Je to jednoduchá úloha, ale z dôvodu obmedzeného povedomia o kontexte by to mohlo skončiť vygenerovaním prihlasovacieho skriptu s novými premennými a konvenciami pomenovania, ktoré sa nezhodujú so zvyškom kódu.

Ktorý chatbot je teda lepší v udržiavaní povedomia o kontexte? Obom nástrojom sme dali rovnakú programovaciu úlohu: chatovú aplikáciu, o ktorej vieme, že ChatGPT už dokáže vytvoriť.

Bohužiaľ, Bard jednoducho nemohol dokončiť aplikáciu, pretože stratil prehľad o kontexte projektu po tom, čo bol nejaký čas nečinný. Napriek tomu, že sa na ňu vzťahujú rovnaké podmienky, ChatGPT dokončil aplikáciu. Ešte raz, pokiaľ ide o povedomie o kontexte, dávame to ChatGPT.

ChatGPT vs. Bard: Riešenie problémov

V tejto chvíli chýba Bard od Googlu v mnohých smeroch. Dokáže však konečne vyhrať? Otestujme jeho schopnosti riešiť problémy. Niekedy máte problém, ale nie ste si istí, ako ho programovo reprezentovať, nieto ako ho vyriešiť.

V takýchto situáciách sa môžu hodiť chatboty s umelou inteligenciou ako Bard a ChatGPT. Ale ktorý chatbot má lepšie schopnosti riešiť problémy? Požiadali sme ich oboch, aby „napíšte kód JavaScript, ktorý spočíta, koľkokrát sa konkrétne slovo objaví v texte."

Bard odpovedal funkčným kódom, hoci zlyhá, keď sú interpunkčné znamienka blízko slova alebo sa slovo vyskytuje v rôznych prípadoch.

Rovnaký problém sme vyhodili na ChatGPT a tu je výsledok:

Kód ChatGPT využíva robustnejší a presnejší prístup k počítaniu výskytov slov v texte. Zohľadňuje hranice slov a rozlišovanie malých a veľkých písmen, správne zaobchádza s interpunkciou a poskytuje spoľahlivejšie výsledky. Ešte raz, pokiaľ ide o riešenie problémov, dávame to ChatGPT.

Keďže Google Bard takmer stratil všetky metriky, ktoré sme použili na porovnanie, rozhodli sme sa dať mu šancu na uplatnenie. Spýtali sme sa chatbota"Čo je lepšie v kódovaní? ChatGPT alebo Google Bard?"

Hoci sa zhodla, že ChatGPT je kreatívnejší, Bard povedal, že jeho konkurent s väčšou pravdepodobnosťou urobí chyby a že ChatGPT produkoval kód, ktorý bol menej efektívny, nebol dobre štruktúrovaný a bol vo všeobecnosti nižší spoľahlivý. Musíme nesúhlasiť!

ChatGPT je vo vlastnej lige

Bard od Google si užil veľa humbuku, takže môže byť prekvapením, koľko mu chýba v porovnaní s ChatGPT. Zatiaľ čo ChatGPT mal jednoznačne náskok, možno si myslíte, že obrovské zdroje Google by mu pomohli túto výhodu narušiť.

Napriek týmto výsledkom by nebolo rozumné odpísať Barda ako pomôcku pri programovaní. Hoci to nie je také silné ako ChatGPT, Bard má stále výrazný úder a vyvíja sa rýchlym tempom. Vzhľadom na zdroje spoločnosti Google je objavenie sa Barda ako dôstojného súpera určite otázkou času.