Prompts
Mit Vergleichsexperimenten Aufbau von Prompts, Few-Shot, erst denken dann antworten und JSON-Ausgabe erklären, und zum Schluss ein kleines Werkzeug bauen, um Prompts in großen Mengen zu testen.
Lektionen
- 01Wie ein guter Prompt aussieht
Dieselbe unordentliche Hilfeanfrage eines Nutzers einmal mit einem dahingeschriebenen und einmal mit einem klar aufgebauten Prompt bearbeiten und die Ergebnisse Absatz für Absatz vergleichen. Was Rolle, Aufgabe, Hintergrund, Anforderungen und Ausgabeformat jeweils leisten.
35 Minuten · Einsteiger - 02Beispiele geben: Few-Shot-Prompts
Nutzerbeiträge in vier Kategorien einteilen – ohne Beispiele 18 richtig, mit 4 Beispielen 20 richtig. Wie man Beispiele auswählt, wie viele man nimmt und welche Nebenwirkungen sie haben.
30 Minuten · Einsteiger - 03Das Modell erst denken, dann antworten lassen
Sechs fehleranfällige Fragen je fünfmal – direkt geantwortet 21 richtig, mit vorher aufgeschriebenem Denkweg 29, mit Denkmodus alle richtig. Warum „erst denken, dann antworten“ hilft und was es kostet.
35 Minuten · Einsteiger - 04Das Modell JSON ausgeben lassen
Wenn ein Programm die Antwort des Modells weiterverarbeitet, muss sie verlässliches JSON sein. JSON-Modus, Validierung mit Pydantic samt Korrektur durch das Modell bei Fehlern, und Tool-Aufrufe im strikten Modus, um schemakonforme strukturierte Ausgaben zu bekommen.
40 Minuten · Einsteiger - 05Auch Prompts muss man testen
Prompts in Dateien auslagern, 30 Testfälle vorbereiten, jeden dreimal laufen lassen und zwei Prompt-Versionen mit Daten vergleichen. Dabei zeigt sich, dass auch die Testergebnisse geprüft werden müssen: Manchmal liegt nicht das Modell falsch, sondern die Markierung.
40 Minuten · Einsteiger
Jede Lektion dieses Moduls ist eine Reihe von Vergleichsexperimenten: dieselbe Aufgabe, zwei Formulierungen, die Ergebnisse nebeneinander. Du wirst sehen, wie ein dahingeschriebener Prompt das Modell die Vermutung eines Nutzers als Tatsache hinschreiben lässt, wie vier Beispiele die Klassifikation komplett richtig machen und wie ein einziger Satz „schreib zuerst den Denkweg auf“ die Fehler bei Fangfragen von 9 auf 1 senkt.
Einen „Universal-Prompt“ gibt es in diesem Kurs nicht. Ob ein Prompt gut ist, entscheidet das Ergebnis bei deiner Aufgabe; deshalb zeigt die letzte Lektion, wie man Prompts in großen Mengen testet.
Warum diese Reihenfolge
Lektion 1 behandelt, aus welchen Teilen ein Prompt besteht; das ist die Grundlage. Lektionen 2 und 3 behandeln je eine der auf dieser Grundlage meistgenutzten Techniken: Beispiele geben und das Modell erst denken, dann antworten lassen. Lektion 4 wendet sich der Verarbeitung durch Programme zu und zeigt, wie aus der Ausgabe verlässliches JSON wird; beim Bau von Anwendungen und Agenten kommt man nicht ohne aus. Lektion 5 stellt alles Bisherige in den Rahmen des „Testens“: vor und nach einer Prompt-Änderung mit Daten argumentieren.
Du bist fertig, wenn
- du bei einem Ein-Satz-Prompt die Probleme erkennst und ihn nach Rolle, Aufgabe, Anforderungen, Format und Trennzeichen umschreiben kannst.
- du für eine Klassifikationsaufgabe passende Few-Shot-Beispiele auswählen und begründen kannst, warum gerade diese.
- du beurteilen kannst, ob eine Aufgabe den Denkmodus braucht, und dein Urteil mit Daten stützen kannst.
- du Code nach dem Muster „JSON-Modus + Pydantic-Validierung + Wiederholung bei Fehlern“ schreiben und damit zuverlässig strukturierte Daten aus einem Text extrahieren kannst.
- du nach einer Prompt-Änderung mit einer Reihe von Testfällen zeigen kannst, worin die neue Version besser und worin sie schlechter ist als die alte.
Code zu diesem Modul
Code und Programmausgaben stehen genau so da, wie sie gelaufen sind – Kommentare und Ausgaben sind daher auf Chinesisch.
- code/02-prompting/few_shot.py
- code/02-prompting/json_output.py
- code/02-prompting/json_strict.py
- code/02-prompting/prompt_structure.py
- code/02-prompting/prompt_test.py
- code/02-prompting/prompts/cases.jsonl
- code/02-prompting/prompts/classify_v1.txt
- code/02-prompting/prompts/classify_v2.txt
- code/02-prompting/reasoning.py
- code/02-prompting/results.jsonl