Das Thema Künstliche Intelligenz (KI) hat in den letzten Jahren enorm an Aufmerksamkeit gewonnen. Insbesondere ChatGPT, das im Jahr 2022 vorgestellt wurde, steht dabei zweifellos im Mittelpunkt.
Die Frage, ob KI unsere Arbeitswelt dominieren wird und welche Auswirkungen dies auf unsere berufliche Zukunft haben wird, ist aktueller denn je. In diesem Beitrag möchte ich einen Einblick in den Alltag eines Softwareentwicklers geben, der täglich von dieser fortschrittlichen Technologie profitiert.
Ich war schon immer begeistert von innovativen Technologien wie ChatGPT oder GitHub Copilot. KI ist für mich ein Werkzeug, das ich nahtlos in meine tägliche Arbeit integriere. Egal ob es um Automatisierung geht oder der Copilot die Rolle eines Pair-Programming-Partners übernimmt. Doch was ist GitHub Copilot eigentlich? Das Tool ist eine Entwicklungsumgebung, die in Zusammenarbeit zwischen GitHub und OpenAI entstanden ist. Es handelt sich um ein leistungsstarkes, KI-gestütztes Tool, das Entwicklern beim Schreiben von Code unterstützt, indem es automatisch Vorschläge für Code-Snippets und -Abschnitte generiert. Dabei analysiert es nicht nur die Syntax der Programmiersprache, sondern auch den Kontext des Projekts in Echtzeit.
Modelle wie ChatGPT und darauf basierende Systeme verwenden Sprachmodelle, die im Wesentlichen als nicht denkende Entitäten betrachtet werden können. Sie sind auf die Verarbeitung von Text spezialisiert und erzeugen kontextbezogene Antworten auf der Grundlage der umfangreichen Daten, mit denen sie trainiert wurden - im Wesentlichen das gesamte Internet. Es ist wichtig zu betonen, dass diese KI-Modelle keine inhärente Fähigkeit zum Denken oder zum Verstehen von Informationen besitzen.
Die Herausforderung besteht darin, dass diese Systeme auf spezifische Aufgaben beschränkt sind und keine umfassenden Wissensmodelle entwickelt haben. Ohne ein tieferes Verständnis der Welt können sie nur Muster erkennen und darauf reagieren. In der aktuellen Diskussion um Künstliche Intelligenz ist es wichtig zu erkennen, dass KI, wie z.B. ChatGPT, eine leistungsfähige Unterstützung für bestimmte Aufgaben sein kann, aber nicht die kognitive Komplexität und das Verständnis eines menschlichen Gehirns besitzt.
Um das Thema zu vertiefen, werde ich einige praktische Aspekte betrachten. Zum Beispiel erfordert das Programmieren einer Login-Funktion jedes Mal ähnliche Schritte: HTML-Markup, Styles, Login-Controller im Backend und vieles mehr. Der Code kann je nach Programmiersprache oder Framework variieren, aber die grundlegende Aufgabe bleibt die gleiche. Mit GitHub Copilot muss ich nicht mehr viel darüber nachdenken. Ich beginne damit, die Methode oder das Markup zu definieren und schwups - in wenigen Sekunden kann ich den gesamten Code generieren lassen.
Ein Beispiel:
Wir bleiben beim Thema Login. Unser Kunde möchte eine typische CRUD-Anwendung, auf die man nur mit einem gültigen Account zugreifen kann. Für unser Szenario nehmen wir einmal eines der populärsten und größten Frameworks, nämlich das PHP-Framework Laravel.
Für eine Laravel Applikation ist es üblich, einen LoginController zu haben. Wir erstellen uns also einmal mit dem CLI Kommando einen neuen Controller.
php artisan make:controller LoginController
Nun stellt sich die Frage, was bei einem Login so wichtig ist. Ein Punkt ist definitiv die Validierung der Benutzerdaten. Niemals einem Frontend vertrauen!
Hier können wir die Autovervollständigung von GitHub Copilot nutzen:
Um den Prozess aber noch deutlich zu beschleunigen, können wir auch die etwas neuere und integrierte Prompt-Variante verwenden, bei der wir GitHub Copilot Anweisungen geben.
Innerhalb weniger Sekunden vervollständigt GitHub Copilot den Code für mich. Das spart nicht nur wertvolle Zeit, sondern ermöglicht es mir auch, mich auf anspruchsvollere Aufgaben zu konzentrieren. Das Schöne daran ist, dass sich der Prompt auf den Kontext meines bereits vorhandenen Codes bezieht. Schaut man jedoch etwas genauer hin- und hier kommt unsere Expertenrolle ins Spiel - so fehlt das Erstellen der Session. Laravel bietet hier bereits eine Funktion, um sogenannte “Session Fixation Attacks” zu vermeiden.
Es ist wichtig zu betonen, dass der Name „Copilot“ und nicht „Captain“ lautet. Als Experte muss ich sicherstellen, dass die vorgeschlagenen Lösungen sicher und optimal sind. Ein einfaches Sprachmodell allein kann uns also nicht ersetzen. Dennoch bin ich unendlich dankbar, dass die KI uns eintönige, repetitive Aufgaben abnimmt, damit wir Entwickler uns auf die anspruchsvolleren Arbeiten konzentrieren können: Software zu modellieren, Algorithmen zu entwickeln oder Softwarearchitekturen zu entwerfen sind genau die Bereiche, in denen ich ausgebildet wurde und geschätzt werde.
Eine Studie von Microsoft hat die Auswirkungen von GitHub Copilot auf die Produktivität von Entwicklern untersucht. Mehr als 2.000 Entwickler wurden befragt, um nicht nur die Geschwindigkeit, sondern auch die ganzheitlichen Auswirkungen zu verstehen. Die Studie basiert auf dem SPACE Productivity Framework und zeigt, dass Entwickler, die Copilot nutzen, nicht nur ihre Aufgaben schneller erledigen, sondern auch eine höhere Zufriedenheit und mehr mentale Energie erfahren. Zwischen 60-75% der Nutzer fühlen sich bei ihrer Arbeit erfüllter und beim Programmieren weniger frustriert. Ein kontrolliertes Experiment mit 95 Entwicklern bestätigte nicht nur die schnellere Erledigung von Aufgaben, sondern auch eine höhere Erfolgsquote bei den Copilot-Benutzern. Die Studie betont, dass die Auswirkungen von KI-gesteuerten Entwicklungswerkzeugen ein sich entwickelndes Forschungsfeld sind und weitere Erkenntnisse in den kommenden Monaten erwartet werden.
Natürlich gibt es auch Schattenseiten, die auf eine Verschlechterung der Codequalität hindeuten. In diesem Zusammenhang zeigt eine Studie, dass GitHub Copilot zwar die Programmiergeschwindigkeit um 55 % erhöht und einen erheblichen wirtschaftlichen Beitrag leistet, jedoch Bedenken hinsichtlich der Qualität und Wartbarkeit des generierten Codes aufwirft. Die untersuchten Trends deuten darauf hin, dass sich der Code-Churn, d. h. der Prozentsatz der innerhalb von zwei Wochen aktualisierten Codezeilen, bis 2024 im Vergleich zum Basisjahr vor KI verdoppeln dürfte. Darüber hinaus nimmt der Anteil von „hinzugefügtem“ und „kopiertem“ Code im Vergleich zu „aktualisiertem“, „gelöschtem“ und „verschobenem“ Code zu. Diese Entwicklungen erfordern ein kritisches Nachdenken über die Auswirkungen auf die Codequalität und die langfristige Wartung von Softwareprojekten. Ich halte dies jedoch aus zwei Gründen nicht für gravierend:
- Die Modelle werden von Jahr zu Jahr intelligenter. Ich bin zuversichtlich, dass die Codequalität weiter steigen wird.
- Die Modelle sind, wenn sie verantwortungsbewusst eingesetzt werden, nicht allein: Wir als Experten müssen dafür sorgen, dass die Codequalität hoch bleibt. Eine fundierte Ausbildung oder ein Studium sind dafür unerlässlich. Aber KI hilft uns, die Arbeit, die wir früher gemacht haben, teilweise doppelt so schnell zu erledigen.
In einer Zeit, in der künstliche Intelligenz unseren Arbeitsalltag prägt, eröffnet GitHub Copilot neue Horizonte für die Softwareentwicklung. Die positiven Auswirkungen auf Produktivität und Zufriedenheit sind offensichtlich, aber wir müssen uns bewusst sein, dass die Verantwortung weiterhin bei uns liegt.
Als Softwareentwickler sollten wir die Vorteile der KI nutzen, aber gleichzeitig unsere Fähigkeiten als Experten einsetzen, um sicherzustellen, dass die entwickelten Lösungen den höchsten Standards entsprechen. Die Zukunft der Softwareentwicklung wird zweifellos von KI geprägt sein, und es liegt an uns, diese Zukunft verantwortungsvoll zu gestalten.
Beitragsbild: Neeqolah Creative Works