GitHub Copilot (nicht zu verwechseln mit Microsoft Copilot) ist ein LLM AI-Assistent, welcher uns Entwicklern beim Schreiben von Codes unterstützt. Copilot sammelt Informationen über den Workspace und macht darauf basierend Vorschläge für die Weiterführung des Codes.
Der Assistent ist als Plug-in für die gängigsten Entwicklungsumgebungen ("IDEs") verfügbar und dadurch ohne grossen Aufwand integrierbar.
Ich empfinde ein Tool dann als hilfreich, wenn ich es vermisse, wenn es nicht mehr da ist.
Copilot ist so ein Tool. Ich habe mich so sehr an die Vorschläge gewöhnt, dass ich sie nicht mehr missen möchte.
So habe ich mich auch schon dabei ertappt, wie ich unterwegs den Smartphone-Hotspot eingeschaltet habe, nur damit ich Copilot auf meinem Laptop verwenden konnte.
In meinem Use Case hat sich GitHub Copilot insbesondere bei repetitiven Aufgaben ausgezeichnet. Dazu gehören:
Erstellen von Testdaten und Testcases
Erstellen von Mocks
Scaffolding von Klassen und Methoden
Dokumentation von Code
Weniger Erfolg hatte ich bei komplexeren, fachspezifischen Algorithmen. Nicht, weil die Ergebnisse falsch waren, sondern weil es nicht mehr mein Code war und ich mehr Zeit damit verbrachte, den vorgeschlagenen Code zu verstehen statt ihn gleich selbst zu schreiben.
Allerdings darf gesagt werden, dass GitHub Copilot mir in diesen Fällen einen guten Ansatz geliefert hat, welcher ich dann weiterverfolgen konnte - sozusagen als Inspiration.
In meiner Zeit mit GitHub Copilot habe ich gelernt, wann es sinnvoll ist einen Vorschlag von GitHub Copilot zu verwenden und wann nicht.
Bei der Nexplore verwenden wir Copilot seit September 2023. In dieser Zeit haben wir Copilot in verschiedenen Projekten eingesetzt. Die Erfahrungen waren durchwegs positiv. Hauptfaktor für den Erfolg ist die Zeitersparnis: Klar können viele Entwickler:innen schnell tippen, aber Copilot ist schneller.
So hat sich das Scaffolding von Code mit GitHub Copilot als besonders effizient erwiesen. Persönlich motiviert mich das enorm, weil ich mich so auf die wichtigen Dinge konzentrieren kann.
Im Screenshot wird in Grau der Vorschlag vom Copilot angezeigt. Mit der TAB-Taste kann der Vorschlag als Quellcode direkt in die Datei übernommen werden.
Die größte Hürde im professionellen Umfeld ist, dass der Nutzer-Code an die Copilot-API übermittelt werden muss, um Vorschläge zu generieren. Dies kann problematisch sein, wenn ein Projekt verbietet, Code an Dritte zu übermitteln.
Ein weiteres Problem ist die Verwendung von Code-Vorschlägen, die aus Lizenzgründen nicht verwendet werden dürfen. Da Copilot mit Open-Source-Code trainiert wurde, kann es vorkommen, dass Vorschläge unter anderen Lizenzen stehen. In der Vergangenheit hat dies auch schon zu hitzigen Diskussionen geführt. Die Verantwortung liegt beim Entwickler. Dieser Punkt wurde inzwischen erkannt: mit dem neuen Referencing-Feature zeigt GitHub Copilot die Quellen der Vorschläge an. Dieses Feature gibt uns Entwicklern mehr Sicherheit und ermöglicht uns bessere Entscheidungen zu treffen, ob der Vorschlag verwendet werden darf oder nicht.
Meines Erachtens ist Copilot so gut, weil es meinen bestehenden Workflow nicht hindert, sondern unterstützt. Dieser Satz könnte gut in einem Marketing-Pitch für Copilot verwendet werden - persönlich empfinde ich Copilot als ein wertvolles Tool, weil es keinen Mehraufwand generiert.
Die wenigen Minuten, die aufgewendet werden müssen, um Copilot einzurichten, sind nach wenigen Stunden wieder amortisiert.
Ich möchte nicht mehr ohne und kann GitHub Copilot sehr empfehlen. Hier beginnt deine Reise: GitHub Copilot · Your AI pair programmer.
Bildnachweis: Foto von charlesdeluvio on Unsplash; Screenshot vom Autor