13    Risiken und Ausblick

Schon im Vorwort haben wir die Frage aufgegriffen: Ist das Glas halb voll oder halb leer? Unbestritten helfen KI-Tools dabei, Ihre Effizienz als Entwicklerin oder Administratorin, als Programmierer oder Datenbankdesigner zu steigern. Ebenso unbestritten ist aber, dass KI-Tools Fehler machen, mitunter kapitale.

Die Fehler wiegen umso schwerer, weil gegenwärtigen KI-Tools eine inhärente Selbstkontrolle oder Selbstkritik fehlt. Statt eines simplen »Das weiß ich nicht« erhalten Sie eine höfliche Antwort, die sprachlich elegant formuliert, überzeugend argumentiert, aber dennoch komplett falsch ist.

In diesem Kapitel gehen wir auf die Risiken und Probleme von KI-Tools ein:

13.1    Probleme und Einschränkungen beim Einsatz von KI-Tools

Bei der Arbeit an diesem Buch, aber auch beim Programmieren für andere Projekte, sind wir beim Einsatz von KI-Coding-Hilfen auf diverse Probleme gestoßen. Dementsprechend haben wir in den vorangegangenen Kapiteln immer wieder auf Einschränkungen hingewiesen. An dieser Stelle fassen wir noch einmal zusammen, wo aus unserer Sicht die größten Einschränkungen und Tücken beim Einsatz von KI-Werkzeugen liegen.

Alter, umständlicher Code

Jedes Sprachmodell ist nur so gut wie sein Trainingsmaterial. Speziell für die Software-Entwicklung leidet das Training unter dem Umstand, dass es im Internet stets mehr altes als aktuelles Material gibt. Es gibt unendlich viele Seiten, die sich auf alte Java-Versionen beziehen, aber nur ganz wenige Seiten, in denen neu zu Java hinzugefügte Funktionen sinnvoll genutzt werden. (Sie können in diesem und den folgenden Absätzen Java durch die Programmiersprache Ihrer Wahl ersetzen.)

Tendenziell schlägt ChatGPT also häufig Code vor, der alte, etablierte Funktionen oder Bibliotheken nutzt. Der Code wird in der Regel funktionieren. Wenn Sie aber eine aktuelle Java-Version verwenden, hätte es vielleicht einen neuen, eleganteren, effizienteren Weg gegeben. Sie können versuchen, im Prompt die von Ihnen eingesetzte Versionsnummer anzugeben (sagen wir: Java 21), aber auch das hilft nur bedingt.

Die Frage der Wartbarkeit

Mit KI-Tools können Sie sehr schnell sehr viel Zeilen Code produzieren. Ihre so gemessene Produktivität wird großartig sein, Ihre Chefin wird Sie loben.

Wer aber wartet diesen Code? Wer behebt einen Fehler, der nur unter recht speziellen Umständen auftritt und das erste Mal nach drei Monaten entdeckt wird?

Wir haben in diesem Buch schon gezeigt, dass ChatGPT & Co. auch bei der Fehlersuche eine große Hilfe sein können. Aber noch besser ist kompakter, gut durchdachter Code, der von Anfang an funktioniert.

Nun bestreiten wir keineswegs, dass KI-Tools oft ausgezeichneten Code liefern. Aber das ist leider nicht immer der Fall. Eine erfahrene Entwicklerin wird den KI-Code vermutlich hinterfragen, vielleicht einen zweiten Versuch starten. Aber viele Programmierer werden ganz pragmatisch einen kurzen Test durchführen, ob die neue Funktion das tut, was sie soll, und es dabei bewenden lassen – auch wenn der Code, objektiv betrachtet, nicht optimal ist.

Datenschutz

Wenn Sie kostenlose KI-Dienste von kommerziellen Anbietern (OpenAI, Microsoft, Google usw.) nutzen, werden Ihre Prompts, die resultierenden Antworten sowie Ihre Reaktion darauf gespeichert und zum Training zukünftiger Sprachmodelle verwendet. So weit, so fair. Wie bei vielen anderen Diensten, die kostenlos sind, zahlen Sie also mit Ihren Daten.

Für viele Unternehmen ist Code dagegen ein Firmengeheimnis. Selbst entwickelte Algorithmen machen einen Teil des Firmenwerts aus. Solche Unternehmen haben kein gutes Gefühl dabei, Editoren mit KI-Unterstützung quasi ungehindert Zugriff auf den ganzen Code zu geben.

Natürlich versprechen KI-Firmenangebote (z. B. GitHub Copilot Business) einen gewissen Datenschutz. Wie weit dieser reicht und ob die eher vagen Versprechungen (»your data is excluded from training by default«) tatsächlich eingehalten werden, lässt sich aber nur schwer abschätzen, geschweige denn überprüfen.

Selbst wenn die KI-Unternehmen nach besten Wissen und Gewissen versuchen, Datenschutzbestimmungen einzuhalten, passieren Fehler. KI-Werkzeuge sind mit der heißen Nadel gestrickt; wer mit guten KI-Produkten zuerst auf dem Markt ist, kann nennenswerte Marktanteile gewinnen. Da können die Qualitätskontrolle und das Code-Reviewing schon einmal zu kurz kommen.

Seit Edward Snowdens Enthüllungen ist es zudem keine Verschwörungstheorie, sondern Fakt, dass die US-Geheimdienste nahezu uneingeschränkten Zugriff auf US-Cloud-Speicher haben. KI-Firmen, die fast ausschließlich in den USA agieren, sind davon wohl kaum ausgenommen.

Die Kirche im Dorf lassen

Speichern Sie Ihren Code in GitHub-Repositorys? Verwenden Sie VS Code mit allen erdenklichen Plug-ins? Dann ist Ihr Code schon zweifach gefährdet. Der Einsatz eines kommerziellen Coding-Assistenten verschlimmert die Lage nicht dramatisch.

Wenn Sie umgekehrt aus Datenschutzgründen vor dem Einsatz von KI-Tools beim Coding zurückschrecken, müssen Sie auch Ihre sonstigen Sicherheitsmaßnahmen hinterfragen. Sie sollten unbedingt Ihre Git-Repositorys selbst betreiben (z. B. in einer GitLab-Instanz auf einem Firmen-Server). Außerdem sollten Sie bei der Auswahl der Entwicklungswerkzeuge und der dazugehörenden Plug-ins sehr wählerisch sein. Der Editor muss Ihren Code lesen können, die meisten Plug-ins ebenfalls. Ein bösartiges Plug-in kann somit Ihren Code kompromittieren.

Eine neue Abhängigkeit

Wir wissen nicht, wie oft bzw. wie sportlich Sie radfahren. Sie haben die Wahl, ob Sie ausschließlich auf eigene Muskelkraft setzen oder ob Sie sich von einem Motor unterstützen lassen. Die erste Fahrt mit einem E-Bike ist auf jeden Fall ein Genuss! Ganz egal, ob Sie die Steigung eines kleinen Hügels oder eines ganzen Bergpasses bezwingen möchten – beides gelingt ungleich schneller und bequemer.

Es dauert nicht lang, dann haben Sie sich an die Unterstützung durch Motor und Akku gewöhnt. »Gewöhnliches« Radfahren macht anfänglich keinen Spaß mehr, ein, zwei Jahre später fehlt auch die Muskelkraft. Es gibt kein Zurück mehr, und die Versuchung, immer öfter den Turbo-Modus (oder wie immer die höchste Unterstützungsstufe bei Ihrem E-Bike heißt) zu nutzen, wird immer höher.

Sie ahnen sicher, worauf dieser Vergleich abzielt. Programmieren mit KI-Unterstützung ist nicht nur effizienter, es ist auch bequemer. Mit der Zeit wissen Sie die Syntax häufiger Konstruktionen nicht mehr auswendig, denken beim Formulieren von Schleifen nicht mehr nach, verlassen sich mehr und mehr auf den Code, den Ihr KI-Tool liefert. Ein kurzer Test, ob alles wie erwartet funktioniert – weiter geht’s!

Es dauert nicht lange, bis Sie von KI-Tools abhängig sind. Auch wenn Sie das »richtige« Programmieren noch nicht (ganz) verlernt haben – ohne KI-Unterstützung sind Sie nicht mehr so gewandt und leistungsfähig wie früher.

Besonders fatal kann sich das auswirken, wenn politische, wirtschaftliche oder juristische Gründe dazu führen, dass KI-Dienste in einem Land nicht mehr angeboten werden dürfen. Stellen Sie sich vor, ein Gericht entscheidet, dass die KI-Dienste von OpenAI, Microsoft, Apple oder einer anderen IT-Firma den EU-Datenschutzbestimmungen nicht entsprechen. Um einen langen Streit oder hohe Zahlungen zu vermeiden, wird der Dienst in der EU einfach abgeschaltet. Das wäre eine ziemlich unerfreuliche Perspektive, auch aus Konkurrenzgründen. (Wie sollen europäische Entwickler ohne KI-Unterstützung mit amerikanischen Programmierern mit diesen Tools mithalten?)

Programmieren lernen in Zeiten der KI

Grundsätzlich wenden wir uns in diesem Buch an Leserinnen und Leser, die schon programmieren können. Aber ganz kurz wollen wir unseren Blick auf die nächste Generation werfen. Das Erlernen neuer Fähigkeiten erfordert, dass man diese tatsächlich übt. Das Schreiben von Deutschaufsätzen ist sicherlich eine mühsame Schulübung, aber unerlässlich, um später selbst überzeugende Texte formulieren zu können. Analog ist das anfänglich frustrierende Zusammenstellen der ersten eigenen Codezeilen wichtig, um Grundtechniken des Programmierens zu lernen.

Ein verantwortungsvolles Ausmaß für den Einsatz von KI-Werkzeugen zu finden, ist für Schulen und Universitäten aktuell eine riesige Herausforderung. Erschwerend kommt hinzu, dass geeigneten Kontrollmechanismen fehlen. Selbst programmierter Code ist am ehesten anhand der darin enthaltenen Fehler zu erkennen. Aber natürlich ist es unzulässig, jeden brauchbaren Code sofort unter Generalverdacht zu stellen: »Diese Übung haben Sie aber mit KI-Hilfe erledigt, oder?«