Künstliche Intelligenz

Wie ChatGPT beim Coden helfen kann

Uhr

ChatGPT kann Code generieren, auf die Jagd nach Bugs und Schwachstellen gehen und beim Verstehen von Code helfen. Damit der Chatbot auch macht, was Programmierende von ihm wollen, bedarf es aber Präzision bei der Aufgabenstellung.

(Source: THANANIT/Adobestock.com)
(Source: THANANIT/Adobestock.com)

Nein, ChatGPT nimmt Entwicklerinnen und Entwicklern das Coden nicht ab – zumindest nicht ganz. Die KI kann aber Anweisungen von Entwicklern (so sie denn präzise genug formuliert sind) verstehen und basierend darauf Code-Segmente generieren. Ein einfaches Beispiel, das wohl jeder kennt, der schon einmal eine simple Website aufgebaut hat: «Schreibe den HTML-Code einer index.html-Seite, auf der ‹Hallo Welt› steht». ChatGPT versteht diese Anweisung und liefert sogleich den gewünschten Code.

Komplexen Code generieren

Dass es durchaus auch komplexer geht, zeigt die Plattform «Honeypot.io». Einer der Autoren bat ChatGPT etwa, eine React-Komponente mit den folgenden Anforderungen zu generieren: «Erstelle eine React-Komponente, die sechs verschiebbare Boxen enthält, deren Farben sich ändern, wenn man draufklickt. Verwende React Beautiful DND, um die Drag-and-drop-Funktion zu erhalten.» ChatGPT lieferte ein Beispiel für den entsprechenden Code, der die Vorstellungen des Autors erfüllte, wie es in dem Beitrag heisst. Auch Alternativen für bereits bestehende Code-Segmente könne die KI bieten. Dies sei etwa nützlich, um Lesbarkeit oder Effizienz der Funktion zu verbessern. 

Entwicklerinnen und Entwickler können ChatGPT auch den gewünschten Tech-Stack vorgeben, wie dem Blog «Pluralsight.com» zu entnehmen ist. Dort findet sich folgendes Prompting-Beispiel: «Du bist ein Full-Stack-Entwickler. Der technische Stack besteht aus AWS Lambda, DynamoDB, API Gateway und HTML. Schreibe eine Lambda-Funktion, um die Summe von zwei vom Benutzer eingegebenen Zahlen zu berechnen und in DynamoDB zu speichern. Schreibe eine HTML-Datei mit Eingabefeldern für zwei Zahlen. Wenn der Benutzer auf ‹Submit› klickt, übergib die beiden Zahlen an API Gateway.»

Funktionen von Code erklären

Eine weitere Fähigkeit von ChatGPT im Bereich des Programmierens kommt vor allem Einsteigerinnen und Einsteigern zugute. Der Bot könne dabei helfen, komplexen Code zu verstehen, indem er die Funktionen in natürlicher Sprache erkläre, heisst es bei «Honeypot.io» weiter. Das Modell könne beschreiben, wie die verschiedenen Teile des Codes zusammenwirken, um eine bestimmte Aufgabe zu erfüllen – und zerlegt damit komplizierten Code in einfachere Teile. Ein Beispiel: «Erkläre die folgende getHttpClient-­Funktion in einfachen Worten einem Anfänger.» Als Ergebnis liefert ChatGPT nicht nur eine Beschreibung der einzelnen Parameter, sondern auch die Wirkungsweise der gesamten Formel. 

Bugs und Sicherheitslücken finden

Des Weiteren sei ChatGPT imstande, Debugging-Strategien vorzuschlagen, schreibt «Honeypot.io». Das Modell könne beispielsweise eine bestimmte Codesequenz untersuchen und Methoden Vorschlagen, um Bugs zu finden und zu korrigieren. Dies spart Entwicklerinnen und Entwicklern viel Zeit und Energie bei der Suche nach Fehlern in ihrem Code. Der Bot könne ausserdem auch selbst Bugs reduzieren, heisst es weiter. Wie erwähnt macht ChatGPT auf Anfrage Vorschläge, um ein entsprechendes Stück Code durch Umstrukturierung in puncto Leserlichkeit, Wartbarkeit und Korrektheit zu verbessern. Dies könne ebenfalls für ein Endprodukt mit weniger Bugs sorgen.

Darüber hinaus ist das Programm auch in der Lage, auf potenziell kritische Sicherheitslücken in einem bestehenden Code hinzuweisen, wie die Plattform «WeAreDevelopers.com» schreibt. Ein Twitter-User liess etwa einen Ethereum-Contract, der gehackt worden war, durch ChatGPT laufen: «Es handelt sich hierbei um einen Soliditätsvertrag. Kannst du mir helfen, ihn zu überprüfen und mir mitteilen, ob es irgendwelche Sicherheitslücken gibt?» Der Bot habe binnen kürzester Zeit mehrere Sicherheitsschwachstellen im Code aufgezeigt und im Detail beschrieben. Anschliessend bestätigte er ausserdem einige Methoden, um diese Schwachstellen auszunutzen. 

Die Vorteile von ChatGPT beim Coden sind also klar ersichtlich: Mit nur ein paar Tastenanschlägen als Input erledigt der Bot in wenigen Minuten, was manuell möglicherweise Stunden dauern und mehrere Fingerkrämpfe auslösen würde. Zudem kann die KI-Lösung neue Wege aufzeigen, bestimmte Funktionen zu schreiben, auf die man selbst vielleicht nicht gekommen wäre. 

Die Schwächen des Chatbots sind, wie eingangs erwähnt, ebenfalls bekannt. Die Antworten variieren je nach Formulierung der Eingabe und sind letztlich auch nicht zu 100 Prozent zuverlässig. Im Zweifelsfall müssen Programmiererinnen und Programmierer die Ergebnisse selbst validieren.

Webcode
4TBKM8tr