Die Grundlagen des prompting
Um einen LLM zu befragen, schreiben Sie eine vollständige Anweisung, als würden Sie einen Kollegen briefen, der weder Ihr Projekt noch Ihre Gewohnheiten kennt: die genaue Aufgabe, den hilfreichen Kontext, die klar voneinander abgegrenzten zu verarbeitenden Daten und das erwartete Antwortformat. Sie können diese Anweisung über eine Chatoberfläche, die Kommandozeile oder die API senden. Das Modell errät weder die Absicht noch die Form: Alles, was nicht ausdrücklich geschrieben steht, wird improvisiert.
Dieser Leitfaden beantwortet zunächst die Frage aus dem Titel und beschreibt dann die Struktur eines Prompts, die Fehler, die am meisten Zeit kosten, die Techniken, die bei fast allen Modellen funktionieren, sowie das, was sich bei einem kleinen lokalen Modell ändert. Die Prinzipien basieren auf der offiziellen Dokumentation zum Prompt-Engineering von Anthropic und auf der von Ollama.
#So fragen Sie einen LLM ab: drei Möglichkeiten, eine Regel
Ein Sprachmodell setzt einen Text fort. Was es erzeugt, hängt daher fast vollständig davon ab, was Sie ihm geben. Die Dokumentation von Anthropic formuliert eine nützliche goldene Regel für jedes Modell: Zeigen Sie Ihren Prompt einem Kollegen, der die Aufgabe nicht kennt, und bitten Sie ihn, sie auszuführen; wenn er ratlos ist, wird es das Modell auch sein. Sie empfiehlt, ausdrücklich zu sagen, was man möchte, einschließlich des gewünschten Aufwands, statt zu erwarten, dass das Modell dies aus einer vagen Anweisung ableitet. Diese Regel gilt für ein Modell mit 8 Milliarden Parametern auf Ihrem Rechner ebenso wie für ein Spitzenmodell. Die Parameter, die Quantisierung und das gewählte Modell spielen eine Rolle, aber ein unklarer Prompt macht jedes Modell unbrauchbar.
#Drei Möglichkeiten, eine Frage an ein lokales Modell zu stellen
Ihr privates, kostenloses ChatGPT auf Ihrem Rechner in einer Stunde – mit LM Studio, Ollama, Open WebUI und Ihren Dokumenten, ganz ohne Cloud.
- Lebenslanger Online-Zugang
- PDF + Dateien
- Lebenslange Updates
- Chat-Interface
- Open WebUI, LM Studio, Jan: Sie tippen, das Modell antwortet, der Verlauf wird gespeichert. Der einfachste Weg für den Einstieg.
- Kommandozeile
- ollama run suivi du nom du modèle ouvre une session interactive dans le terminal. Pratique pour des essais rapides.
- API
- Ein Programm sendet eine HTTP-Anfrage an den lokalen Server und erhält die Antwort im JSON-Format. Das ist der Zugangsweg für Skripte und Automatisierungen.
Die Nachricht mit der Rolle system legt den dauerhaften Rahmen fest, die Nachricht mit der Rolle user enthält die Anfrage. Der Leitfaden zu System-Prompts erläutert im Detail, was dort hineingehört. Unabhängig vom gewählten Weg hängt die Qualität der Antwort vom Inhalt der Nachricht ab.
#Anatomie eines guten Prompts: Rolle, Aufgabe, Kontext, Format
Viele Leitfäden nennen vier Elemente: die Rolle, die Aufgabe, den Kontext und das Format. Das ist keine Norm, sondern eine Merkhilfe, die sich mit den Empfehlungen der Dokumentation deckt: präzise sein, Kontext liefern, strukturieren, das Format festlegen und bei Bedarf eine Rolle vorgeben. Die Dokumentation von Anthropic weist darauf hin, dass bereits eine in einem einzigen Satz formulierte Rolle in der Systemnachricht den Ton und das Verhalten beeinflusst.
- Rolle
- Ein Satz, der dem Modell eine Rolle zuweist: „Du bist ein gewissenhafter Korrektor für französische Texte“. Er bestimmt das sprachliche Register, nicht die Intelligenz.
- Aufgabe
- Das Handlungsverb, so präzise wie möglich: „Fassen Sie in fünf sachlichen Stichpunkten zusammen, ohne Adjektive“ ist besser als „Fassen Sie zusammen“.
- Kontext
- Die zu verarbeitenden Daten und der Grund für die Anfrage. Zu erklären, warum eine Vorgabe besteht, hilft dem Modell, sie korrekt zu verallgemeinern.
- Format
- Länge, Struktur, Sprache, Ton. Ohne diese Angaben wählt das Modell selbst.
Die Tags, die im obigen Beispiel den Vertrag umschließen, sind nicht dekorativ: Die Dokumentation weist darauf hin, dass XML-Tags dem Modell helfen, die Anweisungen, den Kontext, die Beispiele und die variablen Eingaben eindeutig zu unterscheiden. Wählen Sie konsistente und beschreibende Namen und verwenden Sie denselben Trenner von Prompt zu Prompt.
#Die Fehler, die am meisten Zeit kosten
| Fehler | Symptom | Korrektur |
|---|---|---|
| Anweisung in Schlüsselwörtern („Zusammenfassung Vertrag Risiken“) | Das Modell erkennt nicht, ob es eine Frage oder eine Anweisung ist | Einen vollständigen Satz mit einem Verb schreiben |
| Mit Anweisungen vermischte Daten | Das Modell behandelt einen Teil Ihrer Anweisungen als Inhaltsdaten | Daten mit Tags umschließen |
| Implizite Erwartungen | Unerwartete Länge, unerwartete Sprache oder unerwarteter Ton | Länge, Sprache und Ton angeben |
| Nur Verbote („Verwenden Sie kein Markdown“) | Was das Modell tatsächlich tut | Formulieren, was man möchte: „Antworten Sie in ausformulierten Absätzen“ |
| Langer Prompt ohne Struktur | Ignorierte Anweisungen | Die Schritte nummerieren, die Blöcke trennen |
| Vorgabe ohne Begründung | Ungeschickte Anwendung | Den Grund erklären: „Der Text wird vorgelesen“ |
Für die vorletzte Zeile empfiehlt die Dokumentation von Anthropic, dem Modell zu sagen, was es tun soll, statt was es nicht tun soll. Als Beispiel nennt sie, „Verwende kein Markdown“ durch eine Beschreibung der gewünschten Form zu ersetzen: Absätze mit flüssiger Prosa. Für die letzte Zeile empfiehlt sie, den Grund für eine Anweisung anzugeben: Das Modell leitet daraus eine allgemeine Regel ab statt eines wörtlichen Verbots.
#Techniken, die bei fast allen Modellen funktionieren
#Beispiele geben
Beispiele sind laut der Dokumentation von Anthropic eines der zuverlässigsten Mittel, um Format, Ton und Struktur zu steuern. Drei bis fünf Beispiele liefern in der Regel die besten Ergebnisse, sofern sie relevant und vielfältig sind (einschließlich Grenzfällen) und von Tags umschlossen werden, damit sie nicht als Anweisungen verstanden werden. Das ist besonders wirksam beim Klassifizieren, Extrahieren oder Umformatieren.
#Zum Schlussfolgern auffordern
Bei einem logischen Problem, einer Berechnung oder einer Code-Aufgabe verbessert es oft das Ergebnis, das Modell aufzufordern, vor dem Fazit die einzelnen Schritte darzulegen – allerdings wird die Antwort dadurch länger. Einige lokale Modelle tun dies von selbst: Die Dokumentation von Ollama erklärt, dass Reasoning-Modelle ein Feld thinking getrennt von der endgültigen Antwort zurückgeben, das Sie lesen, anzeigen oder ausblenden können. Bei den anderen genügt ein Satz: „Erkläre deinen Gedankengang Schritt für Schritt und gib dann die endgültige Antwort.“
#Ein langes Dokument platzieren
Die Dokumentation von Anthropic empfiehlt für Eingaben mit mehr als 20.000 Tokens, lange Dokumente an den Anfang des Prompts, vor die Frage, zu setzen und die Frage ans Ende zu schreiben: Laut den Tests von Anthropic kann dies die Antwortqualität um bis zu 30 % verbessern, besonders bei Eingaben mit mehreren Dokumenten. Dieses Ergebnis stammt aus Tests mit Claude-Modellen: Überprüfen Sie es mit Ihren eigenen Texten auf Ihrem lokalen Modell.
#Die Antwort prüfen lassen
Fordern Sie das Modell auf, für jede Aussage die Passage aus dem bereitgestellten Text zu zitieren, die sie belegt, oder „nicht überprüft“ zu schreiben, wenn es keine findet. Diese Anweisung beseitigt Halluzinationen nicht, macht Fehler aber erkennbar. Der Leitfaden zu Halluzinationen erläutert die Grenzen dieser Anweisung im Detail.
#Ein konkreter Fall: Von einer unklaren Anweisung zu einem nutzbaren Prompt
Nehmen Sie eine typische Anfrage: Sie fügen ein Besprechungsprotokoll ein und schreiben „Erstelle eine Zusammenfassung“. Das Modell weiß nicht, für wen die Zusammenfassung gedacht ist, wie viele Zeilen Sie erwarten, ob es Entscheidungen oder Aufgaben auflisten soll und in welcher Sprache es antworten soll. Es erzeugt einen generischen Text von beliebiger Länge, den Sie von Hand korrigieren werden.
| Element | Vage Version | Genauere Version |
|---|---|---|
| Aufgabe | Fasse zusammen | Fassen Sie diesen Bericht in fünf Aufzählungspunkten zusammen |
| Zielgruppe | Nicht angegeben | Für einen Direktor, der nicht anwesend war |
| Erwarteter Inhalt | Nicht angegeben | Getroffene Entscheidungen, anschließend Maßnahmen mit verantwortlicher Person und Datum |
| Format | Frei | Aufzählung mit einem Satz pro Punkt, maximal 20 Wörter |
| Garde-fou | Keine | Wenn ein Datum oder eine verantwortliche Person fehlt, „nicht angegeben“ schreiben, statt die fehlende Angabe zu erfinden |
Die letzte Zeile ist bei einem lokalen Modell am nützlichsten: Dem Modell ausdrücklich einen Ausweg für den Fall fehlender Informationen zu geben, reduziert erfundene Angaben. Jede Ergänzung braucht nur einen Satz, und zusammen machen sie aus einem Ergebnis, das noch überarbeitet werden muss, ein brauchbares Ergebnis. Wiederholen Sie den Versuch mit drei verschiedenen Protokollen, bevor Sie Ihren Prompt endgültig festlegen: Ein Prompt, der nur bei einem Beispiel funktioniert, ist wenig robust. Speichern Sie anschließend Ihre beste Version in einer Textdatei: Unverändert wiederverwendet spart sie Ihnen mehr Zeit als jeder Formulierungstrick und ermöglicht es Ihnen, zwei Modelle mit derselben Anweisung zu vergleichen.
#Ein Ausgabeformat vorgeben
Wenn die Antwort von einem Programm gelesen werden muss, reicht eine einfache Anweisung wie „Antworte im JSON-Format“ nicht immer aus. Ollama bietet strukturierte Ausgaben: Sie übergeben ein JSON-Schema im Feld format der Anfrage, und die Antwort wird darauf beschränkt, dieses Schema einzuhalten. Die Dokumentation empfiehlt, das Schema auch im Prompt anzugeben, um die Antwort daran auszurichten, die Temperatur (zum Beispiel auf 0) zu senken, um deterministischere Ergebnisse zu erzielen, und das Schema mit Pydantic oder Zod zu definieren, um es bei der Validierung wiederzuverwenden. Strukturierte Ausgaben funktionieren auch über die OpenAI-kompatible API mit response_format. Sie sind für die Cloud-Modelle von Ollama nicht verfügbar.
#Iterieren, ohne von Null zu beginnen
Eine nicht ganz gelungene Antwort lässt sich besser mit einer gezielten Anweisung korrigieren als mit einem neuen Prompt. Sagen Sie, was nicht stimmt und was Sie erwarten: „Formuliere das neu in drei Stichpunkten mit jeweils höchstens zwölf Wörtern“, „direkterer Ton, ohne Höflichkeitsfloskeln“, „füge die drei konkretesten Risiken hinzu“. Wenn das Ergebnis im Laufe der Gesprächsrunden schlechter wird, liegt das oft daran, dass der Gesprächsverlauf das Kontextfenster gefüllt hat: Beginnen Sie mit einer Zusammenfassung von vorn.
#Was sich bei einem lokalen Modell ändert
- Explizitere Anweisungen
- Ein kleines Modell kann unausgesprochene Informationen weniger gut ergänzen. Schreiben Sie alles auf, auch das, was Ihnen offensichtlich erscheint.
- Kontext standardmäßig gekürzt
- Bei weniger als 24 GiB VRAM startet Ollama mit einem Kontextfenster von etwa 4.000 Tokens. Lange eingefügte Texte können dadurch abgeschnitten werden. Vergrößern Sie zuerst das Kontextfenster, bevor Sie die Ursache im Prompt suchen.
- Modelle mit Schlussfolgerungsfähigkeit
- Sie denken nach, bevor sie antworten: Die Antwort kommt später und verbraucht Denktokens.
- Weniger zuverlässig auf Französisch
- Kleine Modelle machen häufiger Kongruenzfehler. Fügen Sie eine Anweisung zum Korrekturlesen hinzu oder wählen Sie ein größeres Modell.
- Temperatur
- Ein niedriger Einstellwert (0 bis 0,3) eignet sich für die Extraktion und JSON-Verarbeitung, ein höherer Wert für die Texterstellung. Siehe die Anleitung zu den Parametern.
#Merkhilfe vor dem Absenden eines Prompts
- Ein Satz, ein Verb
- Die Aufgabe wird als vollständige Anweisung mit einem präzisen Handlungsverb formuliert.
- Getrennte Daten
- Der zu verarbeitende Text wird durch Tags eingeschlossen und wird niemals mit den Anweisungen vermischt.
- Schriftliches Format
- Länge, Struktur, Sprache und Ton sind angegeben.
- Ein klar vorgegebener Ausweg
- Das Modell weiß, was zu antworten ist, wenn Informationen fehlen.
- Ein oder zwei Beispiele
- Für eine Extraktion oder Klassifikation gilt: Ein Beispiel ist zehn Erklärungen wert.
- Kontextfenster geprüft
- Der Prompt und die erwartete Antwort passen in den zugewiesenen Kontext.
Wie kann man einen LLM effizient abfragen?+
Liefert ein längerer Prompt bessere Antworten?+
Sollte man im Prompt „Du bist ein Experte“ sagen?+
Wie erhält man eine zuverlässige JSON-Antwort mit einem lokalen Modell?+
Warum ignoriert mein lokales Modell einen Teil meines Prompts?+
Welche Unterschiede gibt es zwischen Systemprompt und Benutzerprompt?+
#Weiterführende Informationen
- System-Prompts beherrschen
- Temperatur, top-p, top-k: die Parameter
- Das Kontextfenster verstehen
- Funktionen aufrufen und JSON-Ausgaben mit Ollama
- Halluzinationen: Wie man sie begrenzt
- Ihr erster lokaler Chat
- Quelle: Anthropic, bewährte Verfahren für das Prompt-Engineering
- Quelle : Ollama, strukturierte Ausgaben
- Quelle: Ollama, Reasoning-Modelle
- Quelle: Ollama, Kontextlänge
Haben Sie Feedback, einen Fehler entdeckt oder möchten Sie etwas präzisieren? Geben Sie uns Bescheid – so wird der Guide für alle besser.