Am Puls von Microsoft

Kommentar: Mein erster Monat mit GitHub Copilot

Kommentar: Mein erster Monat mit GitHub Copilot

Nach langem Sträuben hat sich mein sparsames schwäbisches Nerd-Herz doch dazu entschieden, einmal GitHub Copilot auszuprobieren. Für zehn Euro im Monat bietet Microsoft beziehungsweise GitHub theoretisch allerlei schlaue Helferlein an, um den Entwickleralltag einfacher zu gestalten. Doch wie war es für mich als Ü30-Nerd, in diese neu Welt des Entwickelns einzutauchen?

In welchem Kontext?

Da mein tägliches Brot den Einsatz solcher KI-Werkzeuge nur nicht aus Datenschutzgründen, sondern auch in der nicht vorhandenen Unterstützung von Apples Xcode-Entwicklungsumgebung ermöglicht, setze ich für mein Kennenlernen der künstlichen Intelligenz meine privaten Hobbybasteleien ein. Zum Zeitpunkt dieses Artikels ist es das auf Dr. Windows ebenfalls veröffentlichte Life.NET, also eine C# und .NET 8 Solution, welche sich in Blazor-, MAUI-, aber auch Terminal-Applikationen aufteilt.

Somit setze ich GitHubs Copilot im Kontext von “Man ist noch unerfahren in einer Technologie.” und “KI, bitte gebe mir einen Startpunkt zum Lösen des Problems X.” ein. Eine immer fachgerechte Evaluierung, wie präzise und allumfassend die präsentierten Lösungen der AI sind, ist hiermit natürlich nicht gegeben. Für meine Evaluierung habe ich Copilot in Visual Studio 2022 als auch in Visual Studio Code mittels der kostenfreien Erweiterungen “Copilot”- und “Copilot Chat” eingebunden. Die jeweiligen Anfragen habe ich in englischer Sprache verfasst – in der auch meine Editoren sind.

Auf der BUILD 2024 kündigte Microsoft an, diese Erweiterungen mit der Version 17.10 direkt mit den beiden Produkten zu bündeln und AI noch weiter in diese zu integrieren.

Das Einrichten

Für die Bestellung des monatlichen Abonnements benötigt man einen GitHub-Account, welcher, wenn nicht anders gewünscht, nicht unter der Kontrolle einer Organisation steht – sprich einen privaten Account. Für geschäftliche Konten ist GitHub Copilot ebenso verfügbar, hier muss die Zuteilung beziehungsweise das Freischalten der Server-Verantwortliche übernehmen. Der monatlich kündbare Dienst ist via den üblichen Zahlungsoptionen abwickelbar. In diesem Schritt entschied ich mich hier für PayPal.

Schlussendlich fragt die jeweilige Editor-Extension bei der Installation nach dem GitHub-Konto, auf welches der KI-Service gebucht ist. Meldet man sich hier an, ist man sofort freigeschaltet und kann mit dem Experimentieren beginnen. Damit man nie vergisst, dass der Copilot aktiv ist, blendet Microsoft hier entweder in der Fußzeile von Visual Studio und VSC einen entsprechenden Hinweis ein, oder ist so penetrant mit “Tipps” rund um die korrekte Benutzung der Helferlein, dass ein unbeabsichtigtes Aktivieren wohl nur schwer unbemerkt bleiben könnte.

Das Herantasten

Wie alles Neue ist für mich auch Copilot nichts, was ich vom Start an komplett und unverfänglich fehlerfrei und im Produktiven einsetzen kann. Es benötigt eine Kennenlernphase meinerseits. Einerseits wie ich den Assistenten zum Denken bringe, aber natürlich auch zu wissen, wie man Dinge formulieren muss und wie im Generellen die Zusammenarbeit zwischen humanoiden Entwickler und binärer Intelligenz aussehen könnte.

In meinem Fall war es und bleibt es eine Gradwanderung, dem Copiloten genug Wissen und Code-Awareness zuzuschreiben, ohne etwas zu komplex zu formulieren, wo eine Interpretierung des gewünschten Resultats nur unzureichend möglich ist.

Manchmal einfach nur doof

Als nicht KI- und ML-Experte fällt es mir manchmal schwer, zu verstehen, warum Copilot bei einfachsten Aufgaben falsche Ergebnisse liefert. Möchte ich ein Feld einer Klasse dokumentieren, schlägt mir dieser 1:1 eine Kopie des letzten Kommentares vor. Nur leider will ich gerade nicht den Titel, sondern die Beschreibung eines Objektes mit hilfreichen Anmerkungen versehen. Bei Enumerationen das gleiche Verhalten.

Dies ist für mich vor allem nicht begreiflich, da die komplette Klasse an sich vom Copiloten anhand eines beschreibenden Prompts fehlerfrei erstellt worden ist – wieso funktioniert anschließend nicht das Einfügen von englischsprachigen Kommentarblöcken?

Ist Copilot hilfreich für …?

… besser in einer Sprache zu werden

Diese Frage stelle ich mir, seitdem ich mit der Nutzung der KI begonnen habe. Wie erwähnt kann ich nicht immer den vollen Umfang der Qualität der vorgeschlagenen Lösungen beurteilen und ob mir Copilot eine gewisse Art von “wie man etwas macht” auferlegt, welche ich bei natürlichem Erlernen von Sprachen einen Bogen machen würde.

Ich denke, wie so oft kann hier Copilot einen Anstoß geben, einen Weg aufzuzeigen. Diesen zu verstehen, obliegt weiterhin jedem (lernendem) Entwickler selbst.

… unbeliebte Aufgaben erledigen

Ich muss gestehen, dass ich im Privaten merklich weniger Fokus auf Testabdeckung, TDD und Acceptance Criteria habe als in meinem Beruf.

Da ich dennoch in meinen Beiträgen für Dr. Windows diese Bestandteile einer guten Softwareentwicklung nicht vernachlässigen möchte, versuche ich immer mehr vor allem Copilot Chat – welcher den lokalen Quelltextstand erfassen kann – herzunehmen, um beispielsweise Unit-Tests bestimmter Klassen automatisch erstellen zu lassen.

(Mein) Fazit

Ich habe mein Abo des Copiloten noch nicht gekündigt, was für mich als Schwabe ein großer Schritt ist, langfristig in etwas einen Mehrwert zu sehen. In der wenigen Zeit, welche ich bisher in die Evaluation stecken konnte, habe ich den Hype dahinter noch nicht nachvollziehen können. Dennoch muss ich zugeben, dass ich mich ein bisschen ärgere, so lange gewartet zu haben, mich zu überwinden und künstlicher Intelligenz eine etwaige Daseinsberechtigung in der freizeitlichen Softwareentwicklung einzugestehen.

Es bleibt das Unbehagen beim Einsatz des Dienstes, ob der erzeugte Quelltext wirklich das ist, was ich in diesem Moment brauche, ob dieser genau die benötigte Mischung zwischen “erledigt den Job” und “ist höchst professionell geschrieben” aufweist, und wenn ich Copilot doch im beruflichen Umfeld einsetzen würde, ob dann nicht ein Fehler in der KI denselben Bug in tausenden Anwendungen einführen würde. Es sind für mich noch sehr viele Fragen offen. Dennoch will ich mich nicht länger versperren und bleibe erstmal am Ball, was in der KI-Landschaft noch alles so passiert und uns Entwickler entlasten könnte.

Wir sollten hier nicht vergessen, dass einerseits wir schlussendlich noch bestimmen, welche Quelltextvorschläge wir übernehmen und das Microsoft starke Mitbewerber hat. Seien es kommerzielle Anbieter wie JetBrains AI, Google Gemini in Android Studio oder quelloffene Konkurrenten, welche gefühlt täglich mehr werden.

Über den Autor

Tobias Scholze

Tobias Scholze

Bayrischer Open Source- und Community-Enthusiast, Verfechter des neuen Microsoft und Wandler zwischen den Betriebssystemwelten. #communityrocks Von Herzen ein Nerd mit der festen Überzeugung, dass man gemeinsam und durch den Einsatz von moderner IT die Welt für jeden ein Stückchen besser machen kann.

Anzeige