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

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.

Image

Rundify - lesen, verstehen, testen

Digitale Technologie hat die Menschen mit Informationen überladen, aber Technologie kann ihnen auch helfen, aus dieser Flut eine Wissensquelle zu machen. Large Language Models können – richtig eingesetzt – ein Baustein hierzu sein. Unser Tool "rundify" zeigt, wie so etwas aussehen könnte.

Image

ChatGPT und der Ölteppich

Wie schon beim Deep Learning bleiben Daten auch bei großen Sprachmodellen wichtig. Da das Basismodell jedoch von jemand anderem trainiert wurde, ist es in diesem Fall unmöglich zu sagen, welche Daten wirklich enthalten sind. Da das Fehlen von Daten zu Halluzinationen führt, hat diese Unwissenheit ziemlich schwerwiegende Folgen.