Możliwości chatbotów AI szybko rosną. Ale czy potrafią już kodować i co jest lepsze w tym zadaniu?
Kiedy Google uruchomił Bard, swoją odpowiedź na ChatGPT OpenAI, brakowało mu funkcji, która była dość popularna wśród użytkowników ChatGPT: możliwości pisania kodu. Jednak zgodnie z powszechnym żądaniem Google dał Bardowi szansę na pisanie kodu w dziesiątkach języków programowania.
Od tego czasu Google głośno mówi o tym, jak dobrze Bard może pisać i debugować kod, ale jak to wypada w porównaniu z fenomenalnym ChatGPT? Dowiedzmy Się.
CzatGPT vs. Bard: Wsparcie językowe
Oficjalnie Bard Google może pracować z około 20 językami programowania. Składają się one głównie z popularnych, takich jak TypeScript, Python, C++, Go, Java, JavaScript i PHP. Nadal może obsługiwać mniej popularne opcje, takie jak Perl i Scala, ale niekoniecznie jest tak wydajny.
Z drugiej strony ChatGPT nie ma oficjalnej listy obsługiwanych języków. Chatbot może obsłużyć większość tego, co Bard może obsłużyć i dziesiątki innych. ChatGPT może pisać, debugować i wyjaśniać kod zarówno w nowszych, popularnych językach programowania, jak i
mniej popularne, starsze języki, takie jak Fortran, Pascal, BASIC i COBOL.Jednak wsparcie niekoniecznie oznacza biegłość. Wypróbowaliśmy kilka prostych zadań w wybranych językach, takich jak PHP, JavaScript, BASIC i C++. Zarówno Bard, jak i ChatGPT były w stanie dostarczyć popularne języki programowania, ale tylko ChatGPT był w stanie przekonująco połączyć programy w starszych językach. Więc jeśli chodzi o wsparcie językowe, dajemy zwycięstwo ChatGPT.
CzatGPT vs. Bard: Dokładność i jakość kodu
Załóżmy, że prosisz ChatGPT lub Bard o wygenerowanie fragmentu kodu, który coś robi, i wypluwa dziesiątki linii kodu w ciągu kilku sekund. Łatwe, prawda? Ale jak często ten kod będzie działał? Powiedzmy, że kod działa; jak dobry jest ten kod?
Aby porównać dokładność i jakość kodu generowanego przez dwa chatboty AI, zleciliśmy im wykonanie kilku zadań związanych z kodowaniem. Poprosiliśmy Barda i ChatGPT o wygenerowanie prostej aplikacji z listą rzeczy do zrobienia przy użyciu HTML, CSS i JavaScript. Po skopiowaniu i wklejeniu wygenerowanego kodu w przeglądarce aplikacja ChatGPT wyglądała tak:
Korzystając z wersji ChatGPT, możesz dodać nowe zadanie, usunąć zadanie lub oznaczyć zadanie jako ukończone. Google Bard był również w stanie wygenerować funkcjonalną aplikację z listą rzeczy do zrobienia. Możesz jednak tylko dodać zadanie, bez możliwości jego usunięcia lub oznaczenia jako ukończone. Interfejs Barda również wydawał się mniej atrakcyjny; oto jak to wyglądało:
Powtórzyliśmy test, tym razem prosząc oba chatboty o odtworzenie kart osi czasu na Twitterze. Oto wynik ChatGPT:
A oto, co wyprodukował Google Bard:
Oba wyniki mają swoje wady i zalety. Poszlibyśmy z wynikami Barda, gdyby miał przyciski polubienia, retweetowania i komentowania. Jednak dziwnie to pominęło, więc pozwolimy ci zdecydować, co jest lepsze. Oczywiście jakość kodu to nie tylko estetyka tego, co tworzy.
Analizując kod generowany przez oba chatboty, Bard wydawał się być bardziej zorientowany obiektowo, podczas gdy ChatGPT był bardziej proceduralny. Nasz wybór języka programowania mógł mieć na to wpływ, ale ChatGPT wydawał się pisać czystszy kod, gdy było to konieczne. Ma również tendencję do generowania bardziej kompletnych rozwiązań, zwykle prowadzących do większej liczby wierszy kodu.
Pod względem jakości wygenerowanego kodu tę rundę przyznajemy ChatGPT.
CzatGPT vs. Bard: debugowanie i wykrywanie błędów
Błędy i błędy są jak puzzle, których programiści uwielbiają nienawidzić. Doprowadzą cię do szału, ale naprawianie ich jest całkiem satysfakcjonujące. Więc kiedy napotkasz błędy w swoim kodzie, czy powinieneś zadzwonić do Bard lub ChatGPT o pomoc? Aby podjąć decyzję, daliśmy obu chatbotom AI dwa problemy z debugowaniem do rozwiązania.
Po pierwsze, poprosiliśmy oba chatboty o rozwiązanie błędu logicznego w kodzie PHP. Błędy logiczne są znacznie trudniejsze do wykrycia, ponieważ kod, który je zawiera, nie wygląda źle, po prostu nie robi tego, co zamierzał programista.
Kod na tym zrzucie ekranu działa, ale nie działa. Czy potrafisz dostrzec błąd logiczny? Poprosiliśmy o pomoc Google's Bard i niestety chatbot nie mógł wyłapać logicznego błędu w kodzie. Co ciekawe, Google Bard zazwyczaj ma trzy wersje robocze rozwiązania problemu, sprawdziliśmy wszystkie trzy wersje robocze i wszystkie były błędne.
Następnie poprosiliśmy o pomoc ChatGPT, który natychmiast wykrył błąd logiczny.
Skrypt PHP nie miał żadnych błędów składniowych, ale logika w to jest dziwne() funkcja była wsteczna. Aby sprawdzić, czy liczba jest nieparzysta, zwykle sprawdzasz, czy ma resztę z dzielenia przez 2. Jeśli tak, to jest to liczba nieparzysta.
Podczas gdy Bard nie był nawet w pobliżu zidentyfikowania tego błędu, ChatGPT wykrył go przy pierwszej próbie. Wypróbowaliśmy jeszcze cztery błędy logiczne i Bard był w stanie wychwycić błąd tylko w jednym przypadku, podczas gdy ChatGPT konsekwentnie działał. Po przejściu na kod z błędami składniowymi, Google Bard był w stanie nadążyć, identyfikując je w prawie wszystkich prezentowanych próbkach.
Google Bard jest stosunkowo dobry w debugowaniu, ale ponownie damy to zwycięstwo ChatGPT.
CzatGPT vs. Bard: Świadomość kontekstu
Jednym z największych wyzwań związanych z wykorzystaniem chatbotów AI do kodowania jest ich stosunkowo ograniczona świadomość kontekstu. Prosisz chatbota o napisanie kodu, potem trochę więcej... po drodze całkowicie zapomina, że następna rzecz, którą buduje, jest częścią tego samego projektu.
Załóżmy na przykład, że tworzysz aplikację internetową z chatbotem AI. Mówisz mu, aby napisał kod dla Twojej strony HTML do rejestracji i logowania, i robi to doskonale. A potem, w trakcie budowania, prosisz chatbota o wygenerowanie skryptu po stronie serwera do obsługi logiki logowania. Jest to proste zadanie, ale ze względu na ograniczoną świadomość kontekstu może skończyć się wygenerowaniem skryptu logowania z nowymi zmiennymi i konwencjami nazewnictwa, które nie pasują do reszty kodu.
Który chatbot lepiej zachowuje świadomość kontekstu? Obu narzędziom przypisaliśmy to samo zadanie programistyczne: aplikacja do czatu, o której wiemy, że ChatGPT może już zbudować.
Niestety, Bard po prostu nie mógł ukończyć aplikacji, ponieważ stracił orientację w kontekście projektu po pewnym czasie bezczynności. Pomimo podlegania tym samym warunkom, ChatGPT ukończył aplikację. Po raz kolejny, jeśli chodzi o świadomość kontekstu, oddajemy ją ChatGPT.
CzatGPT vs. Bard: Rozwiązywanie problemów
W tym momencie Google's Bard brakuje na wiele sposobów. Ale czy w końcu może odnieść zwycięstwo? Sprawdźmy jego zdolność rozwiązywania problemów. Czasami po prostu masz problem, ale nie wiesz, jak go przedstawić programowo, nie mówiąc już o tym, jak go rozwiązać.
W takich sytuacjach chatboty AI, takie jak Bard i ChatGPT, mogą się bardzo przydać. Ale który chatbot ma lepsze możliwości rozwiązywania problemów? Poprosiliśmy ich obu o „napisz kod JavaScript, który zlicza, ile razy dane słowo pojawia się w tekście."
Bard odpowiedział działającym kodem, chociaż zawodzi, gdy znaki interpunkcyjne są blisko słowa lub słowo pojawia się w różnych przypadkach.
Zgłosiliśmy ten sam problem w ChatGPT i oto wynik:
Kod ChatGPT ma solidniejsze i dokładniejsze podejście do liczenia wystąpień słów w tekście. Uwzględnia granice wyrazów i uwzględnia wielkość liter, prawidłowo obsługuje znaki interpunkcyjne i zapewnia bardziej wiarygodne wyniki. Po raz kolejny, jeśli chodzi o rozwiązywanie problemów, oddajemy go ChatGPT.
Ponieważ Google Bard stracił prawie wszystkie dane, których użyliśmy do porównania, postanowiliśmy dać mu szansę na odkupienie. Zapytaliśmy chatbota „Co jest lepsze w kodowaniu? ChatGPT czy Google Bard?"
Chociaż zgodzili się, że ChatGPT jest bardziej kreatywny, Bard powiedział, że jego konkurent jest bardziej skłonny do popełniania błędów i że ChatGPT stworzył kod, który był mniej wydajny, nie miał dobrze zorganizowanej i ogólnie był mniej niezawodny. Musimy się nie zgodzić!
ChatGPT jest w swojej własnej lidze
Google Bard cieszy się dużym zainteresowaniem, więc zaskoczeniem może być to, jak bardzo brakuje mu w porównaniu z ChatGPT. Podczas gdy ChatGPT wyraźnie miał przewagę na starcie, można by pomyśleć, że ogromne zasoby Google pomogłyby mu osłabić tę przewagę.
Pomimo tych wyników nierozsądne byłoby spisanie Barda jako pomocy programistycznej. Chociaż nie jest tak potężny jak ChatGPT, Bard wciąż ma znaczący cios i ewoluuje w szybkim tempie. Biorąc pod uwagę zasoby Google, pojawienie się Barda jako godnego rywala jest z pewnością kwestią czasu.