Assistent, aber kein Ersatz

Warum KI das Coden nicht komplett übernehmen wird

26.10.2023
Von 
Matt Asay ist Autor der US-Schwesterpublikation Infoworld.com.
Generative KI ist großartig im Umgang mit Routineaufgaben und dem Auffinden von Fehlern, aber das Fachwissen und die Intuition von Programmierern werden immer wichtig sein.
Die KI kann Programmierern zwar monotone Aufgaben abnehmen, ganz ohne humanoides Fachwissen geht es aber nicht.
Die KI kann Programmierern zwar monotone Aufgaben abnehmen, ganz ohne humanoides Fachwissen geht es aber nicht.
Foto: Dragon Claws - shutterstock.com

Aus Sicht von Simon Willison, britischer Softwareentwickler und Gründer von Datasette, "gab es noch nie eine bessere Zeit, um programmieren zu lernen". Das liegt nicht daran, dass KI das Programmieren übernimmt, das Gegenteil ist der Fall. "Große Sprachmodelle flachen die Lernkurve ab", argumentiert Willison. Das mache es nun für junge Entwickler einfacher, mit dem Programmieren anzufangen.

"Aber wir können und dürfen auf keinen Fall vergessen, wie man programmiert", mahnt Willison in seinem Blog. "Stattdessen können wir generative KI nutzen, um die Erfahrung der Entwickler zu verbessern, unabhängig von ihrem Erfahrungsstand."

Den "Willen zum Lernen" zelebrieren

Mike Loukides vom Fachbuchverlag O'Reilly Media stimmt Willison zu. Was das Thema Generative AI und Coding angeht, erinnert uns Loukides daran, dass "das Schreiben wirklich guter Prompts schwieriger ist, als es scheint. Um wirklich gut im Prompten zu sein, muss man ein Fachwissen darüber entwickeln, worum es bei dem Prompt geht." Oder anders ausgedrückt: Man muss ein guter Programmierer sein.

"Wer der Verlockung nachgibt, zu denken, dass KI eine Fundgrube für Fachwissen und Weisheit ist, die ein Mensch unmöglich erreichen kann, wird KI nie produktiv nutzen können", meint Loukides. Um nämlich KI-Tools wie AWS CodeWhisperer oder Google Codey effektiv einzusetzen, müsse man ihnen zunächst vermitteln, welche Ergebnisse erwartet würden. Und um der KI Schritt für Schritt zu sagen, wie sie Entwicklungsprobleme lösen soll, muss der Programmierer das Problem genau verstehen und wissen, wie er die KI dazu bringen kann, zu reagieren.

Ein Entwickler muss zudem in der Lage sein, zu beurteilen, wann die KI etwas falsch macht. Auch hier ist ein gewisses Maß an Fachwissen erforderlich. "Natürlich wollen wir, dass KI-Assistenten uns dabei helfen, ehrgeizigere Projekte in Angriff zu nehmen", fordert Willison ausdrücklich. Sie werden es Entwicklern aber nicht ersparen, sich mit Code auseinanderzusetzen.

Mit KI programmieren lernen

Für viele neue, aber auch erfahrene Entwickler, die eine bestimmte Sprache, ein Framework, eine Datenbank et cetera noch nicht kennen, kann die Lernkurve steil sein. "Wenn sie zum Beispiel ein Semikolon vergessen, bekommen sie eine seltsame Fehlermeldung und brauchen zwei Stunden, um den Fehler zu finden", erklärt Willison. Das kann dazu führen, dass sie aufgeben, weil sie denken, dass sie einfach nicht schlau genug sind, um programmieren zu lernen.

An dieser Stelle können KI-Assistenten eingreifen. "Man sollte keinen Informatikabschluss brauchen, um einen Computer dazu zu bringen, eine lästige Aufgabe zu erledigen", erklärt Willison. ChatGPT und andere LLM-gestützte Assistenten können diese automatisieren.

Automatisierung von Routineaufgaben

Diese Meinung unterstützt auch GitHub-Ingenieurin Jaana Dogan: "Die Leute konzentrieren sich zu sehr auf die Code-Generierung und ignorieren völlig, dass LLMs (Large Language Models) unter anderem für die Codeanalyse nützlich sind." Aus Dogans Sicht braucht es keine KI, die die ganze Arbeit macht. "Wir brauchen sie nur, um diskrete, langweilige Aufgaben zu automatisieren, die zwar nicht über den Erfolg einer Anwendung entscheiden, aber das Selbstvertrauen des Entwicklers zerstören könnten." Ein Programmierassistent könne diese lästige Arbeit übernehmen.

Wie immer gilt: Wer mit generativer KI und Softwareentwicklung anfangen will, muss loslegen! Fangen Sie klein an und automatisieren Sie einfache Aufgaben, die Sie verstehen, aber nicht unbedingt immer wieder schreiben wollen. Mit der gesparten Zeit können Sie sich darauf konzentrieren zu lernen, wie Sie die schwierigeren Aufgaben in Ihrem Code lösen können.

Dieser Artikel basiert auf einem Betrag der Schwesterpublikation Infoworld.com