Die Effektivität von ChatGPT treibt viele Blüten und wird die kreative Arbeit in diversen Bereichen drastisch verändern. Zum Beispiel im Marketing, Journalismus, der Kunst - und auch in der Softwareentwicklung. Geht es darum, mit dem Generative-AI-Tool von OpenAI Software zu entwickeln, werden derzeit vor allem Debatten darüber geführt:
wie intelligent ChatGPT wirklich ist,
ob das Tool in der Lage ist, sicheren Code zu generieren, und
wie es dabei mit der Attribution von Quellen aussieht.
Dennoch sind Tools wie ChatGPT und AlphaCode für die Zukunft gesetzt - davon ist unter anderem David Ben Shabat, Vice President of Research and Development beim Infrastrukturspezialisten Quali, überzeugt: "Diese Generative-AI-Tools werden in den kommenden drei Jahren immensen Einfluss darauf haben, wie Unternehmen Applikationen entwickeln. Das Spektrum reicht dabei von schnelleren und effizienteren Entwicklungszyklen bis hin zur Optimierung der Customer Experience. Wenn die Technologie sich weiterentwickelt, werden Unternehmen in der Lage sein, damit die Kundenbindung zu stärken und die Kosten - nicht nur für den Kundenservice - zu senken."
Arjun Chandar, CEO von IndustrialML, prophezeiht zudem eine (limitierte) Demokratisierung von Machine Learning durch ChatGPT & Co.: "Generative-AI-Tools werden es zumindest geringfügig leichter machen, maschinelles Lernen für eine breitere Palette von Anwendungen in einer größeren Anzahl von Bereichen zu nutzen."
5 Tipps für's Programmieren mit ChatGPT & Co.
Neben ChatGPT und Googles Bard können Softwareentwickler auch mit spezifischen Code-generierenden KI-Instanzen wie Alpha Code und GitHub Copilot experimentieren. Zudem integriert eine ganze Reihe von SaaS-Produkten, Technologieplattformen und Dienstanbietern inzwischen ChatGPT-Funktionen. Zum Beispiel Gigster oder Equally AI.
Wir haben fünf Tipps für Softwareentwickler und DevOps Engineers zusammengestellt, um mit ChatGPT (und anderen Generative-AI-Tools) besser und produktiver zu coden. Eines vorweg: ChatGPT ist mehr als nur Hype, aber wie bei jeder neuen Technologie sollten Softwareentwickler und -architekten genau prüfen, wo, wann und wie sie generative KI-Funktionen zum Einsatz bringen.
1. Chancen erkennen statt KI zu fürchten
"Generative KI-Tools wie ChatGPT haben innerhalb der Entwicklergemeinde für Furore gesorgt", weiß Marko Anastasov, Mitbegründer von Semaphore CI/CD. "Einige fürchten, dass die Tools sie arbeitslos machen, andere würden die Technologie am liebsten ignorieren. Beide Haltungen sind in meinen Augen falsch. GitHub Copilot hat bewiesen, dass Entwickler, die KI in ihre Workflows integrieren, einen unglaublichen Produktivitätsschub erfahren können."
Generative-AI-Tools können Zeit sparen, indem sie beispielsweise nützliche Bibliotheken identifizieren und Programmierbeispiele liefern. Dennoch bleiben für Entwickler ausreichend manuelle Aufgaben übrig, schließlich müssen die Ergebnisse evaluiert und der Code in die Anwendung integriert werden.
Well that escalated quickly #chatgpt pic.twitter.com/lEQ0WiRN2D
— DeveloperSteve (@DeveloperSteve) February 23, 2023
2. Kontextdefizite anerkennen
Dan Conn, Developer Advocate bei Sonatype, ist davon überzeugt, dass es wichtig ist, den Kontext zu verstehen, in dem KI-Algorithmen entwickelt und trainiert werden: "Da die Technologie auf Daten und nicht auf menschlicher Intelligenz basiert, kann das Programm manchmal kohärent klingen - ist aber nicht in der Lage, fundierte, kritische Antworten zu liefern."
Im Moment könne Generative AI dabei helfen, Lücken zu schließen und die Implementierung von Lösungen innerhalb des Softwareentwicklungszyklus zu beschleunigen - dennoch machten sie Entwickler keinesfalls überflüssig, wie Conn unterstreicht: "ChatGPT fehlt die Fähigkeit, den menschlichen Kontext der Datenverarbeitung zu verstehen, um gut programmieren zu können. Software-Ingenieure kennen mehr Details über den Zweck der Software, die sie erstellen, und die Menschen, die sie benutzen werden."
Auch Shanea Leven, Mitbegründerin und CEO von CodeSee, schließt sich dem Tenor an: "Es gibt eine Menge von Entscheidungen, die für verschiedene Unternehmen einzigartig sind und die Künstliche Intelligenz nicht bewältigen kann."
Kurzum: Es ist schwer vorstellbar, dass eine KI all das Knowhow und die Innovationsfähigkeit von Softwareentwicklungsteams ersetzen kann, wenn es darum geht, angenehme Customer Experiences und produktive Workflows zu kreieren.
3. Ein Produktivitätswerkzeug wie Low Code
Bei der Softwareentwicklung gibt es viele generationsübergreifende Verbesserungen bei Sprachen und Plattformen. Viele Tools steigern die Produktivität der Entwickler, verbessern die Codequalität oder automatisieren Aspekte der Entwicklungspipeline. Low-Code- und No-Code-Plattformen können Unternehmen beispielsweise dabei unterstützen, mehr Anwendungen zu erstellen und zu modernisieren.
Suresh Sambandam, CEO des Entwicklungsspezialisten Kissflow, sieht ChatGPT und Co. in einer ganz ähnlichen Rolle: "OpenAI wird nützliche Tools bereitstellen, die repetitive Tasks eliminieren und die Markteinführung von Apps beschleunigen. Ein Paradigmenwechsel ist die Abkehr von schlagwortbasierten Suchwerkzeugen hin zu solchen, die natürlichsprachliche Anfragen verarbeiten und nützliche Outputs liefern. So kann ChatGPT automatisch Boilerplate- oder Beispielcode für Probleme generieren, und zwar wesentlich schneller, als jeder Entwickler."
4. Conversational Apps optimieren
Entwickler sollten sich auch damit beschäftigen, wie ChatGPT die Erwartungen der Nutzer verändert. Apps mit nicht personalisierbarer Stichwortsuche und enttäuschenden Outputs dürften in der Gunst der User schnell nach unten durchrutschen. Je größer die Begeisterung um ChatGPT wird, desto mehr etabliert sich die Erwartung der Nutzer, dass eine KI-Instanz natürlichsprachliche Anfragen beantwortet.
"Generative KI ist in den Bereichen Suche und Kundenservice sehr vielversprechend", konstatiert auch Josh Perkins, Field CTO beim Plattformanbieter Ahead. "Diese Modelle ermöglichen es, selbst nuancierte Anfragen im Gespräch ohne einen Kundendienstmitarbeiter zu beantworten - und zwar akkurat und zeitnah."
Generative AI kann Workflows verbessern und Hyperautomation unterstützen - ein Konzept, das Menschen, Automatisierung und KI-Features miteinander verbindet. Doch es ist kein leichtes Unterfangen, mit generativer KI systematische Änderungen an Arbeitsabläufen vornehmen zu wollen. Das Buch "Power and Prediction: The Disruptive Economics of Artificial Intelligence" stellt die Unterschiede zwischen punktuellen Lösungen (etwa Codebeispiele zu erzeugen) und KI-Systemlösungen, die umfassendere Veränderungen erfordern, heraus.
Sujatha Sagiraju, Chief Product Officer beim Datenspezialisten Appen, resümiert: "Generative KI erfordert nach wie vor das Feedback von Menschen für die Feinabstimmung. Die Daten und Menschen, die hinter den Modellen stehen, entscheiden über deren Erfolg oder Misserfolg."
5. Optimale Domänen wählen und Qualität testen
Produktmanager und agile Entwicklungsteams sollten vor der Anwendung von Generative-AI-Tools ihre Use Cases validieren und testen. Ansonsten drohen unter Umständen teure Konsequenzen, wie Erik Ashby, Head of Product beim Customer-Service-Unternehmen Helpshift, zu bedenken gibt: "Das Risiko, dass eine nicht verwaltete KI ungenaue oder unvollständige Inhalte produziert, kann bestenfalls ärgerlich sein. In anderen Fällen kann das aber auch sehr kostspielige Konsequenzen nach sich ziehen - vor allem in den Bereichen Kundenservice oder Brand Reputation. Auch wenn die Versuchung besteht, KI - etwa in Form eines unsupervised Chatbot - 'einfach machen zu lassen': An dieser Stelle müssen Mensch und Maschine zusammenarbeiten, um die möglichen Risiken zu bewältigen." (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.