GITHUB COPILOT #KI #TECHNOLOGIE

Das Cloud-basierte Tool Github Copilot wurde zusammen mit Open AI entwickelt. Durch automatisierte Vervollständigung von Code und sogar ganzen Funktionen in Echtzeit möchte Github Entwicklern nicht nur Arbeit abnehmen, sondern diese auch schulen.

Der Copilot lernt nicht nur von den User:innen, sondern versorgt diese im Gegenzug auch mit anderen Ansätzen, neuen Ideen und Ergebnissen der ganzen Github Community. Mit Zugang zur Github Datenbank kann die KI auf Milliarden von Codezeilen zugreifen. Besonders Berufseinsteiger können hier also aus einer großen Wissensquelle schöpfen und so ihren Einstieg ins Berufsleben erleichtern. Aber auch erfahrene Developer sparen Zeit, indem sie ungeliebte Codierungen von der Maschine erledigen lassen können.

In eigenen Umfragen gibt Github an, dass bereits 27 - 40% der User:innen den Github Copilot nutzen, abhängig von der Programmierungssprache. Diese Umfrage sagt weiterhin, dass Devs, die den Copilot nutzen, schneller coden, länger im Flow bleiben, Schwierigkeiten fokussierter lösen und insgesamt zufriedener in ihrem Job sind. Drei unserer Entwickler haben uns von ihrem Github Copilot Einsatz berichtet.

Klar ist: Es muss auf die richtige Art und Weise mit dem Copilot kommuniziert werden, um brauchbare Vorschläge zu bekommen. Je nachdem, welche Programmiersprache verwendet wird, können die Vorschläge von unterschiedlicher Qualität sein. Denn obwohl die KI in allen Sprachen trainiert wurde, die in öffentlichen Repositories auftauchen, gilt: Je geläufiger eine Sprache ist, desto besser sind auch die Copilot Vorschläge. Die KI lernt aus dem bestehenden Projekt, sowie aus den öffentlich zugänglichen Codes der Github Community. Je weiter fortgeschritten ein Projekt ist, desto stärker werden also auch die Suggestionen der KI.

Github Copilot kann direkt in den verwendeten Editor integriert werden und liefert Vorschläge, sobald eine Anfrage über einen Kommentar in natürlicher Sprache oder auch über den Code selbst kommt. Eine Anfrage als Kommentar sollte die genaue Anforderung enthalten, sprich: was wird vom Code erwartet? Wie soll sich die Funktion verhalten? Copilot analysiert dann den Kontext der bearbeiteten Datei und liefert anhand des vorhandenen Wissens Vorschläge ab. Aus verschiedenen Sammlungen an Quellcodes findet er nützliche Codes oder Codeschnipsel, die den eigenen Code optimieren sollen. Entsprechende Filter sorgen dafür, dass unvollständige Codes aus der Suche ausgeschlossen werden. Die KI-Suche erfolgt dabei in Echtzeit und ist somit viel schneller und effizienter, als eine manuelle Suche sein könnte. Die Ergebnisse zeigen dabei allerdings keine kopierten Codes an, sondern generieren diese aus Trainingssätzen neu. Copilot bezieht sich außerdem auf Wahrscheinlichkeiten, anhand derer Zeilen wertvoll sein könnten. Die Vorschläge können durch die User:innen akzeptiert, bearbeitet oder verworfen werden.

Unsere Entwickler nutzten Copilot insbesondere dafür, einfache Codes zu schreiben, die sich in einem Projekt wiederholen würden oder die aus Github kopiert werden müssten. Auch wenn jede Codezeile einzeln überprüft werden muss, erkennen unsere Devs eine große Zeitersparnis. Zwei von drei Entwicklern sind der Ansicht, dass sie in ihrer täglichen Arbeit nicht mehr auf den Github Copilot verzichten möchten. Denn mit ihm können sie weniger beliebte Aufgaben abgeben und dafür wieder mehr selbst coden. Zwar entsteht mit dem Nutzen der KI ein Korrekturaufwand, den sie vorher nicht hatten, dafür bietet ihnen die Künstliche Intelligenz aber auch neue Blickwinkel, Ansätze und Inspirationen, aus denen sie immer wieder viel mitnehmen können.

Zu beachten ist: Vorgeschlagene Codes werden nicht durch die KI getestet. Korrekturschleifen sollten Entwickler:innen also immer mit einplanen. Außerdem gibt es auch bei Github Copilot Risiken, die bedacht werden müssen.

  • Copyright Verletzungen: Copilot nutzt alle öffentlich einsehbaren Codes der Repositories, ungeachtet dessen, ob für eine Software eine Lizenz vorhanden ist oder nicht. Von Seiten Githubs gibt es hierfür noch keine Lösung, so dass es ggf. zu Lizenzverletzungen kommen könnte.
  • Code wird nicht getestet: Die einzelnen Entwickler:innen müssen jede Zeile übernommenen Code gewissenhaft prüfen, um Sicherheitslücken auszuschließen. Außerdem steht der Vorwurf im Raum, dass Trainingsmaterial gezielt manipuliert werden kann.
  • Datenschutz: Der Kontext der Programmierung wird kontinuierlich an Github übergeben. Ob dies mit allen Datenschutzbestimmungen konform geht, ist zu bezweifeln.

Wenn sich Entwickler:innen und Unternehmen dieser Risiken bewusst sind, können sie auch Maßnahmen ergreifen, um diese einzudämmen. Denn es sollte in der Programmierung natürlich immer darauf geachtet werden, dass Technologien und entstehender Code sicher sind. Dafür gibt es unter anderem Code-Reviews. So sollte beispielsweise ein Code, der nicht erklärbar ist, auch nicht eingecheckt werden. Bei spezifischem Code, wie Algorithmen, sollte im Code-Review besprochen werden, woher der Code tatsächlich stammt. In der Regel wird in solchen Fällen ohnehin empfohlen, externe Bibliotheken zu implementieren, anstelle von eigenem Code. Außerdem sind auch automatische Tools auf dem Markt, die Code auf Sicherheitslücken prüfen.

Github hat bereits den Copilot X angekündigt. Neu werden hier die Chat-Funktion sein, sowie ein Terminal Interface und ein User Support. Wann Version X der breiten Masse zugänglich sein wird, ist jedoch noch nicht klar.

Sind auch Sie daran interessiert, Künstliche Intelligenz in Ihrem Unternehmen einzusetzen? Wir beraten Sie gerne über die unterschiedlichsten Tools!

Let´s get in Touch!

Quellen: