Africa Studio - stock.adobe.com

GitHub Copilot und ChatGPT: ein Vergleich der beiden Tools

GitHub Copilot und ChatGPT sind generative KI-Tools, die Programmierer bei der Entwicklung unterstützen. Welche Stärken und Schwächen beide Tools auszeichnen.

GitHub Copilot und ChatGPT sind zwei generative KI-Tools, die Programmierer bei der Anwendungsentwicklung unterstützen.

Copilot wurde von GitHub und OpenAI entwickelt und konzentriert sich speziell auf die Codevervollständigung, indem es Vorschläge für Codezeilen oder ganze Funktionen direkt in integrierten Entwicklungsumgebungen (IDEs) liefert. Es basiert auf den Sprachmodellen von OpenAI.

ChatGPT, das von OpenAI entwickelt und im November 2022 auf den Markt gebracht wurde, ist als separates Tool verfügbar und eignet sich besser für die Zusammenfassung von komplexem Code oder für die Erstellung eines Template für eine bestimmte Programmieraufgabe.

Darüber hinaus kann ChatGPT Antworten auf ein breiteres Spektrum von Fragen außerhalb typischer Programmier-Workflows liefern, da es für allgemeine Sprachaufgaben konzipiert wurde. GitHub Copilot konzentriert sich komplett auf die Codevervollständigung.

„Der Hauptunterschied [zwischen den beiden] ist die enge Integration von Copilot mit Visual Studio Code und die Tatsache, dass Copilot auf riesigen Mengen von Code von GitHub und anderen Stellen trainiert wurde“, erklärt Guido Hoffmann, technischer Mitarbeiter bei Tech Soft 3D.

Copilot-Benutzer können direkt in gängigen Tools wie Visual Studio, VS Code, Neovim und JetBrains IDEs Unterstützung erhalten. Dies ermöglicht es auch, einen großen Kontext von Code zu analysieren, ohne kurze Snippets ausschneiden und in ChatGPT einfügen zu müssen.

Beide Tools versprechen, Entwickler produktiver zu machen, indem sie das Schreiben von alltäglichem Code automatisieren – und können Entwickler möglicherweise effektiver machen, indem sie ihnen mehr Zeit für höherwertige Aufgaben geben. GitHub hat vor kurzem auch Copilot X als Vorschau auf seine Zukunftsvision angekündigt. Diese Vision deutet auf Pläne hin, einige der besten Funktionen von Copilot und GPT zu kombinieren.

Sowohl ChatGPT als auch Copilot können kostenlos getestet werden. Ein ChatGPT-Abonnement mit Zugriff auf das neueste Sprachmodell kostet derzeit 20 Dollar pro Monat. Die Preise für Copilot beginnen aktuell bei 10 Dollar pro Monat für Einzelpersonen und 19 Dollar pro Monat für Unternehmen.

GitHub Copilot versus ChatGPT: Wie sie funktionieren

Obwohl ChatGPT und GitHub Copilot unterschiedliche Benutzererfahrungen und Arbeitsabläufe haben, weisen sie einige Ähnlichkeiten in Bezug auf die zugrunde liegende Technologie auf. Beide Systeme verwenden große Sprachmodelle (Large Language Model, LLM), um Antworten und Vorschläge zu generieren.

"Während das LLM von ChatGPT auf der Grundlage von menschlichen Sprachdaten trainiert wird, wird das LLM von GitHub Copilot, welches Codex heißt, auf der Grundlage eines riesigen Datensatzes von Quellcode und Text in natürlicher Sprache feinabgestimmt", erklärt Nikita Povarov, Leiter des Teams für Datenanalyse und maschinelles Lernen (ML) bei JetBrains. „Dieser Feinabstimmungsprozess ermöglicht es Codex, die Syntax und Struktur des Codes zu verstehen“, sagt Povarov.

Hier ist die Antwort von OpenAIs Codex auf eine Anfrage des Autors:

OpenAI Codex
Abbildung 1: Dies zeigt die Antwort von OpenAIs Codex auf eine Anfrage des Autors.

Im Gegensatz dazu ist ChatGPT eine universell einsetzbare KI-Plattform, die natürliche Sprachverarbeitung nutzt, um auf Benutzereingaben zu reagieren. Sie ist besser für breitere, komplexere Aufgaben geeignet.

Agur Jõgi, CTO bei Pipedrive, einer CRM-Plattform, sagt, dass der häufigste Anwendungsfall bei der Softwareentwicklung mit ChatGPT das Verstehen und Schreiben von Code auf der Grundlage der Aufgabenbeschreibung ist. Hier ist ein Beispiel für ChatGPT, das den vom Autor eingereichten Code erklärt:

ChatGPT
Abbildung 2: Hier ist ein Beispiel von ChatGPT, das einen vom Autor eingereichten Code erklärt.

„Insgesamt ist Copilot ein großartiges Werkzeug für schnelle, taktische Aufgaben und ChatGPT ist besser für umfassendere Aufgaben geeignet. Wie jede frühe Technologie haben beide noch Luft nach oben und werden mit der Zeit besser und fortschrittlicher werden“, sagt Jõgi.

Die Stärken und Schwächen von GitHub Copilot und ChatGPT

Hier ist eine Übersicht über die jeweiligen Stärken und Schwächen der Tools.

GitHub Copilot

Stärken. GitHub Copilot zeichnet sich durch die Generierung von Codeschnipseln und Vorschlägen aus, die auf dem Kontext des geschriebenen Codes basieren. Copilot kann Codezeilen, Variablen und Funktionsnamen vorschlagen, die für den Kontext des Codes relevant sind, und es kann mit granularen Snippets unterstützen. GitHub Copilot fungiert auch als Codevervollständigungsagent, der Aufgaben erledigt, welche die üblichen, in die IDE integrierten Codevervollständigungs-Tools nicht leisten können.

Auf diese Weise kann er Entwicklern Zeit sparen und ihnen helfen, effizienter zu programmieren. Darüber hinaus kann GitHub Copilot aus dem von den Entwicklern geschriebenen Code lernen und so seine Vorschläge und Genauigkeit mit der Zeit verbessern.

Eine weitere Stärke von GitHub Copilot für das Schreiben von Code ist laut Jõgi die Integration in die IDE, die es für die Echtzeit-Codierung effizienter macht als ChatGPT und insgesamt eine bessere Benutzererfahrung für Programmierer bietet. "Da es in das GitHub-Ökosystem eingebettet ist, können Entwickler es nutzen, ohne den Kontext zu wechseln oder zusätzliche Tools zu öffnen", sagt er.

Schwächen. „Zu den Schwächen von GitHub Copilot gehört die Generierung falscher oder ineffizienter Codevorschläge“, sagt Jorge Torres, Mitbegründer und CEO von MindsDB, einer Plattform zur Demokratisierung von Machine Learning. Außerdem ist es möglicherweise nicht für komplexe Programmieraufgaben geeignet, die umfangreiche Kenntnisse und Erfahrungen erfordern.

ChatGPT

Stärken. Die Stärke von ChatGPT liegt laut Torres in der Automatisierung von Kundendienstinteraktionen und der Bereitstellung virtueller Unterstützung für verschiedene Aufgaben. Es kann auch textbasierte Inhalte wie Artikel, Geschichten und Zusammenfassungen generieren, was es für die Erstellung von Inhalten nützlich macht.

Povarov findet ChatGPT auch hilfreich, um eine breite Palette von Codeantworten zu generieren und Codekonzepte zu erklären. Es ist auch für nicht-technische Beteiligte besser geeignet und flexibler: Die Benutzer kommunizieren über eine chat-ähnliche Schnittstelle mit einem Helfer, der praktisch jede Frage beantworten kann. Diese Flexibilität ermöglicht es Benutzern, Fragen zu klären und neu zu formulieren, was zu präziseren Antworten und Unterscheidungen führt.

Jõgi verwendet ChatGPT auch zur Generierung von Funktions- und Unit-Tests, um die Ergebnisse zu validieren. Dies kann testgetriebene Entwicklungspraktiken rationalisieren.

Schwächen. Was die Schwächen betrifft, so stellt Torres fest, dass ChatGPT mit komplexer oder technischer Sprache zu kämpfen hat und nicht immer genaue oder relevante Antworten erzeugt. Außerdem eignet es sich möglicherweise nicht für Anwendungen, die Echtzeit-Interaktionen erfordern, wie Spiele oder E-Commerce-Plattformen.

Ähnlichkeiten zwischen Copilot und ChatGPT

Beide Tools nutzen die GPT LLMs von OpenAI, um auf unterschiedliche Weise Ergebnisse zu generieren. Sie schlagen auch verschiedene Wege vor, um alle Arten von Aufgaben neben der Programmierung zu verbessern. Microsoft hat zum Beispiel eine Reihe von Copilots für verschiedene Office-Anwendungen eingeführt und integriert auch ChatGPT-Funktionen in seine Bing-Suchmaschine.

„Beide repräsentieren die Zukunft des generativen KI-Erlebnisdesigns, bei dem KI-gestützte Assistenten uns unterstützen können, Aufgaben effizienter und effektiver zu erledigen“, so Torres. Da sich die KI-Technologie weiter verbessert, werden wir immer ausgefeiltere KI-gestützte Assistenten sehen, die die menschliche Sprache und den Kontext genauer verstehen und komplexere und anspruchsvollere Ergebnisse erzeugen können.

Beide Tools haben gezeigt, wie generative KI die Produktivität von Entwicklern durch die Automatisierung von Routineaufgaben steigern kann. Beide Arten von Fähigkeiten können schließlich direkt in die Entwicklungswerkzeuge integriert werden.

„In Zukunft kann ein KI-Assistent ähnlich wie ChatGPT direkt in IDEs integriert werden, so dass Entwickler mit ihm kommunizieren und ihn bitten können, Routineaufgaben auszuführen, wie zum Beispiel das Auschecken von Code aus Repositories, die Durchführung von Tests oder das Erstellen von Code“, erläutert Povarov.

Wenn etwas schief geht, zum Beispiel ein Testfehler oder ein Absturz bei der Erstellung, kann der Entwickler den Assistenten bitten, den Fehler zu identifizieren und Vorschläge zur Behebung zu machen. Der Assistent kann dies tun und so den Zeit- und Arbeitsaufwand für die Pflege der Codebasis reduzieren.

Ein Blick in die Zukunft: Copilot X steht in den Startlöchern

GitHub hat kürzlich Copilot X vorgestellt, eine technische Preview auf seine Vision für die Zukunft der KI-gestützten Softwareentwicklung. Das neue Tool kombiniert Chat- und Terminal-Schnittstellen direkt in der IDE. Es verspricht, weitere Aspekte der Entwicklungserfahrung zu automatisieren. So kann es beispielsweise Codeänderungen erkennen und automatisch Beschreibungen, so genannte Pull Requests, für Software-Updates vorschlagen.

Das neue Angebot verspricht kontextabhängige Konversationen, um Code zu erklären, Fehler zu finden und Korrekturen vorzuschlagen. Es wird auch Antworten personalisieren, die mit der offiziellen Dokumentation verknüpft sind. Es verspricht auch, Softwaretests zu schreiben und fehlende Tests zu identifizieren, die möglicherweise benötigt werden.

GitHub berichtet, dass das X ein Platzhalter für neue Dienste wie Security, Pull Requests, Docs und Testing ist. Das X deutet auch das Ausmaß der Auswirkungen an, die es auf die Produktivität der Entwickler haben kann.

Im Moment stellt Copilot X die Vision von GitHub für die Zukunft dar, ist aber nicht als Produkt erhältlich. Das Unternehmen verweist darauf, es wolle sich die Zeit nehmen, um den besten Weg zu finden, diese neuen Funktionen den Kunden zur Verfügung zu stellen.

Erfahren Sie mehr über Softwareentwicklung

ComputerWeekly.de
Close