Wie kann man künstliche Intelligenz (KI) in der Softwareentwicklung nutzen?
Auch gestandene Softwareentwickler, die die Grundfunktionen von KI verstehen und nachvollziehen, fühlen sich immer wieder überwältigt von der Genialität dieser Technologie. Künstliche Intelligenz eröffnet Möglichkeiten, die bis vor Kurzem undenkbar waren.
Mit einem kurzen Prompt schreibt KI Texte, generiert Bilder und Videos und ermöglicht enorme Fortschritte in der Softwareentwicklung. KI macht das Programmieren viel produktiver und effizienter.
Künstliche Intelligenz
Künstliche Intelligenz analysiert riesige Datenmengen mithilfe komplizierter Algorithmen. Doch KI lernt nicht nur auswendig, sondern erkennt auch Zusammenhänge und Muster. Sie arbeitet mit dem Nutzer zusammen und lernt ständig dazu.
Das Modell kann sich Informationen merken und darauf zurückgreifen, um neue Informationen mit bestehendem Wissen zu verknüpfen. Richtig eingesetzt steigert KI die Qualität, Geschwindigkeit und Produktivität der Softwareentwicklung.
Consulting
ChatGPT von OpenAI und GitHub Copilot von Microsoft sind bisher die beiden herausragenden KI-Modelle für Entwickler. Sie eignen sich grundsätzlich für alle existierenden Entwicklungsumgebungen.
Den ersten Baustein noch vor Beginn einer Softwareentwicklung stellt eine Beratung durch KI dar.
Als einfaches Beispiel sollen über SQL Daten aus einer Datenbank, beispielsweise IBMi, gelesen werden. Die Programmiersprache spielt keine Rolle. Auf die einfache Frage „Create Table…“ antwortet KI innerhalb von Sekunden. Oft schlägt sie für das Problem mehrere Lösungen vor.
Das Beispiel umfasst: Lesen Sie mit SQL die Summen, den Durchschnitt und das Maximum aller Sätze des Feldes „Umsatz“ in der Tabelle „Umsätze“. Gruppieren Sie sie nach Kundennummer und wandeln Sie sie in C# um. KI erstellt in Sekundenschnelle den kompletten Code. Jetzt muss nur noch der erforderliche Datenbanktreiber installiert sein, damit die richtigen Werte aus der entsprechenden Data Source genutzt werden können. Der Code wird kopiert, eingefügt und funktioniert sofort. KI erkennt, in welcher Sprache die Frage gestellt wurde, und antwortet entsprechend ohne Rechtschreib- oder Grammatikfehler. Ob C#, RPG, Pascal oder auch Apple-Programmierung – der Code kann in jeder Sprache erstellt werden.
Künstliche Intelligenz ist auch in der Lage, notwendige Informationen abzufragen. Die Aufgabe für KI lautet, alle Sätze aus einer Tabelle zu lesen, doch die Frage ist unvollständig formuliert. Das Programm fragt dann eigenständig nach allen erforderlichen Informationen, um die Frage zu verstehen. Welche Tabelle? Welche Datenbank? Welche Programmiersprache? Mit den notwendigen Angaben erklärt die KI – wieder in Sekundenschnelle – alle erforderlichen Schritte und formuliert den entsprechenden Code.
Für einen Eingabedialog liefert die KI nicht nur den Code, sondern erläutert ihn auch und gibt hilfreiche Handlungsanweisungen. Beispielsweise kann KI problemlos mit C# einen Login-Dialog erstellen, der ein Benutzerpasswort verwendet.
Sie liest Daten aus einer vorgegebenen Tabelle einer bestimmten Datenbank und trägt die wesentlichen Informationen sofort korrekt ein.
Die Code-Analyse
Der nächste hochinteressante Einsatzbereich für KI ist die Codeanalyse, welcher Entwickler dokumentiert schon gerne seinen Code? Für einen unbekannten Code, beispielsweise in C#, lautet der entsprechende Befehl „EXPLAIN CODE“. Jetzt analysiert KI den Code und sagt, dieser Code:
- Erstellt ein neues Formular
- Legt darauf eine Combobox ab
- Legt darauf eine ListBox ab
- Fügt drei Namen, Tick, Trick und Track in eine Liste ein
- Schreibt diese Namen in die Combobox
- Schreibt diese Namen in die Listbox
Ein beliebiger Source Code lässt sich in GitHub oder ChatGPT einladen, KI erklärt grundsätzlich jeden unbekannten Code.
Oder dem Entwickler liegt der fertige Code vor, doch er weiß nicht, wie er ihn am besten aufruft. Über „SHOW EXAMPLE CODE“ zeigt KI, wie sich der Code verwenden, implementieren, ausbauen und weiterentwickeln lässt.
Über den Befehl „EXPLAIN CODE“, lässt sich gleichzeitig das Programm lesen und vergleichen, was KI dazu sagt. KI liefert eine vollständige Dokumentation über Funktionalität und Verhalten des Codes.
Ist die Antwort zu ausführlich oder zu knapp, gibt es die Möglichkeit einer Zusammenfassung oder genauere Erläuterungen.
Hintergrundwissen
Ein weiterer interessanter Punkt für Softwareentwickler ist Hintergrundwissen zu den Aufgaben des Codes.
KI erklärt sowohl eigene als auch fremde Codes.
Treten beispielsweise in einem SQL-Code error states auf, dann erklärt KI auf Anfrage, was diese bedeuten und wie sich der Code bearbeiten lässt.
Selbstverständlich übersetzt KI auch Codes in Windeseile und unterstützt dabei Programmiersprachen wie Python, Java, C++ oder TypeScript. Allerdings muss erwähnt werden, dass die Ergebnisse differieren, je nachdem wie gut KI den Code versteht und wiedergibt.
Coding Support
Eine große Hilfe der KI ist der Coding Support bei der laufenden Arbeit, so lassen sich auch neue Dinge lernen.
Muss der Entwickler beispielsweise in einer neuen Sprache programmieren, dann ermöglichen GitHub Copilot – oder ChatGPT – eine sogenannte Rückwärtsprogrammierung.
Der Nutzer schreibt zuerst den Kommentar, dann liefert KI den Code. Der Code wird angepasst, und ein neuer Kommentar gibt vor, welcher Schritt als nächstes erfolgen soll. Normalerweise programmiert der Entwickler erst und kommentiert dann.
Übrigens macht KI jeweils mehrere Angebote für die nächsten Programmierschritte. Der User bestätigt und übernimmt den Vorschlag, der ihm am besten zusagt. Ist etwas unklar, erklärt es die KI.
KI als Komponente in der Software
Mithilfe von KI lässt sich Software erstellen oder KI als Komponente in die Softwareentwicklung einbauen.
API steht für Application Programming Interface, es ist eine Schnittstelle, über die Entwickler Zugriff auf Daten oder Dienste externer Quellen bekommen.
Services von OpenAI (ChatGPT) lassen sich so als Element in Softwarelösungen einsetzen. Open AI ist zurzeit weltweit führend, doch es gibt auch andere Anbieter.
Die Technik RAG (Retrieval Augmented Generation) ist eine weitere faszinierende Möglichkeit, KI einzusetzen. Kontextbezogene Daten werden aus einer externen Quelle herangezogen, beispielsweise werden Wetterdaten aus San Francisco in eine API eingebaut. Damit erhöhen sich die Möglichkeiten für eine KI, präzise Antworten zu geben, beträchtlich.
Fazit
Obwohl als künstliche Intelligenz bezeichnet, arbeitet das KI-Modell nur mit Wahrscheinlichkeiten. Es versucht, für jeden Arbeitsschritt eine Antwort vorherzusagen – ein Konzept von richtig oder falsch gibt es nicht.
KI ist immer nur so gut wie die Datensätze, mit denen sie trainiert wurde. Deswegen ist und bleibt es wichtig, verantwortungsvoll mit ihr umzugehen.
Noch steckt die Technologie in den Kinderschuhen, wo es in Zukunft hingehen wird, darüber sind sich selbst Experten nicht einig.
Stand heute müssen sich Softwareentwickler keine Sorgen um ihre Zukunft machen. Ihr Fachwissen wird international händeringend gesucht. Weltweit besteht die Notwendigkeit, IT-Systeme für Behörden oder Unternehmen aufzubauen und zu modernisieren. Von den riesigen Fortschritten, die KI in Bildung und Medizin bewirken könnte, ganz zu schweigen.
Mehr Effizienz und Geschwindigkeit beim Softwareprogrammieren durch Hilfe von KI sind nur wünschenswert.
Interessante Links:
Mehr über KI in der Softwareentwicklung auf dem Exxeta Blog
Wie KI Softwareentwickler unterstützen kann
Bilder: Canva
Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.
Schreibe einen Kommentar