Die neueste "Lawine" von KI-gestützten Tools hat die Welt schnell überrollt.
So können beispielsweise KI-Modelle wie DALL-E Mini aus jeder beliebigen Eingabeaufforderung eine lustige (und meist unheimliche) Reihe von Bildern erzeugen, oft zum Nachteil von menschlichen Gesichtern und der Mechanik menschlicher Hände (aus irgendeinem Grund kann DALL-E Mini keine Hände zeichnen).
Sie können einige davon auf Twitter oder Google in aller Ruhe und auf eigene Gefahr überprüfen.
Aber es geht nicht nur um Spaß und Spiel.
Kürzlich gab es eine Kontroverse, an der ein Künstler (ein menschlicher), ein KI-Tool, ein Wettbewerb und ein Preis beteiligt waren. Anscheinend hat ein Spieldesigner namens James Allen den ersten Preis in einer der Unterkategorien des Colorado State Fair Fine Arts Competition gewonnen.
Was ist daran falsch?
James' Beitrag (mit dem Titel Théâtre D'opéra Spatial) wurde nämlich von einer KI erstellt. Das Tool heißt Midjourney und kann, genau wie DALL-E Mini (oder die Vollversion DALLE), qualitativ hochwertige Bilder anhand einer Eingabe von Zeichenketten, sogenannten Prompts, erzeugen.
Er hat 300 Dollar bekommen und ist nicht klüger geworden.
Jetzt gibt es eine hitzige Debatte über James' Täuschung, die dazu beitragen könnte, wie wir in Zukunft über diese Dinge denken, wenn überhaupt.
Das führt mich unweigerlich zum Hauptthema dieses Artikels: GitHub Copilot.
Was ist das? Ist es praktikabel zu verwenden? Wie kann ich es am besten einsetzen?
Im Folgenden werde ich versuchen, einige dieser Fragen und mehr zu beantworten.
Was ist GitHub Copilot?
GitHub Copilot ist ein KI-Programmiermodell, das Entwicklern beim Schreiben von Code hilft. Es nutzt das OpenAI Codex-Modell (erstellt von OpenAI), um relevanten Code vorzuschlagen, ganze Funktionen von Grund auf anzubieten und Programmierern sogar komplette Algorithmen in Echtzeit zur Verfügung zu stellen. .
Wichtig zu wissen ist, dass für die Nutzung von Copilot ein Abonnement erforderlich ist. Das Abo-Modell kostet $10/Monat oder $100/Jahr, wobei die ersten 60 Tage der Nutzung völlig kostenlos sind.
Darüber hinaus ist GitHub Copilot kostenlos für verifizierte Studenten und Mitwirkende an namhaften Open-Source-Projekten auf GitHub.
Aber ist das Preisschild die Ware wert?
Die Antwort ist ja. Warum das so ist, werden wir gleich sehen.
Wie funktioniert der GitHub Copilot?
Theoretisch ist Copilot ein ausgeklügeltes KI-Tool, das Ihren Code analysiert, Vorschläge macht oder Codekorrekturen vornimmt. In Wirklichkeit funktioniert es ein wenig anders.
Erstens ist Copilot mit den meisten gängigen Programmiersprachen, Frameworks und APIs vertraut.
Jetzt wird es interessant.
Sie können die gewünschte Aufgabe, das gewünschte Ergebnis oder den gewünschten Vorschlag in den Kommentaren Ihres bevorzugten Tools beschreiben, und Copilot kann Ihnen die passenden Codezeilen vorschlagen.
Zweitens können Sie Ihre Absichten einfach durch unvollständige Eingabeaufforderungen ableiten und Copilot die Codegenerierung entsprechend diesen Aufforderungen durchführen lassen.
Das Problem ist jedoch, dass der generierte Code nicht immer die ursprüngliche Aufforderung vollständig wiedergibt. Das ist verständlich, denn die KI kann nicht mehr aus Ihren Absichten herauslesen als das, was (als Aufforderung) im Copilot steht. Dies kann dazu führen, dass Copilot unerwünschte Fehler, Code-Auslassungen oder Code-Zusätze erzeugt, die Sie in Ihrem fertigen Programm nicht haben wollen.
Schließlich kann Copilot auch ganze Algorithmen (in verschiedenen Programmiersprachen wie JavaScript, TypeScript, Go, Python und Ruby) von Grund auf neu erstellen.
Wenn Sie z. B. eine Liste von Elementen erstellen, sortieren oder anderweitig bearbeiten möchten, können Sie das Problem angeben, und Copilot schreibt den Code. Um die Suche noch weiter einzugrenzen (und eine speziellere Version desselben Algorithmus zu erstellen), können Sie auch den Namen des Algorithmus angeben.
Eine der Richtungen, in die Sie die Eingabeaufforderungen nehmen können, ist, Copilot vorzuschlagen, die Konzepte der Blasensortierung oder der Auswahlsortierung im Code zu verwenden.
Vorteile von GitHub Copilot
Copilot eignet sich hervorragend zum Schreiben von Standardcode. Boilerplate-Code ist ein Begriff aus der Softwareentwicklung, der sich auf sich wiederholenden Code bezieht, der erheblich vereinfacht (d. h. weiter optimiert) werden kann.
Positiv ist, dass Boilerplate-Code bei Bedarf wiederverwendet werden kann, d. h. er kann kopiert und in mehrere Instanzen desselben Quellcodes eingefügt werden, was langfristig Entwicklungszeit spart.
Darüber hinaus ist Copilot auch nützlich, wenn Sie mit einem bestimmten Projekt beginnen möchten, aber nicht genau wissen , wie Sie anfangen sollen. Es hilft Ihnen, die Räder in Bewegung zu setzen, sozusagen.
Schließlich ist Copilot relativ einfach zu bedienen. Es ist nicht aufdringlich und bietet nicht bei jedem Schritt Vorschläge an oder hilft nur sparsam mit. Das ist besser, als wenn Copilot versucht, für jede einzelne Code-Zeile Vorschläge zu machen.
GitHub Copilot Rückschläge
Trotz aller positiven Aspekte hat Copilot wirklich Schwierigkeiten, komplexere Lösungen selbst zu erstellen. Ohne die Hilfe eines menschlichen Entwicklers (zur Korrektur von Fehlern) kann der erzeugte Code oft unübersichtlich und nahezu unbrauchbar werden.
Copilot hat zum Beispiel Schwierigkeiten, mehrere Dateien aus einer einzigen Codebasis zu verarbeiten. So wie es aussieht, kann Copilot dateiübergreifende Importe nicht verstehen, da es oft sowohl die Datentypen als auch die Namen durcheinanderbringt (es scheint, dass es nur die Dateien analysiert, die gerade im Fokus stehen, anstatt die gesamte Codebasis zu analysieren, was eine ineffiziente Art ist, Probleme in der Softwareentwicklung zu lösen).
Außerdem versteht Copilot manchmal den Kontext Ihrer Eingabeaufforderung nicht und schlägt Codefragmente vor, die nicht Ihren eigentlichen Absichten entsprechen. In anderen Fällen wird zwar ein gültiger Quellcode vorgeschlagen, aber der Code selbst ist voller Bugs und anderer Fehler.
Aus diesem Grund sollten Sie den von Copilot generierten Code immer auf unerwünschte Nebeneffekte überprüfen.
Schließlich ist Copilot nur auf Code-Vorschläge beschränkt und kann nicht außerhalb der Grenzen der Kreation seines Schöpfers (OpenAI) arbeiten. Im Gegensatz zu dem, was manche glauben machen wollen, kann Copilot keine Witze erzählen (weder programmiertechnisch noch anderweitig).
Zusammenfassend lässt sich sagen, dass GitHub Copilot nicht immer den richtigen Algorithmus für die jeweilige Situation auswählen kann. Außerdem kann es dazu kommen, dass die Datenstrukturen und Datentypen durcheinander gebracht werden (wenn sie nicht in der Sprache definiert sind).
Mit anderen Worten: Wenn der Algorithmus nicht populär genug ist, ist es nicht ratsam, sich auf Copilot zu verlassen, um spezifische Algorithmen für Ihre Anfrage zu entwickeln.
Schlussfolgerung
In seiner jetzigen Form ist Copilot den Eintrittspreis wert (10 $ pro Monat, 100 $ pro Jahr oder kostenlos für Studenten und fleißige Open-Source-Projektmitarbeiter).
Beachten Sie jedoch, dass Copilot die Arbeit eines Programmierers nicht ersetzen kann; er benötigt immer noch menschliche Eingaben und eine längere Bearbeitungszeit, um brauchbaren Code zu erstellen.
Schließlich sind Sie der Kapitän des Schiffes, und in gewisser Weise ist GitHub Copilot der, ähm, Kopilot des Kapitäns.