News
KI-gestütztes Pair-Programming: Das können Entwickler von GitHubs Copilot erwarten

Mit Copilot springt GitHub auf den KI-Zug auf. (Foto: Sundry Photography/Shutterstock)
Entwicklertools, die auf künstlicher Intelligenz basieren, sind grundsätzlich nichts Neues. Startups wie Tabnine oder Kite haben bereits seit geraumer Zeit Produkte im Portfolio, die Programmierer mittels KI bei der Arbeit unterstützen sollen. Jetzt ist die Versionsverwaltungsplattform GitHub auf den Zug aufgesprungen und stellt mit Copilot ein eigenes KI-gestütztes Tool vor. In Anbetracht dessen, dass Microsoft 2019 eine signifikante Summe in das KI-Unternehmen investiert hat und eng mit der Firma zusammenarbeitet, ist das nicht besonders überraschend.
Das Tool soll laut Technical Preview alle möglichen Programmiersprachen unterstützen, am besten soll es allerdings mit Python, TypeScript, JavaScript, Go und Ruby funktionieren. Ähnlich wie GPT-3 über große Mengen schriftlicher Trainingsdaten die Grammatiken natürlicher Sprachen gelernt hat, hat die KI hinter Copilot sich anhand von großen Mengen Quellcode häufig vorkommende Programmstrukturen angeeignet.
Neben der Generierung von Boilerplate-Code, der Bereitstellung nicht immer passender Vorschläge und der Autovervollständigung angefangener Codestrukturen kann das Tool auch Code aus Kommentaren generieren, in denen User beschreiben, was ein Code-Snippet machen soll. Das erspart in vielen Fällen den Blick in die Dokumentation und kann gerade bei der Arbeit mit einer nicht ganz so vertrauten Programmiersprache oder einem eher unbekannten Framework eine Zeitersparnis bedeuten.
Trainiert wurde Copilot anhand großer Mengen Text in natürlicher Sprache – und anhand öffentlicher GitHub-Repos. Laut GitHub ist der Output des Tools Eigentum des Users, ähnlich wie der Kompilierungs-Output des eigenen Quellcodes Eigentum des Entwicklers selbst ist. Trotzdem könne ein kleiner Prozentsatz – etwa 0,1 Prozent der Copilot-generierten Vorschläge – Code aus dem Trainingsset enthalten. Ob er frei verwendbar ist, müssen Copilot-User im Einzelnen selbst prüfen.
So vielversprechend diese Features klingen – bis das Tool wirklich zum Programmier-Buddy wird, ist es offenbar noch ein weiter Weg. In den FAQ zur Technical Preview, zu der sich Entwickler seit Dienstag anmelden können, ist zu lesen: „Der von Copilot vorgeschlagene Code funktioniert möglicherweise nicht immer oder ergibt einen Sinn.“ Das Team arbeite hart daran, das Tool zu verbessern, trotzdem hänge es letztendlich an den Nutzenden, den vorgeschlagenen Code zu testen, zu reviewen und zu überarbeiten. Copilot testet seinen Code nicht selbst, es könne also durchaus dazu kommen, dass er weder kompiliert noch ausgeführt werden kann. Zudem könne das Tool veraltete Libraries oder Code-Strukturen vorschlagen. Der Einsatz von Copilot erfolge auf eigenes Risiko.
In den sozialen Medien kursiert neben Memes über den drohenden Jobverlust aufgrund der KI Kritik an dem Tool. Ein Twitter-User bemängelte, dass eines der Beispielcode-Snippets auf der Homepage eine sogenannte Floating-Point-Variable für die Berechnung von Geldwerten nutze. Floating-Points sind grundsätzlich eher ungeeignet für Berechnungen, bei denen es auf Genauigkeit ankommt. Der Grund: Für Werte wie 0.01 oder 0.1 gibt es keine exakte binäre Repräsentation – so kommt es zu Ungenauigkeiten.
Auf der Social-News-Plattform Hacker News zeigte sich ein User, der Copilot bereits als Alpha-Tester ausprobieren konnte, hingegen begeistert: In einem von zehn Fällen schlage das Tool genau den Code vor, den er auch schreiben wollte, in den verbleibenden Fällen sei der Output des Copilot entweder gut – oder eben komplett daneben. In den Fällen, in denen das Tool richtig liege, fühle sich die Arbeit damit aber an, „als könne es meine Gedanken lesen“. Das Tool mache ihn zu einem besseren Programmierer; seit er es verwende, schreibe er besseren Code, bessere Doku und bessere Tests.
Trotzdem kommt Copilot nicht an das gemeinsame Programmieren mit einem anderen Entwickler heran. Aktuell ist das Tool eher ein ziemlich umfassendes Autocomplete-Feature und kein Pair-Programming-Buddy. Das muss bis zum offiziellen Launch allerdings nicht unbedingt auf diesem Level bleiben. Denn die KI lernt in der Zwischenzeit weiter. Ob Entwickler die Vorschläge des Tools annehmen oder verwerfen, leitet das Tool an GitHub weiter. Anhand dieser Daten soll die KI weiter verbessert werden. Copilot soll – ähnlich wie andere verfügbare Tools, die in die gleiche Kerbe schlagen – zudem in der Lage sein, sich über die Zeit an den persönlichen Programmierstil von Nutzern anzugleichen.
Intern wird das Tool von Entwicklern der Microsoft-Tochter bereits seit geraumer Zeit genutzt, zudem wurde bereits eine Alpha-Version zum Testen freigegeben. In die Warteliste eintragen können interessierte Entwickler sich bereits jetzt, zur Verfügung gestellt werden soll das Tool dann in Form einer VS-Code-Extension oder alternativ für Beta-User mit Zugang innerhalb von GitHubs browserbasiertem Code-Editor Codespaces. Im Moment ist Copilot noch gratis, laut The Register plant GitHub allerdings, das Tool mit dem offiziellen Launch zu kommerzialisieren.
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team