Hilfreich um jeden Preis - ChatGPT und das Ende des Software­entwicklers

Johannes Stiehler
Technologie
#LargeLanguageModels
#TextKI
#ChatGPT
Cover Image for Hilfreich um jeden Preis - ChatGPT und das Ende des Software­entwicklers

Alle Welt hat den Kopf verloren durch den Launch von ChatGPT. Das verstehe ich, die Mächtigkeit dieses neuen LLM ist beeindruckend und hat besonders für Fachfremde etwas Magisches weil Menschliches.

Unausweichlich gibt es eine Schwemme von Posts und Artikeln zu ChatGPT. Zum größten Teil - wie bei AI-Launches üblich - uneingeschränktes Beklatschen des "neuen Zeitalters" oder düstere Warnungen vor dem Ende einer oder mehrerer Berufsgruppen.

Bei ChatGPT sind diesmal nicht die Stock-Fotographen dran (die hat Dall-E ja schon erledigt), sondern Softwareentwickler.

Wer braucht die schon noch, wenn ChatGPT genauso gewandt Programme schreibt wie Gedichte?

Die Annahme, aktuelle LLMs würden eine Gefahr für die Zukunft von Softwareentwicklern darstellen, klingt für mich derart haltlos, dass ich leider den vielen ChatGPT-Artikeln noch einen hinzufügen muss.

Zuerst mal: Softwareentwicklung besteht erstaunlicherweise nicht darin, Codeschnipsel auszuwerfen, die einzelne übersichtliche Aufgaben erledigen ("Sortier mir eine Liste alphabetisch"), sondern z.B. in der Kombination vieler solcher Codeteile in sinnvolle Module und Service-Schnittstellen. Mir ist niemand bekannt, der überhaupt versucht, einer Konversations-AI diese Aufgabe vorzulegen.

Bleibt also noch die Frage, inwieweit ChatGPT oder seine Vorgänger (auch GPT-3 kann schon Code erzeugen) und Nachfolger (Sparrow wird das sicher auch können) einen Softwareentwickler wenigstens in seiner täglichen Arbeit entlasten und beschleunigen können.

Auf den ersten Blick und für simple Beispiele scheint das tatsächlich in gewissen Maße zu funktionieren:

Image

Hier hilft auch die Tatsache, dass man mit ChatGPT fortlaufende Konversationen führen kann, bei der Verfeinerung der Lösung:

Image

Rufen wir uns an dieser Stelle in Erinnerung, dass ChatGPT die Essenz aus unzähligen Trainingselementen (darunter auch viele solcher Softwareschnipsel) bildet und für jeden Input die wahrscheinlichste "Fortführung" auf Basis dieser Trainingselemente ausgibt. Zu oben genannter Javascript-Frage funktioniert das auch sehr gut.

Aber ChatGPT ist eben nur darauf trainiert, plausiblen und wahrscheinlichen Output zu generieren, nicht "wahren". In seiner Mission, dem Nutzer zu helfen, kann es sich nicht mit solchen Banalitäten wie Korrektheit aufhalten. Es zählt allein die Wahrscheinlichkeit der einzelnen Tokens.

Wenn wir uns ein bisschen von den Problemen entfernen, für die vermutlich große Mengen Beispiele im Training enthalten waren, wird die Luft dünn und die Antwort auch:

Image

Diese Antwort ist aus zwei Gründen falsch:

  1. ARRAY_TO_STRING akzeptiert keine integer-Arrays, die vorgeschlagene Lösung ist also kein gültiges BigQuery SQL.
  2. Selbst wenn sie funktionierte, würde sie kein Array erzeugen, wie gefordert, sondern einen einzelnen String-Wert (indem die Array-Elemente mit einem Delimiter verbunden werden).

Offensichtlich wurde die Frage korrekt interpretiert, aber in ihrem Eifer zu helfen, hat die AI lieber Lügen erzeugt, als nichts Plausibles zu antworten.

Versuchen wir, die Frage noch etwas zu präzisieren, weil das mit dem Javascript-Problem so gut funktioniert hat:

Image

Ich werde die Leser nicht einer Erklärung langweilen, was dieses Code-Schnipsel wirklich tut (im Gegensatz zum obigen ist es valides Big Query SQL). Auf jeden Fall tut es nicht das Richtige, sondern etwas ziemlich Nutzloses, das aber viele Ressourcen verbraucht.

ChatGPT besteht im Laufe der Konversation fest darauf, falsche Lösungen zu produzieren, um hilfreich zu sein. Ein bisschen erinnert mich das an Leute, die man nach dem Weg fragt und die sich nicht trauen, ihre Ortsunkenntnis einzugestehen. Stattdessen schicken sie einen in irgendeine Richtung. Wäre ja peinlich, wenn sie zugeben müssten, dass sie sich nicht auskennen.

Hier also mein Fazit, wie so oft ein anderes als das vieler anderer "Experten": Nein, ChatGPT wird nicht Softwareentwickler oder auch nur Junior Programmer ersetzen. Eventuell erspart es einem Entry-Level-Entwickler den einen oder anderen Ausflug zu Stackoverflow. Aber selbst dann muss man sich fragen, ob das Ausprobieren und Aussortieren solcher falschen Lösungen im Durchschnitt nicht mehr Zeit kostet als die richtigen Antworten einsparen.

Johannes Stiehler
CO-Founder NEOMO GmbH
Johannes hat während seiner gesamten Laufbahn an Softwarelösungen gearbeitet, die Textinformationen verarbeiten, anreichern und kontextabhängig anzeigen.

Wir haben noch mehr zu bieten!

Unseren Newsletter abonnieren

Wenn Sie sich vom Twitter- und LinkedIn-Wahnsinn abkoppeln, aber trotzdem unsere Inhalte lesen möchten, freuen wir uns und haben genau das richtige für Sie: Unser Newsletter hält Sie über alles Wissenswerte auf dem Laufenden.

Bitte benutzen Sie das untenstehende Formular, um ihn zu abonnieren.

NEOMO verpflichtet sich, Ihre Privatsphäre zu schützen und zu respektieren und Ihre persönlichen Daten nur dazu verwenden, Ihr Konto zu verwalten und die von Ihnen angeforderten Informationen bereitzustellen. Um Ihnen die gewünschten Inhalte zur Verfügung stellen zu können, müssen wir Ihre personenbezogenen Daten speichern und verarbeiten.

Folgen Sie uns für Einblicke, Ausblicke und Durchblicke.

Wann immer neue Inhalte verfügbar sind oder etwas Bemerkenswertes in der Branche passiert - wir halten Sie auf dem Laufenden.

Folgen Sie uns auf LinkedIn und Twitter, um Neuigkeiten zu erfahren, und auf YouTube für bewegte Bilder.

Teilen, wenn's gefällt

Wenn Ihnen unser Beitrag gefällt, helfen Sie uns bitte, ihn zu verteilen, indem Sie Ihr eigenes Netzwerk aktivieren.

Weitere Blogartikel

Image

Bleeding Edge - Fluch oder Segen?

Wir setzen auf modernste Technologien, um Unternehmen durch innovative Lösungen voranzubringen. Daher gehen wir in Gesprächen mit Kunden und Partnern oder unseren Webinaren immer wieder darauf ein, Unternehmen die Vorteile und Möglichkeiten moderner Technologien nahezubringen. Aber auch für uns selbst kommt KI zum Einsatz: Durch die Automatisierung von Ausschreibungsprozessen konnten wir wertvolle Ressourcen sparen und Effizienz steigern.

Image

Im Moment ist KI wie ein 12-jähriger Kollege

Die Technologie muss im Prozess eingebettet und dem Prozess angepasst werden und nicht unverbunden daneben schweben. Das gilt auch für Large Language Models – obwohl sie aufgrund ihrer „Menschlichkeit“ den Eindruck erwecken, als könnte man sie wie einen Kollegen behandeln und nicht wie ein Tool. Aber in wie vielen Geschäftsbereichen bringt ein Kollege mit den intellektuellen Kapazitäten eines Zwölfjährigen einen großen Mehrwert?

Image

ChatGPT „weiß“ gar nichts

Sprachmodelle tun sich notorisch schwer damit, Fakten verlässlich abzurufen. Leider antworten sie aber auch fast nie mit „Ich weiß nicht“. Die Last, zwischen Halluzination und Wahrheit zu unterscheiden, liegt also vollständig auf dem Anwender. Das bedeutet effektiv, dass dieser Anwender die Informationen aus dem Sprachmodell überprüfen muss – indem er den Fakt, den er sucht, gleichzeitig aus einer anderen, verlässlichen Quelle bezieht. Als Wissensspeicher sind LLMs also mehr als nutzlos.