Veröffentlicht am

Chatbot als Lernassistent zum Programmieren Lernen

Chatbot als Lernassistent

Programmieren lernen ist eine große Herausforderung für Anfänger. Ein ChatBot kann wie ein Lernassistent diese Fragen geduldig beantworten, genau dann, wenn die Antwort am dringendsten benötigt wird. Entscheidend ist, den Chatbot auf die richtige Weise zu befragen, um hilfreiche Antworten zu erhalten.

Denn anders als die Programmiersprache, versteht ein Chatbot natürliche Sprache – auch deutsch.

Dieser Artikel verrät die wichtigsten Prompts, um einen Chatbot als Lernassistenten für das Erlernen der Programmierung einzusetzen.

Natürlich ersetzt der Chatbot keine menschlichen Lehrpersonen. Vielmehr sind sie ein wertvolles zusätzliches Hilfsmittel beim Lernprozess.

Was ist ein Prompt in einem Chatbot

Prompt Engineering die Kunst, geschickt gestellte Fragen an einen Chatbot zu entwerfen. Diese Fragen, auch Prompts genannt, lenken den Chatbot und bestimmen, welche Informationen er uns liefert.

Im Gegensatz zum Erlernen einer Programmiersprache wie Python, setzen wir beim Prompt Engineering auf natürliche Sprache; sogar Deutsch wird von den führenden Chatbots unterstützt.

Welche Chatbots gibt es?

Es gibt viele Chatbots. Sie werden gerne eingesetzt, um automatisch Antworten zu generieren, beispielsweise für die Hilfe-Funktion auf einer Webseite.

Die Entwicklung guter Chatbots ist ein aktives Forschungsfeld und wir werden in Zukunft noch viel über Chatbots hören.

Für unseren Lernassistenten benötigen wir einen Chatbot, der auf einem Large Language Model (LLM) basiert. Hier die Liste der momentan prominentesten Vertreter, die im deutschen Sprachraum zugänglich sind:

  • ChatGPT war der erste Chatbot, der vom breiten Publikum wahrgenommen wurde. Er ging am 30. November 2022 online und wird in der Öffentlichkeit rege diskutiert. ChatGPT wird von OpenAI erstellt und ist momentan kostenlos zugänglich. Bei der Erstregistrierung muss man ein Konto anlegen und einige Fragen beantworten, um zu beweisen, dass man ein Mensch ist und kein Chatbot.
  • Microsofts Bing bietet mit dem Copilot-Feature ebenfalls einen leistungsfähigen Chatbot an. Um auf Prompts zu reagieren, führt dieser Chatbot zunächst eine Websuche über Bing durch. Anschließend generiert er mithilfe von ChatGPT eine Antwort und listet am Ende der Antwort die relevantesten Webseiten auf, die als Grundlage für die Informationen dienten.
  • Gemini ist der Chatbot von Google und ist oft eine gute Alternative zu ChatGPT.

Die Prompts in diesem Artikel funktionieren mit ChatGPT am besten.

Prompts für den Assistenten zum Programmieren Lernen

Ein guter Prompt setzt zuerst einen Kontext und erteilt danach den Auftrag.

1.Der Kontext

Mit dem Kontext definieren wir Rollen. Das kann die eigene Rolle sein, oder diejenige des Chatbots.

Wichtig: Wir nennen immer die Programmiersprache. Falls wir das vergessen, dann wird der Chatbot seine Antwort auf irgendeine beliebige Programmiersprache beziehen.

Ein Beispiel für die eigene Rolle:

Ich habe keine Informatikkenntnisse und möchte mit Python programmieren lernen.

Hier definieren wir den Kenntnisstand – keine Informatikkenntnisse.

Unsere Absicht: Programmieren lernen.
Und wichtig: wir präzisieren die Absicht: Python lernen.

Weiteres Beispiel:

Ich habe Erfahrungen mit Java und möchte Python programmieren lernen.

Mit diesem Kontext wird der Chatbot völlig anders antworten als mit dem ersten Kontext.

Noch ein Beispiel:

Ich bin Informatiker mit fortgeschrittenen Python-Kenntnissen und möchte Pandas lernen.

Formulieren wir nur den Kontext im Prompt, dann wird der Chatbot eine Antwort geben. Diese entspricht höchstwahrscheinlich nicht unserer Erwartung. Wir müssen präziser werden.

2. Der Auftrag an den Chatbot

Damit der Chatbot präzise antwortet, formulieren wir den Auftrag ebenfalls sehr präzise.

Hier ein Beispiel:

Generiere 10 Übungen, um mit dem Programmieren zu beginnen.

Damit erhalten wir eine Liste von Übungsbeispielen.

Diese können wir der Reihe nach durcharbeiten und eigene Lösungen finden.

Doch möglicherweise haben wir keine Ahnung, wie wir damit beginnen sollen.

Der Dialog mit dem Chatbot

Fragen wir also den Chatbot und beginnen einen Dialog.

Hier ein Beispiel:

Generiere eine Lösung zu 2.

Das funktioniert, wenn der Chatbot eine Liste mit Übungsaufgaben generiert hat, und wir eine Lösung zum zweiten Element der Liste haben möchten.

Haben wir die Lösung verstanden, dann benötigen wir weitere Übungen von dieser Art:

Generiere weitere Aufgaben, ähnlich wie 2.

Oder wir haben eine Übungsaufgabe erhalten und sehen einfach nicht, wie wir das anpacken können;

Generiere eine Lösung zur folgenden Aufgabe:
Hier formulieren wir die Aufgabe.
 

Oder wir haben eine Lösung verstanden und ein Befehl ist unklar:

Erläutere den Befehl hier den Befehl nennen

also beispielsweise

Erläutere den Python-Befehl input()

Der Dialog kann beliebig fortgesetzt werden. Wir sind uns selbst lieb und versuchen mit Hilfe des Chatbots zu lernen und zu verstehen. Das erreichen wir nicht, wenn wir einfach eine Lösung generieren lassen und gleich weitergehen, ohne sich mit der Lösung zu befassen.

Die Antwort des Chatbots

Der Chatbot “weiss” nichts, er generiert die Antworten mit Hilfe von sehr großen statistischen Modellen, die aus einer gigantischen Menge von Texten abgeleitet wurden. Man sagt, dass ein Modell trainiert wurde. Bei modernen Chatbots kommen Large Language Models (LLM) zum Einsatz.

Der Chatbot generiert die Wort für Wort und berechnet jeweils die Wahrscheinlichkeit für das folgende Wort.
Der Chatbot arbeitet also nach dem Zufallsprinzip. Das hat Auswirkungen auf die Antwort:

  • Der Chatbot antwortet auf dieselbe Frage immer verschieden (es sei denn, wir können die Zufälligkeit steuern, mit der der Chatbot antwortet).
  • Die Antwort des Chatbots ist vielleicht gar nicht korrekt. Das bedeutet, dass wir die Antworten immer überprüfen müssen. Antwortet der Chatbot also mit Python-Code, dann müssen wir den Code überprüfen – als Anfänger einfach “ausprobieren”. Als Fortgeschrittene analysieren wir den vorgeschlagenen Code sehr kritisch.
  • Der Chatbot antwortet auch mit Vorurteilen – also Bias. Die Vorurteile hat der Chatbot aus den Texten gelernt, die beim Training des LLMs verwendet wurden und plappert sie einfach nach. Das wird bei Fragen zum Programmieren lernen wahrscheinlich nicht passieren.
  • Der Chatbot kann halluzinieren. Stellen wir Fragen, für die der Chatbot während des Trainings keine oder zu wenig Texte “gesehen” hat, dann wird der Chatbot aufgrund der vorhandenen Wahrscheinlichkeiten eine Antwort zusammenreimen. Zu Grundlagen mit Python haben die genannten Bots genügend Texte gesehen und werden in der Lage sein, über die ersten Anfängerhürden hinweg zu helfen.
  • Der Chatbot kann keine komplexen Programme schreiben. Wir erhalten vielmehr Hinweise für kleinere Code Snippets – also ideal zum Programmieren lernen.
  • Der Chatbot ersetzt keine menschlichen Lernpersonen, kann beim Lernen jedoch gut unterstützen.

Beispieldialog

Fazit

Wer programmieren lernen möchte, kann einen Chatbot wie ChatGPT als Lernassistent einsetzen und wird dank geschickt strukturieren, deutschsprachigen Prompts unmittelbar hilfreiche Antworten auf alle Fragen rund um die Programmierung erhalten.

  • Python ist eine vielseitige Programmiersprache. Sie wird gerne genutzt, für Datenanalysen, Data Science und neu auch, um KI-gestützte, intelligente Apps zu entwickeln.

  • 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