Veröffentlicht am

Prompts und GPTs – Programmieren ohne Programmiersprache

Prompts und GPTs

Programmieren ohne Programmiersprache – in OpenAIs GPT-Store blicken wir in die Zukunft. Dieser Artikel zeigt, wie wir ohne selbst eine Programmiersprache zu kennen, einen Lernassistenten zum Programmieren lernen erstellen. 

Das Schlüsselwort lautet Prompt Engineering – wir weisen die KI in natürlicher Sprache an. Dazu benötigen wir ein Large Language Model (LLM) also eine spezielle KI, die eingens zu diesem Zweck erstellt wurde. OpenAI bietet uns mit ChatGPT den Zugang zum LLM und im GPT-Store können wir eigene kleine Chatbots erstellen. Diese heißen GPTs.

‘GPT’ steht ja ursprünglich für ‘Generative Pretrained Transformer’. Was das ist, brauchen wir im folgenden nicht zu verstehen – ‘GPT’ wird hier eher verwendet als Bezeichnung für einen Typ App, den wir ohne Programmierkenntnisse bei OpenAI erstellen und allen OpenAI-Usern zur Verfügung stellen können.

Erstellen wir also unseren Lernassistenten zum Programmieren lernen.

GPT-Store aufrufen

Als Voraussetzung benötigen wir lediglich einen Account bei OpenAI. Die Kosten nach der Einführungszeit betragen momentan je nach Abo-Typ ca. USD 20 pro Monat.

Sind wir eingeloggt, dann finden wir oben rechts im Menu den Zugang zum GPT-Store.

GPT Store öffnen

Auf der nächsten Seite können wir GPTs durchstöbern, die von anderen bereits öffentlich zur Verfügung gestellt wurden.

Oder wir bauen ein eigenes GPT. Dazu klicken wir oben rechts auf die grüne Schaltfläche:

Eigenes GPT beginnen

Ein GPT konfigurieren

Wir werden belohnt mit einer Eingabemaske. Wir stellen sicher, dass ‘Configure’ eingestellt ist.

Unter ‘Name’ vergeben wir eine Bezeichnung für das GPT – ‘Programmieren lernen’.

Unter ‘Description’ erfassen wir eine kurze Beschreibung – ‘Lerne einfach eine neue Programmiersprache’ ist unser Beispiel.

Unter Instructions schreiben wir unseren Prompt. Mehr dazu im nächsten Abschnitt.

Unter Conversation Starters erfassen wir mindestens einen Satz, den die User des GPTs auswählen können, um einerseits das GPT zu starten und andererseits, dem GPT den notwendigen Kontext zu geben, um einen passenden Dialog zu führen.

Hier die Beispiele:

  • Ich möchte ohne Vorkenntnisse Python lernen.
  • Ich möchte ohne Vorkenntnisse Java lernen.
  • Ich möchte ohne Vorkenntnisse SQL lernen.
  • Ich möchte ohne Vorkenntnisse Spark DataFrames lernen.

Für dieses GPT benötigen wir unter ‘Knowledge’ und ‘Capabilities’ keine besonderen Eingaben und lassen die Vorgabe stehen. 

GPT-Store: Konfiguration

Ist alles erfasst, dann klicken wir unten auf Create new Action

Wir werden noch gefragt, wer das GPT sehen soll:

Wir wählen eine Option, mit der wir uns wohl fühlen und klicken dann auf ‘Share’.

GPT Store: Leserechte

Im nächsten Dialog klicken wir auf ‘View GPT’ und starten damit auch unser GPT.

Das GPT ausführen

Die Conversation Starters werden zur Auswahl angeboten. 

Klicken wir beispielsweise auf ‘Ich möchte ohne Vorkenntnisse SQL lernen’ – dann beginnt ChatGPT einen Dialog. 

Start GPT Dialog

Momentan generiert ChatGPT eine Antwort in Form einer allgemeinen Anleitung.

Hier ein Beispiel:

GPT-eigener Dialog

Prompt-Engineering: Das Verhalten des GPT beeinflussen

Jetzt verändern wir dieses Verhalten mit Prompt Engineering. Wir editieren das GPT.

Oben links finden wir ein Drop-Down-Menu und darin die Option ‘Edit GPT’.

GPT editieren

Damit finden wir zurück in den Editier-Modus und widmen uns jetzt intensiv dem Prompt im Eingabefeld ‘Instructions’. 

Jetzt entwickeln wir schrittweise unseren Prompt. Hier in Beispiel:

Den Kontext, also die Absicht, eine Programmiersprache zu lernen, gibt der User vor mit der Wahl des ‘Conversation Starters’.

Danach führt ChatGPT unseren Prompt durch. Dieser gibt weitere Anweisungen zum Verhalten des GPT und erweitern den Kontext

  • Dieses GPT soll Aufgaben  für Menschen ohne Programmierkenntnisse bereitstellen, die ihre Programme in der Programmiersprache schreiben wollen.
  • Dieses GPT spricht User mit Du an.

ChatCPT sollte sich während der ganzen Konversation daran erinnern. Wir werden im Gebrauch des GPT beobachten, dass es das manchmal vergisst – insbesondere die Anredeform.

Jetzt geben wir genaue Anweisung, wie das GPT vorgehen soll:

  • Das GPT generiert jeweils eine Aufgabe und zeigt sie dem Benutzer an, ohne die Lösung zu zeigen. Am Ende heißt es: Stelle eine Frage oder schreibe eine Lösung.

Führen wir das GPT aus, dann beobachten wir ein anderes Verhalten. Und es geht noch weiter:

Um ChatGPT mit didaktischen Fähigkeiten auszurüsten, überlegen wir uns, wie unsere User sich verhalten und wie das GPT – als geduldiger Lernassistent, darauf reagieren soll.

Im Beispiel unterscheiden wir drei Fälle:

  • Wenn der Benutzer eine Frage stellt, dann beantwortet das GPT die Frage. Am Ende heißt es: Stelleine Frage oder schreibe eine Lösung.
  • Wenn der Benutzer frustriert oder ungeduldig ist, wird dieses GPT einfühlsam und ermutigend antworten und sehr einfache Erklärungen zur aktuellen Aufgabe geben.
  • Wenn der Benutzer eine Lösung vorschlägt, prüft das GPT diese und gibt ein Feedback und eine korrekte Lösung. Am Ende sagt es: Wünschst du eine weitere Übung?

Hier der ganze Prompt:

Prompt Programmieren Lernen

Führen wir das GPT jetzt aus, dann beobachten wir ein völlig verändertes Verhalten.

Hier ein Beispiel:

GPT-Dialog Beispiel

Fazit

Generative KI eröffnet die Möglichkeit, das Verhalten einer App mit natürlicher Sprache zu steuern. 

Ich rechne damit, dass in Zukunft noch viel bessere Interaktionsmöglichkeiten zur Verfügung stehen werden. 

Diese werden einen großen Einfluss auf uns als Gesellschaft haben und sicher auch die Art und Weise beeinflussen, wie und womit wir lernen – es lohnt sich, jetzt in diese Welt einzusteigen. 

  • LLM-Tipps & Fachglossar

    Abonniere meinen Newsletter, erhalte regelmäßig Tipps und Tricks über den produktiven Einsatz von LLMs und ich schenke dir mein umfangreiches Fachglossar Von AI-Engineering bis Zero-Shot

  • Chatbot als Lernassistent
  • Prompt Engineering Personas und Wiederholungen
  • AI-Engineering-Fachglossar
  • EBook Tutorial: Cluster aus virtuellen Maschinen
  • Ebook: Apache ZooKeeper
  • Ebook: Realtime Streaming Pipelines
  • LSM-Trees: Log Structured Merge Trees
  • Aufbau einer Enterprise Search
  • Zeit Stream Analytics
  • B-Tree-Index in Datenbanken
  • Ordering Guarantee in Apache Kafka
  • CAP Theorem
  • MapReduce Funktionale Programmierung
  • Konzepte des HDFS
  • Optimistisches Concurrency Control