Zero-Shot- und Few-Shot-Prompting
Sie verstehen den Unterschied zwischen einer direkten Aufforderung an das Modell und der Bereitstellung von Beispielen und lernen, wann welcher Ansatz bei Klassifikations-, Extraktions- und Generierungsaufgaben bessere Ergebnisse liefert.
Zero-Shot- und Few-Shot-Prompting ist eine kostenlose AI Engineering Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Engineering Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Engineering Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist Zero-Shot Prompting?
Zero-Shot Prompting bedeutet, das Modell aufzufordern, eine Aufgabe auszuführen, ohne ihm Beispiele für deren Bearbeitung zu geben. Sie beschreiben lediglich die Aufgabe und überlassen es dem Modell, sein vortrainiertes Wissen anzuwenden. Das funktioniert gut bei Aufgaben, die das Modell während des Trainings häufig gesehen hat, etwa Übersetzungen, Zusammenfassungen oder einfache Klassifizierungen.
Wenn Sie das Modell beispielsweise auffordern, Diese Bewertung als Positiv oder Negativ zu klassifizieren, handelt es sich um einen Zero-Shot-Prompt. Das Modell hat während des Vortrainings Tausende Beispiele für die Klassifizierung von Stimmungen verarbeitet und kann die Aufgabe daher ausführen, ohne dass im Prompt selbst Beispiele gezeigt werden.
Ein einfaches Zero-Shot-Beispiel
Zero-Shot-Prompts sind knapp und stützen sich auf das im Modell integrierte Wissen. Sie funktionieren am besten, wenn die Aufgabe geläufig und eindeutig ist. Beachten Sie, dass der folgende Prompt die Aufgabe klar definiert, ohne Beispiele für korrekte Ausgaben zu zeigen.
import openai
client = openai.OpenAI()
prompt = 'Classify the sentiment of the following customer review.\nRespond with only one word: Positive, Negative, or Neutral.\n\nReview: The delivery was fast but the packaging was damaged.\n\nSentiment:'
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=5
)
print(response.choices[0].message.content) # Expected: NegativeWenn Zero-Shot nicht ausreicht
Zero-Shot-Prompting kann scheitern, wenn das Aufgabenformat ungewöhnlich ist, das Modell einem unüblichen Ausgabeschema folgen muss oder Sie eine konsistente Formatierung benötigen, die das Modell bei jedem Durchlauf anders interpretieren könnte. Das Modell aufzufordern, Daten in eine sehr spezifische JSON-Struktur mit benutzerdefinierten Feldnamen zu extrahieren, ist als Zero-Shot-Prompt riskant, da das Modell Ihre genaue Absicht erraten muss.
Zero-Shot stößt außerdem bei domänenspezifischem Fachjargon oder speziellen Klassifizierungskategorien an seine Grenzen, mit denen das Modell während des Pre-Trainings möglicherweise nicht häufig in Berührung gekommen ist. In diesen Fällen verbessert die Bereitstellung von Beispielen die Genauigkeit deutlich.
Was ist Few-Shot-Prompting?
Few-Shot-Prompting bedeutet, dem Modell vor Ihrer eigentlichen Anfrage 2–8 Beispiele für die Aufgabe (Eingabe und gewünschte Ausgabe) bereitzustellen. Die Beispiele vermitteln dem Modell das genaue Format und Klassifizierungsschema, das Sie wünschen, ohne dass Fine-Tuning oder Training erforderlich ist.
Dies ist eine der leistungsfähigsten und am wenigsten genutzten Techniken im Prompt Engineering. Das Modell verwendet die Beispiele, um das Muster abzuleiten, und wendet es auf die neue Eingabe an. Untersuchungen aus dem GPT-3-Paper zeigten, dass die Leistung bei vielen Aufgaben mit der Anzahl der Beispiele deutlich zunahm – bis etwa 8 Beispiele erreicht waren. Danach flachen die Zugewinne ab und Sie verschwenden lediglich Tokens.
Struktur eines Few-Shot-Prompts
Ein Few-Shot-Prompt folgt einem konsistenten Muster: Zeigen Sie N Beispiele als Eingabe-Ausgabe-Paare und präsentieren Sie anschließend die neue Eingabe, deren Ausgabe das Modell vervollständigen soll. Die Formatierung der Beispiele vermittelt dem Modell das genaue Ausgabeformat, das Sie erwarten.
import openai
client = openai.OpenAI()
prompt = ('Extract the product name and price from each sentence.\n'
'Respond in the format: Product: <name> | Price: <price>\n\n'
'Sentence: The blue headphones cost $79.99.\n'
'Product: Blue Headphones | Price: $79.99\n\n'
'Sentence: You can get the leather wallet for just $34.\n'
'Product: Leather Wallet | Price: $34\n\n'
'Sentence: Order the ergonomic keyboard for $129.99 today.\n')
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=30
)
print(response.choices[0].message.content)Gute Few-Shot-Beispiele auswählen
Die Qualität Ihrer Beispiele ist genauso wichtig wie ihre Anzahl. Wählen Sie Beispiele aus, die:
- Grenzfälle abdecken — Fügen Sie ein Beispiel mit einer mehrdeutigen Eingabe hinzu, damit das Modell erkennt, wie diese behandelt werden soll
- den gesamten Ausgaberaum abdecken — Wenn Sie drei Klassen haben, sollte mindestens ein Beispiel für jede Klasse enthalten sein
- repräsentativ sind — Verwenden Sie Beispiele, die Stil und Komplexität realer Eingaben in der Produktion ähneln
- ein einheitliches Format haben — Jede Formatabweichung in Ihren Beispielen wird in die Ausgabe des Modells übernommen
Schlecht ausgewählte Beispiele können die Leistung sogar beeinträchtigen, indem sie das Modell über die Verteilung der Aufgaben irreführen.
Zero-Shot vs. Few-Shot: Wann Sie welches Verfahren verwenden
Verwenden Sie Zero-Shot, wenn die Aufgabe geläufig und klar definiert ist, Sie möglichst wenige Tokens verbrauchen möchten oder schnell iterieren und noch keine Beispiele sammeln können. Zero-Shot ist außerdem vorzuziehen, wenn das allgemeine Wissen des Modells nicht durch Beispiele eingeschränkt werden soll.
Verwenden Sie Few-Shot, wenn das Ausgabeformat ungewöhnlich oder strikt vorgegeben ist, Sie domänenspezifische Kategorien haben, Zero-Shot eine inkonsistente Formatierung erzeugt oder das Modell dauerhaft einem bestimmten Stil oder Ton folgen soll. Few-Shot ist besonders effektiv für Extraktion, Klassifizierung und Generierung mit Formatvorgaben.
Few-Shot für Klassifizierungsaufgaben
Klassifizierung ist einer der wertvollsten Anwendungsfälle für Few-Shot-Prompting. Wenn Sie benutzerdefinierte Labels haben, die keinen gängigen Kategorien entsprechen, vermitteln Sie dem Modell mit Beispielen Ihre Taxonomie. Die folgenden Beispiele definieren genau, was Bug, Feature Request und Question im Kontext von Support-Tickets bedeuten.
import openai
client = openai.OpenAI()
prompt = ('Classify the support ticket into: Bug, Feature Request, or Question.\n\n'
'Ticket: The login button does nothing when I click it.\n'
'Category: Bug\n\n'
'Ticket: Can you add dark mode to the dashboard?\n'
'Category: Feature Request\n\n'
'Ticket: How do I export my data to CSV?\n'
'Category: Question\n\n'
'Ticket: The export button crashes the app every time.\n'
'Category:')
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[{'role': 'user', 'content': prompt}],
max_tokens=10
)
print(response.choices[0].message.content) # BugOne-Shot-Prompting
Zwischen Zero-Shot und Few-Shot liegt One-Shot-Prompting: die Bereitstellung genau eines Beispiels. Das reicht häufig aus, um Formatierungsprobleme zu beheben oder mehrdeutige Aufgaben zu präzisieren, und verbraucht deutlich weniger Tokens als ein vollständiger Few-Shot-Prompt. One-Shot ist ein guter erster Eskalationsschritt, wenn Zero-Shot unzuverlässige Ergebnisse liefert.
Beginnen Sie in der Praxis mit Zero-Shot, prüfen Sie die Ergebnisse anhand einer Stichprobe realer Eingaben und fügen Sie nur dort Beispiele hinzu, wo das Modell Fehler macht. So bleiben Ihre Prompts schlank und tokensparend, während Sie gezielt die wichtigsten Verbesserungen erreichen.
Dynamische Few-Shot-Auswahl
In Produktionssystemen ist es suboptimal, für jede Anfrage dieselben wenigen Beispiele fest zu hinterlegen. Bei der dynamischen Few-Shot-Auswahl werden mithilfe der Ähnlichkeit von Embeddings die der aktuellen Eingabe ähnlichsten Beispiele aus einer beschrifteten Beispielsammlung abgerufen und anschließend nur diese Beispiele in den Prompt eingefügt.
Auf diese Weise sieht das Modell stets die relevantesten Demonstrationen für die jeweilige Eingabe und nicht allgemeine Beispiele, die möglicherweise weder zum Stil noch zur Domäne der Eingabe passen. Diese Technik verbindet die Vorteile von Few-Shot-Prompting mit der Skalierbarkeit eines Retrieval-Systems und wird manchmal als beispielbasiertes retrieval-augmentiertes Prompting bezeichnet.
Formatvorgaben in Few-Shot-Prompts
Few-Shot-Prompting ist die zuverlässigste Methode, um strikte Ausgabeformate durchzusetzen, bevor Ihnen strukturierte Ausgaben oder der JSON-Modus zur Verfügung stehen. Indem Sie dem Modell genau das erwartete Format zeigen – einschließlich Feldnamen, Trennzeichen und Reihenfolge –, erhöhen Sie die Wahrscheinlichkeit einer parsbaren Ausgabe erheblich.
Beenden Sie Ihren Few-Shot-Prompt stets mit dem Anfang des erwarteten Ausgabemusters (z. B. der öffnenden geschweiften Klammer eines JSON-Objekts oder dem ersten Feldnamen). Dadurch wird das Modell darauf vorbereitet, das Muster fortzusetzen, anstatt möglicherweise zunächst die Aufgabe zusammenzufassen oder zu kommentieren.
Kurzer Test
Testen Sie Ihr Verständnis der AI-Engineering-Konzepte aus dieser Lektion.
Zusammenfassung der Lektion
In dieser Lektion haben Sie gelernt: Zero-Shot-Prompting fordert das Modell auf, Aufgaben allein anhand einer Beschreibung auszuführen, Few-Shot-Prompting stellt 2–8 Eingabe-Ausgabe-Beispiele bereit, um Format und Taxonomie zu vermitteln und die dynamische Few-Shot-Auswahl ruft mithilfe der Ähnlichkeit von Embeddings die relevantesten Beispiele für jede Anfrage ab. Als Nächstes beschäftigen wir uns mit Chain-of-Thought-Prompting für komplexe Schlussfolgerungsaufgaben.
Häufig gestellte Fragen
Ist die Lektion „Zero-Shot- und Few-Shot-Prompting“ kostenlos?
Ja — der vollständige Text von „Zero-Shot- und Few-Shot-Prompting“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Engineering Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Engineering Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Zero-Shot- und Few-Shot-Prompting“?
Sie verstehen den Unterschied zwischen einer direkten Aufforderung an das Modell und der Bereitstellung von Beispielen und lernen, wann welcher Ansatz bei Klassifikations-, Extraktions- und Generieru… Du übst AI Engineering Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Engineering Academy zu starten?
Keine Vorkenntnisse erforderlich. AI Engineering Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Zero-Shot- und Few-Shot-Prompting“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Engineering Academy-Lektion Code schreiben und ausführen?
Ja. Jede AI Engineering Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Zero-Shot- und Few-Shot-Prompting
- Chain-of-Thought und schrittweises Schlussfolgern
- System-Prompts und Persona-Definition
- Prompt-Iteration und Debugging