Künstliche Intelligenz: Wunderwaffe in der Software-Entwicklung?

Ki software-entwicklung

Es begann wie ein Generationenkonflikt. Die „junge Garde“ in Entwicklung und Support prescht vor, baut im Handumdrehen mit KI ganze Dialoge und findet Lösungen für Fehlerfälle. Die „alten Hasen“ verwehren sich dagegen und schließen den Einsatz von KI in der Entwicklung kategorisch aus.

An Hand von konkreten Beispielen wurden das Thema anschließend konstruktiv unter die Lupe genommen und mit allen Ergebnissen und Erkenntnissen in einem internen Meeting vorgestellt.

Künstliche Intelligenz ist präsent

50% der deutschen Großunternehmen und 17% der Kleinunternehmen nutzen die Künstliche Intelligenz bereits. Die Zuwachsrate von 2023 auf 2024 lag bei 8%. KI ist also bereits präsent und nichts, was erst in der Zukunft kommen wird. Die Einsatzmöglichkeiten könnten vor allem in Kleinunternehmen weit größer sein, wenn das nötige Wissen vorhanden wäre.

Kurz gesagt bringt die KI für uns einige Vorteile. Wir müssen sie aber mit Bedacht einsetzen, um den durchaus auch vorhandenen Nachteilen aus dem Weg zu gehen. Zudem ist es wichtig, unterschiedliche Einsatzbereiche individuell zu betrachten und nicht alles in einen Topf zu werfen.

Fallbeispiel 1: Graphische Oberfläche

Die Aufgabe für die KI bestand darin, einen Login-Dialog für eine Web-Anwendung zu erstellen. Die gewünschte Programmiersprache und die benötigten Felder waren vorgegeben.

Tatsächlich lieferte die KI eine echte Startseite mit konkretem Code. Das Staunen war groß, ebenso die anfängliche Verlockung, diese Seite tatsächlich weiter zu verwenden. Aber die Vernunft schaltete sich schnell ein und verbot es, das KI-Ergebnis als fertiges Produkt zu betrachten und unreflektiert einzusetzen. Eine Analyse des Codes brachte etliche wichtige Erkenntnisse für die Software-Entwicklung mit KI.

Einsatzbereiche und Vorteile

  • KI kann repetitive Aufgaben im Bereich html und css vereinfachen und effizienter machen.
  • Ein Grundgerüst lässt sich nach genauen Vorgaben dynamisch generieren.
  • Kundenbasierte Anpassungen können schnell visualisiert werden.


Nachteile

  • Bei graphischen Oberflächen können Teile verschoben sein, weil die KI das nicht erkennen kann.
  • Bei JavaScript und erst recht bei komplexeren Programmiersprachen kann die KI bestenfalls eine Hilfe sein.
  • Die Codevorschläge können fehlerhaft oder unsauber sein.
 

Quintessenz und Empfehlung

  •  Bis ein fertiges Software-Produkt vorliegt, sind viele Anpassungen und Eigenleistungen nötig.
  • Der Entwickler muss seinen Code immer kontrollieren und in der Lage sein, ihn zu verstehen.
  • Die KI kann den Entwickler nicht ersetzen, ihn aber in ausgewählten Bereichen gut unterstützen.

Fallbeispiel 2: Recherche und eLearning

Im Bereich Recherche wurde KI verwendet, um die Suche nach einem Text-Editor zu erleichtern. Das Ergebnis war eine übersichtliche Darstellung verschiedener Tools mit Features, Vor- und Nachteilen sowie einer abschließenden Empfehlung. Aus der riesigen Menge an Wissen hat die KI die wichtigsten Inhalte extrahiert und zu Vorschlägen formuliert.

Im Bereich Lernen ging es darum, schnell Grundkenntnisse mit MySQL zu sammeln. Hier lieferte die KI schrittweise Erklärungen zum Aufbau und zu Best Practices. Jeder Schritt wurde auf Nachfrage genauer erklärt. So konnte sich der Junior Entwickler die Grundlagen zunächst selber erarbeiten und die erfahrenen Kollegen erst später gezielt befragen.

Quintessenz und Empfehlung

Die KI kann die ersten Rechercheschritte abnehmen und dadurch einiges an Zeit sparen. Das intuitive Ergebnis dient als Grundlage für weitere gezielte Recherchen, bei denen mit menschlicher Intelligenz detailliertere Informationen oder Fallbeispiel gesucht werden. Auch für Ideensammlungen eignet sich die KI.

Die Abhängigkeit von KI-Tools darf aber nicht zu groß werden. Alle Ergebnisse, die die KI liefert, müssen von der menschlichen Intelligenz verifiziert und verfeinert werden. Das gilt sowohl für allgemeine Themen als auch für Code, den die KI produziert. Junge Entwickler müssen sich über verschiedene Wege neues Wissen aneignen und natürlich auch viel von ihren erfahrenen Kollegen lernen.

Fallbeispiel 3: Serverproblem mit Docker

SIm Mittelpunkt stand ein Problem mit einem überlasteten Server beim Starten eines Docker-Containers. Hier wurde zunächst der naheliegende Weg gewählt und eine Suche im Web gestartet. Sie lieferte zwar etliche Ergebnisse, die sich allerdings bei genauerer Betrachtung als veraltet, unvollständig erklärt oder kontrovers darstellten und nicht weiterhalfen. 

Als nächstes kam ChatGPT zum Einsatz. Es wurde zunächst gefragt, was man beim Start eines Docker-Containers einstellen muss, damit der Container bei Überlastung des Servers nicht abschaltet. Weitere Fragen bezogen sich konkret auf sinnvolle Werte bei CPU und Speicherlimit sowie ein OomKill.

Die Antworten brachten gepaart mit menschlicher Intelligenz tatsächlich eine tragfähige Lösung.

Quintessenz und Empfehlung

Die Anfragen an die KI müssen sehr genau formuliert werden, um brauchbare Antworten zu liefern. Ohne menschliche Intelligenz wird die künstliche Intelligenz alleine keine Lösung finden.

Fallbeispiel 4: Syntaxfehler finden

Die Künstliche Intelligenz kann bestehenden Code untersuchen, der auf einen Fehler läuft. Im Beispiel wurde nicht nur die falsche Syntax erkannt, sondern zusätzlich erklärt, warum der Fehler auftritt, wie eine Lösung aussehen kann und wie diese funktioniert.

Quintessenz und Empfehlung

Mit Hilfe der KI können Support-Mitarbeiter Probleme lösen oder hilfreiche Vorarbeiten für die Entwickler leisten. Hier muss aber vor allem der Datenschutz im Auge behalten werden. Sensible Daten, Links und Passwörter dürfen keiner KI zur Analyse gegeben werden. Auch im Hinblick auf Urheberrechte ist größte Vorsicht geboten, wenn der eigene Code einer öffentlich zugänglichen KI übergeben wird. Bei einer privaten KI würde sich die Lage bei diesem Aspekt zwar anders darstellen, aber ob das den Trainingsaufwand aufwiegt, ist fraglich.

Fazit

Künstliche Intelligenz ist keine Wunderwaffe für die Software-Entwicklung. Sie kann keinen erfahrenen Entwickler ersetzen. Sie kann aber die Produktivität deutlich steigern und die Entwickler bei repetitiven Routineaufgaben entlasten.
 
Der Einsatz von KI muss stets wohlüberlegt und gezielt erfolgen. Je konkreter die gestellten Fragen sind, desto besser werden die Antworten ausfallen. Und trotzdem müssen die Antworten mit menschlicher Intelligenz geprüft und weiter angereichert werden.
 
Diese Erkenntnissen versöhnten die eingangs genannten Generationen. Gegen sinnvolle Unterstützung hat niemand etwas einzuwenden, wenn die internen Qualitätsrichtlinien eingehalten werden. Es bleibt auf jeden Fall spannend, denn gerade in diesem Bereich ist eine dynamische Entwicklung mit vielen neuen Möglichkeiten zu erwarten.
Ki software-entwicklung
Hilfe für Anwendung gesucht

Hilfe!…geht nicht!

Das ruft der Benutzer gerne mal, wenn etwas nicht so funktioniert, wie er es erwartet.

Cookie Consent mit Real Cookie Banner