Manche wollen sogar einen Lehrberuf daraus machen. Das ist sicher übertrieben, aber man darf das Prompt Engineering auch nicht unterschätzen. Wenn man richtig vorgeht, ist GPT-4 eine große Hilfe und man kann viel Zeit sparen.

Mir hat GPT-4 bei der Erstellung eines Excel-VB-Programms geholfen.

Bei dieser Gelegenheit hat sich auch gezeigt, was man bei der Nutzung von GPT-4 nicht machen sollte.

Der Auftrag

Es wird eine Teilnehmer- und Kursliste benötigt, die gut und ordentlich ausdruckbar sein sollte. Die Eingabe in Excel sollte einfach und übersichtlich in der Bedienung sein. Die Anwender haben nur geringe Excel-Kenntnisse und haben die Liste bisher mit Word bearbeitet.

In Zukunft soll es für jeden Monat separate Tabellenblätter mit mehreren Tabellen je Kalenderwoche geben. Die Tabellen zu den Kalenderwochen sollen untereinander angeordnet sein. Die Teilnehmeranzahl einer Kalenderwoche soll im Kopf der Tabelle angezeigt werden. Da nicht feststeht, wie lang eine Tabelle wird, muss Excel das Ende einer Tabelle finden können. Dazu soll eine Matrixformel verwendet werden.

Weitere Tabellen oder Kursteilnehmer sollen über einen Eingabedialog und eine Schaltfläche eingefügt werden. Die Tabellen und Eingaben sollen automatisch formatiert werden.

Teilnehmerliste Eingabedialog

Der Projektverlauf

  • Dass Excel zur Lösung der Aufgabe programmiert werden muss, ist klar.
  • Dass – wie es bei Software-Projekten leider üblich ist – die benötigte Arbeitszeit für die Programmierung zu optimistisch eingeschätzt wurde, war theoretisch vermeidlich.
  • Dass bei der praktischen Umsetzung ungeplante Probleme auftraten, war vielleicht unvermeidlich.

Die Zeit vergeht viel zu schnell, aber „Versprochen ist versprochen!“ Also muss die Lösung zeitnah her und das Versprechen zurückzuziehen, kam für mich nicht in Frage.

Die Fehlersuche gehört zum Programmieren dazu

Wer programmiert, weiß, dass die Fehlersuche zum Programmieralltag gehört, aber auch, dass sie aus unterschiedlichen Gründen unkalkulierbar zeitraubend sein kann. Manchmal sucht man aufwändig einen dummen trivialen Fehler und manchmal findet man zufällig eine Lösung und muss anschließend Zeit darauf verwenden, herauszufinden, warum das plötzlich funktioniert.

Das Suchen im Programm-Code kann manchmal mit der Suche in einem Wimmelbild verglichen werden: „Finden Sie den Pinguin-Ober“ ist noch einfach, „Zählen Sie alle Steine“ nicht mehr.

Wimmelbild Motiv Zoo Flohmarkt

https://www.koelln.de/wissen-fun/wimmelbilder/  Auf der Webseite werden Wimmelbilder zur freien Verwendung angeboten.

Folgende Excel-Formel funktioniert wie gewünscht in der Excel-Tabelle für eine bestimmte Zeile:

Visual Basic Code - Beispiel 1

Im Programmcode sehen die zwei Zeilen, die diese Formel funktionsfähig in eine vorgegebene Zelle schreiben, aber so aus:

Visual Basic Code - Beispiel 2

Dass hier Fehler beim Übertragen der Formel von der einen in die andere Form passieren werden, ist hochwahrscheinlich. Und dass ein Fehler nicht leicht zu finden sein würde, ist naheliegend.

Ein Wimmelbild der besonderen Art:
Die nachfolgende Formel ist die gleiche wie die oben dargestellte, hat aber einen Fehler.
Finden Sie den Unterschied.

Visual Basic Code - Beispiel mit Fehler

Fehlerquellen

Sie sehen, es ist nicht einfach den Fehler zu finden und hier ist ein Vergleich mit der richtigen Version möglich. Beim Programmieren muss man den Fehler aber finden, ohne die Vergleichsmöglichkeit zu haben. Es gibt viele Fehlerquellen und daraus resultierende Unsicherheiten. Nicht selten beinhaltet eine Programmzeile aber auch mehrere Fehler aus unterschiedlichen Gründen. Das macht es noch schwieriger: Man hat eventuell einen Fehler korrigiert, sieht aber den Erfolg nicht und bleibt irrtümlich bei der Annahme, erfolglos gewesen zu sein.

Fehler können an mehreren Stellen im Entwicklungsprozess auftreten:

  1. Es können Syntaxfehler beim Erstellen der Excel-Formel auftreten, zu denen Excel „hilfreiche“ Meldungen ausgibt.Fehlermeldung Excel
  2. Auch wenn die Formel syntaktisch richtig ist, macht sie eventuell nicht, was sie soll.
    Solche Fehler kann man, wenn es blöd läuft, leicht übersehen und schwer finden, da die Formeln zum Beispiel je nach Kontext mal funktionieren und dann wieder nicht.
  3. Beim Übertragen nach Visual Basic können wieder Syntaxfehler auftreten, zu denen es wieder „hilfreiche“ Meldungen gibt.
    Fehlermeldung Visual Basic
  4. Es müssen, statt der deutschen, die entsprechenden richtigen englischen Bezeichnungen für Excel-Funktionen verwendet werden.
  5. Im Programmcode müssen Bezüge auf Zellen, Zeilen und Spalten mit Variablen eingefügt werden, da die Zuweisungen zellunabhängig aber passend zum Kontext funktionieren müssen.
  6. Anführungszeichen in einer Excelformel müssen maskiert werden, da Anführungszeichen in Visual Basic Zeichenketten einschließen. So wird
    " zu """" und "" wird zu """""".

GPT-4 als nützlicher Helfer

Um viel Zeit zu sparen, dachte ich, wäre GPT-4 eventuell eine Hilfe. Es stellte sich dann heraus, dass GPT-4 in diesem Fall eine sehr gute, sehr zuverlässige Hilfe war. Bis zu einem bestimmten Punkt (sehr interessanter Punkt – später mehr dazu) war GPT-4 auf Anhieb perfekt.

Ich verwendete beim Prompting die Persona-Priming-Methode, dabei weist man der KI eine Rolle zu. Diese Vorgehensweise verwende ich meistens, da ich damit sehr gute Erfahrungen gemacht habe. Man spart viele Worte und der Kontext ist sofort klar.

So ist der Prompt formal aufgebaut:

  1. Die Rolle benennen, die GPT-4 einnehmen soll.
  2. Benennen, was vorgegeben wird.
  3. Das Ziel der Bearbeitung setzen.
  4. Weitere Erläuterungen geben und ein Beispiel.
  5. Die zu bearbeitende Excel-Formel wird in eckige Klammern deutlich abgesetzt eingefügt.
ChatGPT 4 Prompt

Der Prompt hat sofort funktioniert und das Ergebnis war direkt fehlerfrei im VB-Programm funktionsfähig. GPT-4 hat selbstständig den Rahmen der Aufgabe sinnvoll erweitert.

Die Antwort von GPT-4 war wie folgt aufgebaut:

  1. Die vorgegebene zu bearbeitende Excel-Formel wurde kurz erklärt.
  2. Die bearbeitete Formel wurde ausgegeben. (Das war die eigentliche Aufgabe.)
  3. Die Formel befand sich in einem Rahmenprogramm.
  4. Das Rahmenprogramm und der Funktionskontext wurden kurz erklärt.

Der sinnvolle Aufbau der Ausgabe zeigt, dass GPT-4 die Excel-Formel verstanden hat. Die Variablen wurden richtig eingefügt. Es wird eine Testumgebung mitgeliefert, in der die Formel funktionieren sollte. Die Testumgebung wird erklärt und es wird erläutert, was der Programmierer beachten muss.

Die nachfolgende Abbildung zeigt einen Auszug aus der Antwort.

GPT-4 Ergebnis

GPT-4 denkt mit

Die nächsten Formeln habe ich dann ohne ausgefeiltes Prompting zur Bearbeitung übergeben (nächste Abbildung). GPT-4 hat diese Aufgaben genauso sicher erledigt, wie die erste.

Bei einer Formel hat GPT-4 unaufgefordert vor der Umsetzung eine Verbesserung der Formel vorgenommen und eine geeignetere Excel-Funktion eingesetzt. Die Änderung wurde auf Nachfrage ordentlich begründet. Zusätzlich zur Begründung wurde dann unaufgefordert die nicht-verbesserte Variante mitgeliefert.

Bei einer weiteren Aufgabe hat mir GPT-4 ungefragt sehr geholfen. Es handelt sich um eine Matrixformel, was GPT-4 vermutlich an der anderen Syntax der WENN-Funktion (nur zwei statt drei Parameter) erkannt hat. Darauf hingewiesen hatte ich GPT-4 nicht, da ich nicht wusste, dass Matrixformeln in Visual Basic anders zugewiesen werden müssen als normale Formeln. Bei üblicher Vorgehensweise hätte die umgesetzte Formel für mich überraschend zunächst nicht funktioniert. Und ich hätte eventuell viel Zeit mit einer sinnlosen Fehlersuche verbracht. Aber GPT-4 lieferte den wichtigen Hinweis unaufgefordert mit.

GPT-4 funktioniert plötzlich nicht mehr

Zwischendurch habe ich GPT-4 im selben Chat zur Recherche verwendet.

Prompt - Recherche

Das war hilfreich, aber nicht ohne unerwartete Folgen. Die nachfolgende, relativ einfache Aufgabe wurde nicht mehr fehlerfrei bearbeitet.

Prompt 2

Die Formel wurde falsch umgesetzt und funktionierte nicht in der Excel-Tabelle. Ich habe den Fehler gefunden und GPT-4 darauf hingewiesen (Der Fehler:   3;0))   wurde als   3):F100=   umgesetzt )

Die Höflichkeit ist unschlagbar, aber leider blieb GPT-4 trotz mehrmaliger Korrektur bei der falschen Formel. Die Aufgabe wurde nicht mehr korrekt gelöst.

Fazit

Es macht Spaß mit GPT-4 zu arbeiten, und wenn die KI richtig eingesetzt wird, ist sie eine sehr große Hilfe.

GPT-4 gibt zudem hilfreiche Tipps und nimmt Verbesserungen vor, die auch ordentlich begründet werden, wenn man nachfragt.

Die KI liefert einen hilfreichen Kontext mit und erklärt darin, wie sie die Aufgabe verstanden hat und was man bei Verwendung der Lösung beachten muss.

Realistisch überlegt und abgeschätzt, hätte ich allein für die erste fehlerfreie Umsetzung einer Formel mehr Zeit benötigt als für die Erstellung des Prompts. Ich denke, wenn man die Arbeitszeitkosten ins Verhältnis zu den GPT-4-Abo-Kosten setzt, war bereits die Bearbeitung der zweiten Formel rentabel.

Gelernt habe ich, dass neue Themen oder ein Wechsel der Aufgabenart besser in einem separaten Chat behandelt werden. Immer nur ein Aufgabenprinzip pro Chat.

Es bleibt immer noch spannend.