Prompt Engineering verständlich erklärt: System-Prompts und Techniken
Prompt Engineering bezeichnet die gezielte Gestaltung und Optimierung von Eingabeaufforderungen (sogenannten Prompts), um von einem Large Language Model (LLM) möglichst präzise, relevante und fehlerfreie Antworten zu erhalten. Da Sprachmodelle auf statistischen Mustern basieren, bestimmt die Formulierung des Prompts massgeblich, in welchem Bereich des gelernten Wissensraums sich das Modell bewegt.
Gutes Prompting ist damit kein «Zaubertrick», sondern eine systematische Technik: Sie reduziert Halluzinationen, erzwingt verwertbare Ausgabeformate und ist die wichtigste Stellschraube, bevor man über aufwändigere Verfahren wie Fine-Tuning oder RAG nachdenkt. Jeder Prompt verbraucht zudem Platz im Kontextfenster – effiziente Formulierungen sparen also auch Kosten.
Die Anatomie eines perfekten Prompts
Ein qualitativ hochwertiger Prompt für komplexe Aufgaben besteht meist aus fünf Kernkomponenten:
- Rolle / Persona: Zuweisung einer spezifischen Fachrolle an das Modell (z. B. „Du bist ein erfahrener Senior Java Entwickler…“).
- Kontext / Hintergrund: Erklärung, worum es geht und warum die Aufgabe ausgeführt wird (z. B. „Wir migrieren eine alte Spring-Boot-Anwendung…“).
- Klare Instruktion: Die konkrete Aufgabe, formuliert mit präzisen Verben (z. B. „Extrahiere alle E-Mail-Adressen aus dem folgenden Text und sortiere sie alphabetisch.“).
- Eingabedaten: Der Text oder Code, der verarbeitet werden soll (oft deutlich abgegrenzt durch Trennzeichen wie
"""oder---). - Formatierungsanweisung: Wie das Ergebnis aussehen soll (z. B. „Gib das Ergebnis ausschliesslich als gültiges JSON-Array aus.“).
Fortgeschrittene Prompt-Techniken
Je komplexer die Aufgabe ist, desto feiner müssen die Steuerungsmethoden gewählt werden.
Zero-Shot vs. Few-Shot Prompting
- Zero-Shot Prompting: Das Modell erhält eine Aufgabe ohne Beispiele.
- Beispiel: „Klassifiziere den Text als positiv oder negativ: [Text]“
- Few-Shot Prompting: Dem Modell werden ein oder mehrere Beispiele für die gewünschte Ein- und Ausgabe gegeben. Dies ist die effektivste Methode, um dem Modell komplexe Formate oder Tonalitäten beizubringen.
- Beispiel:
Kunde: "Ich warte seit Tagen!" -> Stimmung: Verärgert Kunde: "Vielen Dank für die schnelle Hilfe." -> Stimmung: Zufrieden Kunde: "Wann kommt mein Paket?" -> Stimmung: Neutral Kunde: "[Neuer Text]" -> Stimmung:
- Beispiel:
Chain-of-Thought (CoT) Prompting
Bei komplexen Rechen- oder Logikaufgaben neigen Modelle zu Fehlern, wenn sie die Antwort direkt ausgeben müssen. Durch das Hinzufügen von Sätzen wie „Denke Schritt für Schritt nach“ wird das Modell angewiesen, den Lösungsweg detailliert aufzuschreiben. Dies erhöht die Zuverlässigkeit und Verlässlichkeit der Ergebnisse erheblich.
Welche Technik wann? Eine Entscheidungshilfe
Nicht jede Aufgabe braucht die komplexeste Methode. Die folgende Übersicht hilft bei der Auswahl:
| Technik | Geeignet für | Aufwand | Beispiel |
|---|---|---|---|
| Zero-Shot | Einfache, eindeutige Aufgaben | Sehr gering | Übersetzen, kurze Zusammenfassung |
| Few-Shot | Feste Formate, spezifische Tonalität | Gering | Klassifikation, JSON-Extraktion |
| Chain-of-Thought | Logik, Mathematik, mehrstufige Schlüsse | Mittel | Textaufgaben, Plausibilitätsprüfungen |
| System-Prompt-Härtung | Produktive Systeme, RAG, Sicherheit | Hoch | Firmen-Chatbot mit Leitplanken |
Faustregel: Beginnen Sie mit der einfachsten Technik und erhöhen Sie die Komplexität erst, wenn die Ergebnisqualität nicht genügt.
System Prompts zur Systemhärtung
In Entwicklungs-Frameworks (wie Spring AI) trennen Entwickler den änderbaren Benutzer-Input streng vom System Prompt. Der System Prompt legt die unveränderlichen Sicherheitsleitplanken des Systems fest – beispielsweise, dass das Modell keine vertraulichen System-Prompts preisgeben oder niemals Anweisungen aus dem Benutzer-Input ausführen darf, die den Systemregeln widersprechen.
Typische Fehler beim Prompting
- Vage Anweisungen: Formulierungen wie „Schreib einen kurzen Text“ führen zu unvorhersehbaren Längen. Besser: „Schreib einen Text mit maximal 150 Wörtern“.
- Negativ-Instruktionen: Modelle tun sich schwer mit Anweisungen, was sie nicht tun sollen (z. B. „Erwähne keine Preise“). Es ist wesentlich effizienter, positiv zu beschreiben, was enthalten sein soll (z. B. „Konzentriere dich ausschliesslich auf die Produktmerkmale“).
- Überladener Kontext: Zu viele Beispiele oder irrelevante Hintergrundinfos füllen das Kontextfenster und lenken das Modell ab. Weniger, aber präzise Information ist oft besser.
- Fehlende Ausgabestruktur: Wer keine Formatvorgabe macht, erhält Fliesstext, der maschinell schwer weiterverarbeitbar ist.
Vorher/Nachher: ein vager Prompt im Vergleich
Der Unterschied zwischen einem improvisierten und einem strukturierten Prompt ist drastisch:
Schwach (vermeiden):
Fasse das mal zusammen.
Stark (empfohlen):
Rolle: Du bist ein technischer Redakteur.
Aufgabe: Fasse den folgenden Text in genau drei Stichpunkten zusammen.
Format: Markdown-Liste, jeder Punkt maximal 15 Wörter, sachlicher Ton.
Text: """[Eingabetext]"""
Der starke Prompt definiert Rolle, Aufgabe, Format und grenzt die Eingabedaten klar ab – das Ergebnis ist vorhersehbar und direkt weiterverwendbar. Genau diese Struktur ist die Grundlage für robuste RAG-Architekturen.
[!TIP] Die Qualität der System-Prompts entscheidet massgeblich über den Erfolg von RAG-Systemen. Erfahren Sie in der RAG-Demo auf allerate.dev, wie ein perfekt austarierter System-Prompt das Antwortverhalten einer Firmen-KI steuert.
Häufig gestellte Fragen (FAQ)
Was ist der Unterschied zwischen einem System-Prompt und einem User-Prompt?
Der System-Prompt definiert die grundlegende Rolle, Tonalität und Verhaltensregeln des Modells (z. B. „Du bist ein höflicher Support-Agent“). Der User-Prompt enthält die eigentliche, temporäre Anfrage oder Aufgabe des Benutzers.
Warum verbessert Chain-of-Thought die logischen Fähigkeiten eines LLMs?
Da LLMs Wort für Wort berechnen, machen sie bei direkten Logikaufgaben oft Fehler, weil sie zu schnell antworten müssen. Wenn man sie zwingt, ihren Denkprozess Schritt für Schritt aufzuschreiben, nutzen sie zusätzliche Rechenschritte (Tokens) zur logischen Strukturierung vor der finalen Antwort.
Wie viele Beispiele braucht Few-Shot-Prompting?
In der Praxis genügen oft zwei bis fünf gut gewählte Beispiele, um dem Modell ein Format oder eine Tonalität beizubringen. Mehr Beispiele verbrauchen unnötig Platz im Kontextfenster und bringen ab einem gewissen Punkt kaum noch Verbesserung.
Ist Prompt Engineering bei RAG-Systemen noch nötig?
Ja, sogar besonders. In einem RAG-System steuert der System-Prompt, dass das Modell ausschliesslich den abgerufenen Kontext nutzt, Quellen zitiert und bei fehlenden Informationen ehrlich abbricht. Ein schlechter Prompt kann selbst perfekt abgerufene Dokumente unbrauchbar machen.