Prompt-Optimierung ist der Prozess, einen Prompt an einem definierten Ziel zu verbessern: bessere Antworten, weniger Tokens, geringere Latenz oder ein konsistenteres Format. Vom Herumprobieren unterscheidet sie die Messung. Sie legen fest, was „besser“ heißt, ändern eine Sache und prüfen.
Entscheiden Sie, wofür Sie optimieren
Ein Prompt lässt sich entlang mehrerer Achsen optimieren, und sie ziehen in entgegengesetzte Richtungen.
| Ziel | Gemessen an | Kostet oft |
|---|---|---|
| Qualität | Erfolgsquote auf einem Testsatz | Tokens |
| Konsistenz | Gleiche Eingabe, gleiche Ausgabeform | Flexibilität |
| Kosten | Eingabe- und Ausgabe-Tokens pro Aufruf | Kontext, Beispiele |
| Latenz | Zeit bis zum ersten und letzten Token | Tiefe des Schlussfolgerns |
| Sicherheit | Widerstand gegen Injection und Lecks | Etwas Hilfsbereitschaft |
Wählen Sie ein Hauptziel und eine Grenze für die anderen, zum Beispiel „die Erfolgsquote steigern, ohne 800 Eingabe-Tokens zu überschreiten“.
Die Optimierungsschleife
1. Beheben Sie zuerst die statischen Probleme
Manche Mängel lassen sich ohne Modell finden: kein Ziel, vage Wörter, Größen ohne Zahlen, widersprüchliche Anweisungen, kein Ausgabeformat, wiederholte Sätze, nicht abgegrenzte Variablen. Räumen Sie diese aus, bevor Sie Geld für Modellaufrufe ausgeben. Der PromptFlowEngine-Prompt-Analyzer listet sie auf, jeweils mit einem Korrekturvorschlag.
2. Bauen Sie einen Testsatz
Sammeln Sie 20 bis 50 Eingaben, die den realen Gebrauch abbilden. Nehmen Sie auf:
- Typische Fälle.
- Randfälle: leer, sehr lang, gemischte Sprachen, fehlerhaft.
- Gegnerische Fälle: Text, der versucht, die Anweisungen zu ändern.
- Frühere Fehlschläge. Jeder Fehler wird zu einem Test.
Notieren Sie für jede Eingabe, was eine korrekte Ausgabe enthalten oder erfüllen muss.
3. Legen Sie eine Baseline fest
Führen Sie den aktuellen Prompt für jede Eingabe aus und halten Sie die Ergebnisse fest. Diese Zahl ist der Maßstab für jede Änderung. Ohne sie lässt sich eine Verbesserung nicht von Rauschen unterscheiden.
4. Lesen Sie die Fehlschläge
Gruppieren Sie sie. Zehn Fehlschläge haben meist zwei oder drei Ursachen. Suchen Sie das Muster: Sind es immer lange Eingaben, immer eine Kategorie, immer dasselbe fehlende Feld?
5. Bilden Sie eine Hypothese und nehmen Sie eine Änderung vor
„Das Modell fügt Kommentare hinzu, weil der Prompt nicht sagt, dass nur JSON zurückzugeben ist.“ Nehmen Sie diese Änderung vor und sonst nichts.
6. Führen Sie den gesamten Satz erneut aus
Prüfen Sie, dass die Fehlschläge behoben sind und, ebenso wichtig, dass nichts, was zuvor bestanden hat, jetzt fehlschlägt. Eine Korrektur für einen Fall, die zwei andere kaputtmacht, ist eine Regression.
7. Behalten oder zurücksetzen, dann wiederholen
Halten Sie fest, was Sie geändert haben und warum. Zur Versionierung siehe Prompt-Verwaltung.
Verfeinerungen, die meist funktionieren
| Symptom | Verfeinerung |
|---|---|
| Die Ausgabe variiert in der Länge | Größenwörter durch Zahlen ersetzen |
| Die Ausgabe variiert in der Form | Ein ausdrückliches Format oder Schema ergänzen |
| Ignoriert eine Regel | Aus einem Absatz in eine Liste verschieben; Konflikte beseitigen |
| Zu generisch | Zielgruppen- und Fachkontext ergänzen |
| Falsch bei Randfällen | Eine Regel oder ein Beispiel für diesen Fall ergänzen |
| Erfindet Fakten | Quellen liefern und „nicht angegeben“ verlangen, wenn nichts vorliegt |
| Weitschweifig | Eine Wortgrenze setzen und sagen, was wegzulassen ist |
Verfeinerungen, die meist nicht funktionieren
- Jeder Zeile Betonung hinzufügen (Großbuchstaben, „sehr wichtig“).
- Dieselbe Anweisung an mehreren Stellen wiederholen.
- Für jeden Fehlschlag eine neue Sonderfallregel anhängen, ohne auf Konflikte zu prüfen.
- Die Formulierung von etwas ändern, das nicht die Ursache war.
Auf Tokens optimieren
Sobald die Qualität ausreicht, senken Sie die Kosten, ohne das Verhalten zu ändern:
- Entfernen Sie Begrüßungen, Höflichkeit und Füllwörter.
- Löschen Sie wiederholte und fast wiederholte Sätze.
- Kürzen Sie Kontext, der keine Antwort im Testsatz verändert.
- Verringern Sie die Zahl der Beispiele und testen Sie erneut.
- Stellen Sie den stabilen Teil des Prompts nach vorn, damit das Caching des Anbieters greift.
Die Schritte 1 und 2 sind mechanisch und lassen sich gefahrlos automatisieren. Der PromptFlowEngine-Prompt-Optimierer erledigt sie und prüft anschließend, dass jeder ursprüngliche Satz, jede Anforderung und jede geschützte Stelle noch vorhanden ist, sodass der kürzere Prompt genau das verlangt wie der längere. Einzelheiten unter Token-Optimierung.
Automatisierte Optimierung
Es gibt Werkzeuge, die automatisch nach besseren Prompts suchen, indem ein Modell Varianten vorschlägt und diese auf Ihrem Testsatz bewertet werden. Sie können Verbesserungen finden, die Menschen übersehen. Dafür brauchen sie drei Dinge: einen guten Testsatz, eine verlässliche Bewertungsfunktion und eine Prüfung des siegreichen Prompts, denn ein Optimierer nutzt jede Schwäche der Metrik aus.
Eine verwandte Warnung gilt für die Bitte an ein Chat-Modell, „diesen Prompt zu verbessern“. Es liefert etwas, das besser klingt. Es kann aber auch eine Einschränkung weglassen oder eine Annahme hinzufügen. Vergleichen Sie das Ergebnis per Diff mit dem Original und bestätigen Sie, dass jede Anforderung erhalten blieb.
Wann man aufhört
Hören Sie auf, wenn der Prompt das Ziel auf dem Testsatz erreicht und weitere Änderungen die Ergebnisse nur im Rahmen des Rauschens bewegen. Darüber hinaus kommen weitere Gewinne durch besseren Kontext, eine andere Technik wie Prompt Chaining oder ein anderes Modell.
Was ein regelbasierter Wert sagen kann und was nicht
Ein statischer Qualitätswert, etwa der aus der Prompt-Evaluierung, misst den Prompt, wie er geschrieben ist: Klarheit, Vollständigkeit, Konsistenz und Sicherheit. Er ist schnell und reproduzierbar und eignet sich daher für jede Änderung und jeden Commit. Er misst nicht, was ein Modell mit dem Prompt tut. Nutzen Sie ihn, um den Prompt in Ordnung zu halten, und einen Testsatz, um die Ausgabe zu bestätigen. Beides behandeln Prompt-Tests und -Evaluierung.