Die Fähigkeiten von KI-Chatbots wachsen rasant. Aber können sie schon programmieren und wer ist für diese Aufgabe besser geeignet?

Als Google Bard, seine Antwort auf ChatGPT von OpenAI, auf den Markt brachte, fehlte ihm eine Funktion, die bei ChatGPT-Benutzern sehr beliebt war: die Möglichkeit, Code zu schreiben. Auf vielfachen Wunsch gab Google Bard jedoch eine Chance und ermöglichte es ihm, Code in Dutzenden von Programmiersprachen zu schreiben.

Google hat seitdem lautstark betont, wie gut Bard Code schreiben und debuggen kann, aber wie schneidet es im Vergleich zum phänomenalen ChatGPT ab? Lass es uns herausfinden.

ChatGPT vs. Barde: Sprachunterstützung

Offiziell kann Googles Bard mit rund 20 Programmiersprachen arbeiten. Dabei handelt es sich hauptsächlich um beliebte Methoden wie Typescript, Python, C++, Go, Java, JavaScript und PHP. Es kann immer noch mit weniger beliebten Optionen wie Perl und Scala umgehen, ist aber nicht unbedingt so effizient.

ChatGPT hingegen verfügt nicht über eine offizielle Liste der unterstützten Sprachen. Der Chatbot kann das meiste, was Bard kann, und Dutzende mehr bewältigen. ChatGPT kann Code sowohl in neueren, gängigen Programmiersprachen als auch schreiben, debuggen und erklären

instagram viewer
weniger beliebte Legacy-Sprachen wie Fortran, Pascal, BASIC und COBOL.

Allerdings bedeutet Unterstützung nicht unbedingt Kompetenz. Wir haben einige einfache Aufgaben in ausgewählten Sprachen wie PHP, JavaScript, BASIC und C++ ausprobiert. Sowohl Bard als auch ChatGPT waren in der Lage, die gängigen Programmiersprachen zu liefern, aber nur ChatGPT war in der Lage, Programme in älteren Sprachen überzeugend aneinanderzureihen. Was die Sprachunterstützung betrifft, geben wir ChatGPT den Sieg.

ChatGPT vs. Bard: Genauigkeit und Codequalität

Nehmen wir an, Sie bitten ChatGPT oder Bard, einen Code zu generieren, der etwas tut, und dieser spuckt in Sekundenschnelle Dutzende Codezeilen aus. Einfach richtig? Aber wie oft wird dieser Code funktionieren? Nehmen wir an, der Code funktioniert; Wie gut ist dieser Code?

Um die Genauigkeit und Qualität des von den beiden KI-Chatbots generierten Codes zu vergleichen, haben wir beiden einige Programmieraufgaben übertragen. Wir haben Bard und ChatGPT gebeten, eine einfache To-Do-Listen-App mit HTML, CSS und JavaScript zu erstellen. Nach dem Kopieren, Einfügen und Anzeigen des generierten Codes in einem Browser sah die App von ChatGPT folgendermaßen aus:

Mit der ChatGPT-Version können Sie eine neue Aufgabe hinzufügen, eine Aufgabe löschen oder eine Aufgabe als erledigt markieren. Auch Googles Bard konnte eine funktionsfähige To-Do-Listen-App generieren. Sie können eine Aufgabe jedoch nur hinzufügen, ohne sie zu löschen oder als erledigt zu markieren. Auch Bards Benutzeroberfläche schien weniger ansprechend zu sein; So sah es aus:

Wir haben den Test wiederholt und dieses Mal beide Chatbots gebeten, Twitter-Timeline-Karten neu zu erstellen. Hier ist das Ergebnis von ChatGPT:

Und hier ist, was Googles Bard produziert hat:

Beide Ergebnisse haben ihre Vor- und Nachteile. Wir hätten uns für die Ergebnisse von Bard entschieden, wenn es die Schaltflächen „Gefällt mir“, „Retweet“ und „Kommentar“ gegeben hätte. Diese wurden jedoch seltsamerweise weggelassen, sodass Sie entscheiden können, was besser ist. Natürlich hängt die Qualität des Codes nicht nur von der Ästhetik dessen ab, was er produziert.

Bei der Analyse des von beiden Chatbots generierten Codes schien der von Bard objektorientierter zu sein, während der von ChatGPT eher prozedural war. Unsere Wahl der Programmiersprache könnte dies beeinflussen, aber ChatGPT schien bei Bedarf saubereren Code zu schreiben. Außerdem führt es tendenziell zu vollständigeren Lösungen, was in der Regel zu mehr Codezeilen führt.

In Bezug auf die Qualität des generierten Codes vergeben wir diese Runde an ChatGPT.

ChatGPT vs. Bard: Debugging und Fehlererkennung

Fehler und Bugs sind wie Rätsel, die Programmierer gerne hassen. Sie werden einen in den Wahnsinn treiben, aber sie zu beheben ist ziemlich befriedigend. Wenn Sie also auf Fehler in Ihrem Code stoßen, Sollten Sie Bard oder ChatGPT um Hilfe bitten?? Zur Entscheidung gaben wir beiden KI-Chatbots zwei zu lösende Debugging-Aufgaben.

Zunächst veranlassten wir beide Chatbots, einen logischen Fehler in einem PHP-Code zu beheben. Logische Fehler sind bekanntermaßen schwerer zu erkennen, da der Code, der sie enthält, nicht falsch aussieht, sondern lediglich nicht das tut, was der Programmierer beabsichtigt hat.

Der Code in diesem Screenshot wird ausgeführt, funktioniert aber nicht. Können Sie den logischen Fehler erkennen? Wir haben Googles Bard um Hilfe gebeten und leider konnte der Chatbot den logischen Fehler im Code nicht erkennen. Interessanterweise hat Googles Bard normalerweise drei Entwurfsversuche zur Lösung eines Problems. Wir haben alle drei Entwürfe überprüft und sie waren alle falsch.

Wir haben dann ChatGPT um Hilfe gebeten und der logische Fehler wurde sofort erkannt.

Das PHP-Skript hatte keine Syntaxfehler, aber die Logik in der ist ungerade() Funktion war rückwärts. Um festzustellen, ob eine Zahl ungerade ist, überprüfen Sie normalerweise, ob sie nach der Division durch 2 einen Rest hat. Wenn ja, handelt es sich um eine ungerade Zahl.

Während Bard diesen Fehler bei weitem nicht identifizieren konnte, entdeckte ChatGPT ihn beim ersten Versuch. Wir haben vier weitere logische Fehler ausprobiert und Bard konnte den Fehler nur in einem Fall erkennen, während ChatGPT konstant lieferte. Nach der Umstellung auf Code mit Syntaxfehlern konnte Bard von Google mithalten und identifizierte diese in fast allen vorgestellten Beispielen.

Googles Bard ist relativ gut im Debuggen, aber diesen Sieg geben wir erneut an ChatGPT.

ChatGPT vs. Bard: Kontextbewusstsein

Eine der größten Herausforderungen beim Einsatz von KI-Chatbots zum Codieren ist ihr relativ begrenztes Kontextbewusstsein. Sie bitten den Chatbot, etwas Code zu schreiben, dann noch mehr... Dabei vergisst es völlig, dass das nächste, was es baut, Teil desselben Projekts ist.

Angenommen, Sie erstellen eine Web-App mit einem KI-Chatbot. Sie weisen es an, Code für Ihre Registrierungs- und Anmelde-HTML-Seite zu schreiben, und es macht es perfekt. Und dann, während Sie weiterbauen, bitten Sie den Chatbot, ein serverseitiges Skript zu generieren, um die Anmeldelogik zu verwalten. Dies ist eine einfache Aufgabe, die jedoch aufgrund der eingeschränkten Kontexterkennung dazu führen kann, dass ein Anmeldeskript mit neuen Variablen und Namenskonventionen generiert wird, die nicht mit dem Rest des Codes übereinstimmen.

Welcher Chatbot ist also besser darin, das Kontextbewusstsein aufrechtzuerhalten? Wir haben beiden Tools die gleiche Programmieraufgabe gegeben: eine Chat-App, von der wir wissen, dass ChatGPT sie bereits erstellen kann.

Leider konnte Bard die App einfach nicht fertigstellen, da sie den Überblick über den Kontext des Projekts verlor, nachdem sie einige Zeit inaktiv war. Obwohl ChatGPT denselben Bedingungen unterliegt, hat ChatGPT die App fertiggestellt. Was das Kontextbewusstsein betrifft, geben wir es erneut ChatGPT.

ChatGPT vs. Bard: Problemlösend

An diesem Punkt mangelt es Googles Bard in vielerlei Hinsicht. Aber kann es endlich einen Sieg erringen? Lassen Sie uns seine Problemlösungsfähigkeiten testen. Manchmal haben Sie einfach ein Problem, sind sich aber nicht sicher, wie Sie es programmatisch darstellen oder gar lösen sollen.

In solchen Situationen können KI-Chatbots wie Bard und ChatGPT sehr nützlich sein. Aber welcher Chatbot hat bessere Fähigkeiten zur Problemlösung? Wir haben sie beide gebeten: „Schreiben Sie einen JavaScript-Code, der zählt, wie oft ein bestimmtes Wort in einem Text vorkommt."

Bard antwortete mit funktionierendem Code, der jedoch fehlschlägt, wenn Satzzeichen nahe an einem Wort stehen oder das Wort in unterschiedlichen Fällen vorkommt.

Wir haben das gleiche Problem bei ChatGPT ausgelöst und hier ist das Ergebnis:

Der Code von ChatGPT verfolgt einen robusteren und genaueren Ansatz zum Zählen von Wortvorkommen in einem Text. Dabei werden Wortgrenzen und Groß-/Kleinschreibung berücksichtigt, die Zeichensetzung richtig gehandhabt und zuverlässigere Ergebnisse geliefert. Auch in Sachen Problemlösung geben wir ChatGPT die Nase vorn.

Da Google Bard bei allen von uns zum Vergleich herangezogenen Metriken so gut wie verloren hat, haben wir beschlossen, ihm eine Chance auf Wiedergutmachung zu geben. Wir haben den Chatbot gefragt:Wer kann besser programmieren? ChatGPT oder Google Bard?"

Bard war sich zwar einig, dass ChatGPT kreativer sei, meinte jedoch, dass sein Konkurrent eher Fehler mache und dass ChatGPT Code erzeugte, der weniger effizient, nicht gut strukturiert und im Allgemeinen weniger effizient war zuverlässig. Da müssen wir widersprechen!

ChatGPT spielt in einer eigenen Liga

Bard von Google hat viel Hype erlebt, daher ist es vielleicht überraschend, wie viel ihm im Vergleich zu ChatGPT fehlt. Während ChatGPT eindeutig einen Vorsprung hatte, könnte man meinen, dass die enormen Ressourcen von Google dazu beitragen würden, diesen Vorteil zunichte zu machen.

Trotz dieser Ergebnisse wäre es unklug, Bard als Programmierhilfe abzutun. Auch wenn es nicht so leistungsstark ist wie ChatGPT, ist Bard dennoch leistungsstark und entwickelt sich rasant weiter. Angesichts der Ressourcen von Google ist es sicherlich eine Frage der Zeit, bis Bard ein würdiger Rivale wird.