Iterative Prompting
Der erste Prompt ist selten der beste. Gute Ergebnisse entstehen meist schrittweise - durch gezieltes Verbessern, Analysieren und Verfeinern.
Das ist keine Schwäche der Methode, sondern ihr Wesen. Auch erfahrene Prompt Engineers schreiben selten den perfekten Prompt beim ersten Versuch. Der Unterschied: Sie verbessern systematisch statt zufällig.
Wie ernst das gemeint ist, zeigt ein Blick in die Forschung: Es gibt inzwischen Verfahren, die das Iterieren automatisieren - Pryzant et al. lassen ein Modell aus fehlerhaften Antworten in natürlicher Sprache formulierte „Gradienten" ableiten und daraus die nächste Prompt-Version bauen.1 Zhou et al. gehen noch weiter und lassen Sprachmodelle Prompts vollständig selbst erzeugen und auswählen - mit Ergebnissen auf dem Niveau menschlicher Prompt Engineers.2 Beide Ansätze bestätigen dasselbe Prinzip, das du in diesem Kapitel von Hand lernst: erzeugen, bewerten, gezielt ändern, wiederholen.
Der Zyklus
flowchart LR
P[Prompt<br/>formulieren]:::teal --> A[Antwort<br/>erzeugen]:::peach
A --> B[Ergebnis<br/>analysieren]:::teal
B --> V[gezielt<br/>verfeinern]:::teal
V --> P
classDef peach fill:#FFB482aa,stroke:#333,stroke-width:1px;
classDef teal fill:#009485aa,stroke:#333,stroke-width:1px;
Der Ablauf des Iterativen Prompting könnte nicht einfacher sein: Man formuliert einen Prompt, lässt das Modell eine Antwort erzeugen, analysiert die Antwort, verfeinert den Prompt und startet von vorn. Dabei ist es wichtig, dass man pro Iteration genau eine Sache ändert. Würde man alles gleichzeitig ändern, wüsste man am Ende nicht, welche Änderung was bewirkt hat.
Wie Menschen prompten
Zamfirescu-Pereira et al.3 haben untersucht, wie Menschen ohne KI-Hintergrund tatsächlich prompten. Drei Muster traten regelmäßig auf:
- Opportunistisches Ausprobieren statt systematischem Vorgehen - man ändert, was gerade auffällt.
- Übergeneralisierung aus Einzelfällen: Ein einziger guter Durchlauf gilt als Beweis, dass der Prompt funktioniert.
- Vermenschlichung: Man erklärt dem Modell die Aufgabe so, wie man sie einem Menschen erklären würde - inklusive Andeutungen, die es nicht auflösen kann.
Das zweite Muster ist besonders tückisch, weil Sprachmodelle nicht deterministisch sind: Bei jedem Wort wird aus einer Wahrscheinlichkeitsverteilung gezogen, nicht einfach das wahrscheinlichste Wort genommen - genau darauf beruhen die gängigen Sampling-Verfahren.4 Zwei Durchläufe desselben Prompts sind damit zwei verschiedene Stichproben.
Eine Iteration im Detail
Nun packen wir die Theorie beiseite - so sieht eine Runde in der Praxis aus. Wir bleiben beim Business Model Canvas.
Runde 1 - die Baseline:
Erstelle ein Business Model Canvas für meinen Bio-Lieferdienst.
Ein Business Model Canvas für einen Bio-Lieferdienst könnte so aussehen:
Kundensegmente: Menschen, die Wert auf gesunde Ernährung legen.
Wertangebot: Frische Bio-Produkte, bequem geliefert.
Kanäle: Website und App.
Ich hoffe, das hilft dir weiter! Sag Bescheid, wenn du mehr Details brauchst.
Jetzt kommt der entscheidende Schritt - benennen, was fehlt, statt nur „gefällt mir nicht" zu denken und meist auch zu schreiben:
- Von neun Feldern kommen drei. Das Modell kennt die Struktur offenbar nicht sicher.
- Der Inhalt passt auf jeden Bio-Lieferdienst - es fehlt der Kontext.
- Am Ende steht eine Floskel, die niemand bestellt hat.
Drei Probleme, drei mögliche Änderungen. Und genau hier wird die Regel wichtig: nur eine davon pro Runde. Wir beginnen mit der gravierendsten - der fehlenden Struktur.
Runde 2 - die neun Felder explizit vorgeben:
"""
...Erstelle ein Business Model Canvas für meinen Bio-Lieferdienst.
...Verwende genau diese neun Felder, je ein Stichpunkt pro Feld:
...Kundensegmente, Wertangebot, Kanäle, Kundenbeziehungen, Einnahmequellen,
...Schlüsselressourcen, Schlüsselaktivitäten, Schlüsselpartner, Kostenstruktur.
..."""
Ergebnis: neun von neun Feldern. Der Inhalt ist immer noch generisch - aber das ist jetzt ein anderes Problem, das die nächste Runde löst. Genau so entsteht der Fortschritt: ein Symptom nach dem anderen.
Output analysieren
Bevor du etwas änderst, benenne präzise, was nicht stimmt. Die meisten Probleme fallen in eine dieser fünf Kategorien:
Verfeinerungsstrategien
Fünf Werkzeuge für die nächste Iteration
- Hinzufügen - der fehlende Baustein (meist Kontext oder Format).
- Verschärfen - vage Verben durch präzise ersetzen: analysieren → drei Risiken nennen und je einen Satz begründen.
- Zerlegen - ein Prompt macht zu viel auf einmal → in zwei Prompts aufteilen (Chaining).
- Vormachen - statt zu beschreiben, ein Beispiel liefern (Few-Shot).
- Weglassen - überflüssige Höflichkeitsfloskeln und Wiederholungen streichen. Bei kleinen Modellen verwässert Ballast die eigentliche Anweisung.
Diese fünf Werkzeuge sind keine Erfindung dieses Kurses: Sie sind die praktische Kurzfassung dessen, was Übersichtsarbeiten zum Prompt Engineering als wiederkehrende Stellschrauben beschreiben.5 6
Das Modell als Prompt-Kritiker
Du kannst die KI ihre eigene Antwort bewerten lassen:
Welche Information fehlte dir, um eine bessere Antwort zu geben?
...Nenne genau drei Punkte.
Dieses Prinzip - erzeugen, selbst kritisieren, überarbeiten - ist als Self-Refine untersucht worden: Madaan et al. berichten über verschiedene Aufgaben hinweg spürbare Verbesserungen allein durch diese Schleife, ganz ohne zusätzliches Training.7
Aber Vorsicht, die Forschung ist sich uneinig. Huang et al. haben nachgeprüft, ob Modelle ihre eigenen Fehler wirklich erkennen - und kommen bei Reasoning-Aufgaben zum gegenteiligen Ergebnis: Ohne Rückmeldung von außen verschlechtern sich die Antworten durch Selbstkorrektur eher, als dass sie besser werden.8 Der Grund ist einleuchtend: Wer einen Fehler nicht bemerkt hat, bemerkt ihn beim zweiten Hinsehen meist auch nicht.
Für dich heißt das: Nutze die Selbstkritik, um fehlenden Kontext aufzuspüren - dafür funktioniert sie erfahrungsgemäß gut. Verlass dich aber nicht darauf, dass das Modell inhaltliche Fehler in seiner eigenen Antwort findet. Diese Rolle behältst du.
🔬 Ollama-Lab
Alles ab hier drehst du an deiner eigenen Geschäftsidee. Die Beispiele oben im Kapitel zeigen das Verfahren - hier wendest du es an. Terminal auf, ollama run gemma3:1b, los.
Übung 1: Eine Schraube pro Runde
Nimm deinen Canvas-Prompt aus Shot Prompting (## 02a in deinem lab_log.md) und verbessere ihn in mindestens vier Runden - pro Runde genau eine Änderung.
Naheliegende Reihenfolge:
- Baseline - was du jetzt hast
- + die neun Feldnamen explizit auflisten
- + Kontext aus deiner
idee.md - + Format und Umfang je Feld
Protokolliere jede Runde im lab_log.md unter ## 02b nach dem Muster - was geändert, was bewirkt.
Übung 2: Das Modell als Prompt-Kritiker
Nimm deinen bislang schwächsten Prompt und frage im selben Chat direkt nach:
Welche drei Informationen hätte ich dir mitliefern müssen, damit deine Antwort konkret und nützlich wird?
Prüfe: Sind die Vorschläge brauchbar? Und decken sie sich mit den fünf Bausteinen?
🐍 Optional (Python): Prompts automatisch bewerten
Sobald du eine Zahl hast, kannst du Prompts objektiv vergleichen, statt nach Bauchgefühl zu urteilen. Genau dieses Prinzip steckt hinter professionellen Prompt-Evaluationen.
from llm import frage
FELDER = ["Kundensegmente", "Wertangebot", "Kanäle", "Kundenbeziehungen",
"Einnahmequellen", "Schlüsselressourcen", "Schlüsselaktivitäten",
"Schlüsselpartner", "Kostenstruktur"]
ITERATIONEN = [
"Erstelle ein Business Model Canvas für meinen Bio-Lieferdienst.",
"Erstelle ein Business Model Canvas für meinen Bio-Lieferdienst. "
"Verwende genau diese neun Felder: " + ", ".join(FELDER) + ".",
# ... hier deine weiteren Runden ergänzen
]
def bewerte(antwort, pflichtbegriffe=FELDER, max_woerter=200):
text = antwort.lower()
# 1) Inhalt: wie viele Pflichtbegriffe kommen vor?
treffer = sum(1 for b in pflichtbegriffe if b.lower() in text)
inhalt = treffer / len(pflichtbegriffe)
# 2) Länge: Überlänge wird proportional bestraft
woerter = len(antwort.split())
laenge = 1.0 if woerter <= max_woerter else max_woerter / woerter
# 3) Gewichtet kombinieren - Inhalt zählt doppelt
score = (inhalt * 2 + laenge) / 3 * 100
print(f"Felder: {treffer}/{len(pflichtbegriffe)} · "
f"Wörter: {woerter}/{max_woerter} · Score: {score:.0f}")
return round(score)
for runde, prompt in enumerate(ITERATIONEN, start=1):
print(f"\nRunde {runde}:", end=" ")
bewerte(frage(prompt))
Runde 1: Felder: 3/9 · Wörter: 61/200 · Score: 56
Runde 2: Felder: 9/9 · Wörter: 128/200 · Score: 100
Runde 3: Felder: 9/9 · Wörter: 141/200 · Score: 100
Runde 4: Felder: 9/9 · Wörter: 97/200 · Score: 100
Die Zahl bestätigt, was du in Übung 3 von Hand gesehen hast: Ab Runde 2 steht der Score bei 100, obwohl Runde 3 inhaltlich deutlich besser ist. Das Skript automatisiert die Messung - die Blindheit der Messgröße automatisiert es gleich mit.
Genau deshalb lohnt sich der Aufwand trotzdem: Ein Score macht Regressionen sichtbar. Wenn ein Prompt nach einer Änderung von 100 auf 78 fällt, weißt du es sofort, statt es zu überlesen.
Quellen
Zur Ausarbeitung wurden generative Tools unterstützend eingesetzt.
-
R. Pryzant, D. Iter, J. Li, et al., "Automatic prompt optimization with 'gradient descent' and beam search," in Proc. Conf. Empirical Methods in Natural Language Processing (EMNLP), 2023, arXiv:2305.03495. ↩
-
Y. Zhou, A. I. Muresanu, Z. Han, et al., "Large language models are human-level prompt engineers," in Proc. Int. Conf. Learning Representations (ICLR), 2023, arXiv:2211.01910. ↩
-
J. D. Zamfirescu-Pereira, R. Y. Wong, B. Hartmann, and Q. Yang, "Why Johnny can't prompt: How non-AI experts try (and fail) to design LLM prompts," in Proc. CHI Conf. Human Factors in Computing Systems (CHI '23), 2023, pp. 1-21, doi: 10.1145/3544548.3581388. ↩
-
A. Holtzman, J. Buys, L. Du, et al., "The curious case of neural text degeneration," in Proc. Int. Conf. Learning Representations (ICLR), 2020, arXiv:1904.09751. ↩
-
P. Sahoo, A. K. Singh, S. Saha, et al., "A systematic survey of prompt engineering in large language models: Techniques and applications," arXiv:2402.07927, 2024. ↩
-
P. Liu, W. Yuan, J. Fu, et al., "Pre-train, prompt, and predict: A systematic survey of prompting methods in natural language processing," ACM Comput. Surv., vol. 55, no. 9, pp. 1-35, 2023, arXiv:2107.13586. ↩
-
A. Madaan, N. Tandon, P. Gupta, et al., "Self-refine: Iterative refinement with self-feedback," arXiv:2303.17651, 2023. ↩
-
J. Huang, X. Chen, S. Mishra, et al., "Large language models cannot self-correct reasoning yet," in Proc. Int. Conf. Learning Representations (ICLR), 2024, arXiv:2310.01798. ↩