Teilen

13. March 2024

Lieber nicht mehr ohne: GitHub Copilot

Was gibt es schöneres, als an einem winterlichen Samstagmorgen mit einer Tasse Kaffee hinter dem Rechner zu sitzen und ein neues Coding Projekt zu starten? Im Frühjahr 2022 fand ich mich in dieser Situation. Gefesselt von meiner Idee, unterbrach mich plötzlich eine Notification - eine neue E-Mail von GitHub mit dem Betreff: "Join the Copilot waitlist". Dort hat meine Reise mit GitHub Copilot begonnen. Seither schaue ich nicht mehr zurück.

GitHub Copilot (nicht zu verwechseln mit Microsoft Copilot) ist ein LLM AI-Assistent, welcher Entwickler beim Schreiben von Code 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.

Wann ist ein Tool ein gutes Tool?

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 während eines Commutes den Smartphone-Hotspot eingeschaltet habe, nur damit ich Copilot auf meinem Laptop verwenden konnte.

Ich habe mich so sehr an die Vorschläge gewöhnt, dass ich sie nicht mehr missen möchte.

Simon Schödler

GitHub Copilot in der Praxis

In meinem Use Case hat sich Copilot insbesondere bei repetitiven Aufgaben ausgezeichnet. Nennenswert sind: 

  • 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 verbracht habe, den Code zu verstehen, als ihn zu schreiben.

Was jedoch nicht vernachlässigt werden darf, ist, dass Copilot mir in diesen Fällen einen guten Ansatz geliefert hat, welcher ich dann weiterverfolgen konnte - sozusagen als Inspiration.

In meiner Zeit mit Copilot habe ich gelernt, wann es sinnvoll ist einen Vorschlag von 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 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.

Zu gut, um wahr zu sein?

Ein bisschen. Die grösste Hürde, die mir im professionellen Umfeld begegnet ist, ist die Tatsache, dass der User-Code an die Copilot-API übermittelt werden muss, um Vorschläge zu generieren. Dies ist je nach Projekt, an dem gearbeitet wird, nicht möglich. Herrscht z.B. ein striktes Verbot, Code aus dem Projekt an Dritte zu übermitteln, kann dies die Verwendung von Copilot verhindern.

Weitere Probleme können entstehen, wenn Code-Vorschläge verwendet werden, welche aus Lizenzgründen nicht verwendet werden dürften. Da Copilot unter anderem mit Open-Source Code trainiert wurde, kann es vorkommen, dass Code-Vorschläge generiert werden, welche unter einer anderen Lizenz stehen als der Code, an dem gearbeitet wird. In der Vergangenheit hat dies auch schon zu heissen Diskussionen geführt.

Die Verantwortung liegt hier beim Entwickler, Copilot ist sich dieser Problematik bewusst und hat entsprechende Massnahmen getroffen - mit dem Referencing-Feature werden nun die Quellen der Vorschläge angezeigt . So kann man eine fundierte Entscheidung treffen, ob der Vorschlag verwendet werden darf oder nicht.

Copilot ist kein Tool, welches mir die Arbeit abnimmt, sondern eines, welches mich bei der Arbeit unterstützt.

Simon Schödler

Fazit - Wieso schaue ich nicht mehr zurück? Was macht Copilot gut?

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 Copilot sehr empfehlen. Hier beginnt deine Reise mit Copilot: GitHub Copilot · Your AI pair programmer.

Aktuelle Themen unseres Blogs

Bildnachweis: Foto von charlesdeluvio on Unsplash; Screenshot vom Autor