Was versteht man unter dem Begriff Prompt?
Ein Prompt ist der Text, der an ein großes Sprachmodell (Large Language Model (LLM)) gesendet wird. Der Prompt enthält normalerweise eine Frage oder Aufgabe, die das LLM beantworten soll, sowie zusätzliche Informationen, wie den gewünschten Stil der Antwort oder relevante Kontextinformationen. Einige Anwendungen, wie z. B. ChatGPT, verwenden einen internen Prompt (auch als System- oder Masterprompt bezeichnet), um die Art der Antworten zu kalibrieren, die an die Benutzerin bzw. den Benutzer zurückgegeben werden.
Was ist Prompt Engineering?
Prompt Engineering umfasst Techniken, die darauf abzielen, die Ausgabe eines Sprachmodells zu steuern und zu verbessern (z. B. Halluzinationen reduzieren), ohne die internen (trainierten) Gewichte des Modells zu verändern, d. h., die nur die Art und Weise bestimmen, wie Fragen an das Modell gestellt werden. Prinzipiell erhalten große Sprachmodelle einen Text als Eingabe und erzeugen daraus die wahrscheinlichste Antwort. Da LLMs darauf trainiert sind, Anweisungen zu befolgen, besteht immer die Gefahr, dass sie halluzinieren (d. h. Text erzeugen, der nicht den Tatsachen entspricht), etwas logisch Falsches ausgeben, die Anweisung nicht vollständig befolgen oder einen Teil davon vergessen.
Prompt Engineering lässt sich durch zwei Hauptaspekte (oder Dimensionen) kategorisieren:
- Ziel: Diese Dimension bezieht sich auf das angestrebte Ziel. Dazu gehören die Reduzierung von Halluzinationen, die Verbesserung der Argumentationsfähigkeit, die Anpassung des Antwortstils, die Einschränkung des Ausgabeformats oder sogar das sogenannte Jailbreaking, bei dem eingebaute Einschränkungen des Modells überwunden werden, um potenziell schädliche oder illegale Inhalte zu generieren.
- Implementierung: Diese Dimension behandelt die Methoden der Umsetzung von Prompt Engineering.
Einfache Prompting-Techniken:
Bei den einfachsten Techniken wird ein Sprachmodell (LLM) nur einmal aufgerufen. Die gesamte Technik wird direkt im Prompt umgesetzt, beispielsweise durch Hinzufügen eines Kontexts, einer Rolle oder einiger Beispiele (sogenannte Shots). Zusätzliche Elemente umgeben die eigentliche Aufgabe, wie etwa das Hinzufügen einer Rolle „Du bist ein hilfreicher Code-Assistent“, das Einfügen eines Kontexts „Dein Ziel ist es, Empfehlungen zur Wartbarkeit des Codes zu geben“ oder das Auffordern des LLMs, seine Überlegungen zu erläutern „Lass uns Schritt für Schritt denken“ (dies ist die Grundidee der Chain-of-Thought-Prompting-Technik).
Techniken basierend auf Stichproben:
Bei einigen Techniken wird ein Sprachmodell (LLM) mehrmals aufgerufen (oder mehrere verschiedene LLMs werden verwendet), um leicht unterschiedliche Antworten zu generieren. Dies wird als Sampling bezeichnet und kann beispielsweise durch die Anpassung des Temperaturparameters des LLMs erreicht werden. Die generierten Antworten werden anschließend gesammelt und ausgewertet, bevor eine endgültige Antwort an die Benutzerin oder den Benutzer zurückgegeben wird. Dieser Prozess kann einmalig (z. B. bei Self-Consistency) oder mehrfach (z. B. bei Tree of Thoughts) durchgeführt werden.
Integration von Werkzeugen:
Bei bestimmten Techniken wird das Sprachmodell (LLM) dazu verwendet, Aktionen mithilfe vorhandener Werkzeuge wie einer Datenbank, einer Suchmaschine oder einem Code-Interpreter auszuführen. Nach der Durchführung der Aktion werden die Ergebnisse gesammelt und zur Generierung einer Antwort verwendet. Beispiele für solche Techniken sind Retrieval Augmented Generation (RAG), ReAct und Program Aided Language Model. Durch die Anwendung dieser Techniken kann jeder Nutzende unabhängig von seinen Programmierkenntnissen die Funktionalitäten von KI-Systemen voll ausschöpfen.
Vergleichbarkeit mit analogen Phänomenen
Prompt Engineering kann mit verschiedenen analogen Phänomenen verglichen werden, bei denen komplexe Systeme durch einfache und intuitive Benutzerinteraktionen gesteuert werden. Ein klassisches Beispiel ist die Bedienung eines Fahrzeugs. Eine Fahrerin oder ein Fahrer muss nicht verstehen, wie der Motor, die Elektronik oder die Antriebssysteme im Detail funktionieren, um das Fahrzeug sicher und effizient zu steuern. Stattdessen reichen grundlegende Kenntnisse und die Fähigkeit, die richtigen Hebel und Pedale zu betätigen. Ebenso ermöglicht Prompt Engineering den Benutzerinnen und Benutzern, leistungsfähige KI-Modelle zu steuern, ohne tiefgehende Programmierkenntnisse zu besitzen. Hierbei handelt es sich um die Kunst, klare und präzise Anweisungen zu formulieren, die von der KI verstanden und ausgeführt werden können.
Ein weiteres analoges Phänomen ist die Nutzung grafischer Benutzeroberflächen (GUI) in Computern und Softwareanwendungen. Früher erforderte die Interaktion mit Computern oft das Eingeben komplizierter Befehle in eine Kommandozeile. Mit der Einführung von GUIs wurde diese Barriere abgebaut, sodass auch Nutzende ohne technisches Hintergrundwissen Computer effizient bedienen können. Prompt Engineering verfolgt ein ähnliches Ziel, indem es die Komplexität der Interaktion mit KI-Systemen reduziert und benutzerfreundlicher gestaltet.
Gesellschaftliche Relevanz
Die gesellschaftliche Relevanz von Prompt Engineering ist enorm. Es demokratisiert den Zugang zu fortschrittlicher KI-Technologie, sodass ein breiteres Spektrum von Menschen, unabhängig von ihren technischen Fähigkeiten, diese Tools nutzen kann. Dies fördert Innovation und Kreativität in verschiedenen Bereichen von der Bildung über das Gesundheitswesen bis hin zu Kunst und Wirtschaft. Ein wichtiger Aspekt, der nicht vernachlässigt werden darf, ist der hohe Energieverbrauch von KI-Systemen. Das Training und der Betrieb großer Sprachmodelle erfordern erhebliche Mengen an Rechenleistung, die zu einem hohen Stromverbrauch führt. Dies hat direkte Auswirkungen auf die Umwelt und die Nachhaltigkeit. Daher ist es wichtig, dass die Entwicklung und Nutzung von KI-Technologien auch unter ökologischen Gesichtspunkten betrachtet wird.