Getty Images/iStockphoto

Ist ChatGPT besser als Low-Code-Tools für die Programmierung?

ChatGPT kann zwar Code schreiben, aber es kann keinen Code integrieren oder Designideen entwickeln. Außerdem birgt es Sicherheits- und Lizenzierungsrisiken.

Man muss nicht lange suchen, um Vorhersagen über Branchen und Produktkategorien zu finden, die in Zukunft von generativen KI-Technologien angeblich zerstört werden sollen. Hier ist eine Nische, die vor ChatGPT sicher ist, zumindest im Moment: Low-Code-Plattformen.

Die Low-Code-Entwicklung ermöglicht es sowohl ausgebildeten Softwareentwicklern als auch sogenannten Citizen Developer, Anwendungen effizient zu erstellen, unabhängig davon, wie viel oder wenig Erfahrung sie mit Programmierung und Softwareentwicklung haben. Es gibt viele Low-Code-Plattformen, und jede bietet eine Reihe von Funktionen für das Design und die Entwicklung von Anwendungen.

ChatGPT und ähnliche KI-Technologien können auf Anfrage Code generieren. Aufgrund der fehlenden Funktionen und der mangelnden Sicherheit wird ChatGPT die Low-Code-Entwicklungs-Tools in den meisten Unternehmen wahrscheinlich nicht so bald ersetzen. Vielmehr wird KI Low-Code-Plattformen eher ergänzen als verdrängen.

Ähnlichkeiten zwischen ChatGPT und Low-Code

ChatGPT und KI-Entwicklungstechnologien – einschließlich GitHub Copilot und Amazon CodeWhisperer – können einige der gleichen Aufgaben wie Low-Code-Tools übernehmen.

Sie können automatisch Code generieren, der auf die Anfrage eines Benutzers zugeschnitten ist. Wird ChatGPT zum Beispiel aufgefordert, eine Python-Funktion zu schreiben, um Daten aus einer MySQL-Datenbank abzurufen, antwortet das Tool:

import pymysql

def pull_data_from_mysql(database, table, user, password,
host='localhost', port=3306):

    # Verbindung zur Datenbank
     conn = pymysql.connect(
    host = host,
    port = port,
    user = user,
    password = password,
    database = database
     )

    # Cursor-Objekt erstellen, um Abfragen auszuführen
     cur = conn.cursor()

    # Ausführen einer SELECT-Anweisung
     cur.execute(f"SELECT * FROM {table}")

    # Alle Datensätze abrufen
     rows = cur.fetchall()

    # Verbindung und Cursor schließen
     cur.close()
     conn.close()

    # Rückgabe der Daten
     return rows

Wenn Sie die richtigen Werte in diesen generierten Code einfügen, verbindet er eine reale Python-Anwendung mit einer MySQL-Datenbank.

Durch die automatische Generierung von Code wie in diesem Beispiel können KI-Tools wie ChatGPT sowohl technisch nicht versierten Geschäftsanwendern, die keinen Code erstellen können, als auch professionellen Softwareentwicklern, die schnell Code generieren müssen, unterstützen. Low-Code-Anbieter richten sich ebenfalls an diese Gruppen.

Wo ChatGPT im Vergleich zu Low-Code unterlegen ist

Tools wie ChatGPT sind, zumindest in ihrem derzeitigen Zustand, kein vollwertiger Ersatz für Low-Code-Plattformen. Es gibt zu viele Funktionen in diesen Plattformen, die KI-Dienste nicht gut nachbilden können.

Zu den Funktionen, mit denen ChatGPT zu kämpfen hat, gehören Anwendungsdesign, Integration, Sicherheit und Lizenzmanagement.

Anwendungsdesign

ChatGPT und ähnliche Tools können Code generieren, um einen bestimmten Teil einer Anwendung zu implementieren. Sie unterstützen jedoch nicht bei der Auswahl der funktionalen Elemente, die in die Anwendung aufgenommen werden sollen, oder bei der Organisation dieser Funktionen in einer kohärenten Anwendungsarchitektur.

Die visuellen Schnittstellen von Low-Code-Tools zeigen die Funktionalität, die Benutzer implementieren können, und wie Funktionen potenziell integriert werden können, um eine Anwendung zu erstellen. Im Gegensatz zu ChatGPT unterstützen Low-Code-Tools Benutzer, Anwendungen aus einer Gesamtperspektive zu betrachten und verschiedene Möglichkeiten des Anwendungsdesigns in Betracht zu ziehen.

Codeintegration

Low-Code-Plattformen fügen Komponenten zu einer vollständigen Anwendung zusammen. Der Benutzer wählt die Funktionalität aus, die er implementieren möchte, und die Werkzeuge integrieren sie automatisch.

Im Gegensatz dazu können generative KI-Plattformen für allgemeine Zwecke nur Code-Snippets schreiben. Die Benutzer müssen entscheiden, wie sie diese Schnipsel zu einer funktionalen Anwendung kombinieren. Den meisten technisch nicht versierten Nutzern fehlt das Know-how, um Code überhaupt zu integrieren. Professionelle Entwickler könnten diese Integration vornehmen, aber das untergräbt den Zweck der Nutzung von KI zur Beschleunigung der Anwendungsentwicklung.

Codesicherheit

Der in Low-Code-Entwicklungsmodulen enthaltene Code ist auf Sicherheit ausgelegt. Low-Code-Anbieter bauen Sicherheitsfunktionen in ihre Anwendungslaufzeiten ein, um Risiken oder potenzielle Angriffsversuche zu erkennen.

Im Vergleich dazu sorgen ChatGPT und andere KI-Systeme für den allgemeinen Gebrauch nicht dafür, dass der erzeugte Code sicher ist. Diesen Tools fehlt das Bewusstsein für die breitere Codebasis, in die dieser Code möglicherweise integriert wird. Sie berücksichtigen daher möglicherweise nicht, wie zum Beispiel Benutzereingaben, die von einer Funktion erfasst werden, an eine andere Funktion weitergegeben werden; sie sehen nicht, wie die Eingaben möglicherweise bösartige Befehle in die Anwendung einschleusen können.

Aus diesen Gründen kann ChatGPT Code erzeugen, der anfällig für Injection-Angriffe, Cross-Site-Scripting, unsichere Abhängigkeiten und eine Vielzahl anderer Probleme ist. Diese Sicherheitsrisiken bestehen in geringerem Maße bei Tools zur Codegenerierung, wie zum Beispiel Low-Code-Plattformen.

Lizenzierung von Berechtigungen

ChatGPT und ähnliche Technologien basieren zum Teil auf Open-Source-Code. Die Entwickler dieses Codes haben dem Trainingsprozess nicht zugestimmt, so dass die Kritik aufkam, dass diese KI-Tools – und potenziell jeder Code, den sie erzeugen – gegen Open-Source-Lizenzen verstoßen. Diese Kritik hat mittlerweile zu ersten Klagen gegen GitHub Copilot und andere Plattform geführt.

Es ist noch zu früh, um zu sagen, ob Unternehmen, die ChatGPT für die Erstellung von Software nutzen, in rechtliche Schwierigkeiten geraten. Für Kunden einer lizenzierten Low-Code-Entwicklungsplattform besteht dieses Risiko nicht.

KI-Funktionen in Low-Code-Tools

Vorerst wird KI die Low-Code-Entwicklung nicht ersetzen, sondern lediglich die bestehenden Arbeitsabläufe ergänzen. Low-Code-Plattformen müssen noch viel Gebrauch von KI-gestützter Code-Implementierung oder Schnittstellen machen.

Es ist durchaus vorstellbar, dass Low-Code-Entwicklungsplattformen mehr wie ChatGPT aussehen. Beispielsweise können Low-Code-Anbieter ihre Tools mit Schnittstellen ausstatten, die natürliche Sprache verarbeiten, damit die Benutzer die Art der Anwendung, die sie erstellen möchten, beschreiben können. Das Low-Code-Tool würde die Anwendung implementieren und dabei auf seine Bibliotheken mit vorgefertigten Funktionen zurückgreifen.

Diese Anbieter können zudem die Möglichkeit bieten, Low-Code-Anwendungen über eine visuelle Schnittstelle zu erstellen, die anzeigt, welche Funktionen verfügbar sind, und die es den Benutzern ermöglicht, diese zu kombinieren. Durch das Hinzufügen KI-gestützter Fähigkeit können Nutzer Anfragen in natürlicher Sprache stellen und auf Anwendungskomponenten und Design-Tools zurückgreifen, die umfassender, sicherer und rechtlich einwandfrei sind als der von ChatGPT erstellte Code.

Erfahren Sie mehr über Künstliche Intelligenz (KI) und Machine Learning (ML)

ComputerWeekly.de
Close