Automatischer zustandsbehafteter Prompt-Verbesserer
Entscheidungspunkte
PROMPT-BEWERTUNG:
├── Einfache Frage / einfacher Befehl (was, wann, wie)
│ └── Optimierung überspringen → Direkt antworten
├── Komplexe Aufgabe (mehrschrittig, begründend, technisch)
│ ├── Token-Budget < 1000
│ │ └── APE: 3-5 Iterationen
│ ├── Token-Budget 1000-5000
│ │ └── OPRO: 5-10 Iterationen
│ └── Token-Budget > 5000
│ └── DSPy-Kompilation: 10-20 Iterationen
└── Wiederverwendbare Vorlage / System-Prompt
└── Vollständige Optimierung mit historischem Retrieval
OPTIMIERUNGSTECHNIK-AUSWAHL:
├── Anweisungsumschreibung erforderlich
│ └── APE verwenden (Automatic Prompt Engineer)
├── Parametertuning mit Nebenbedingungen
│ └── OPRO verwenden (Optimization by PROmpting)
├── Komplexe Pipeline mit mehreren Modulen
│ └── DSPy-Kompilationsmuster verwenden
└── Unbekannter / explorativer Bereich
└── Hybrid APE→OPRO→DSPy-Kaskade
ITERATIONSKONTROLLE:
├── Verbesserung < 1% für 3 Runden → STOPP
├── Qualitätspunktzahl > 0,95 → STOPP
├── Maximale Iterationen erreicht → STOPP
├── Benutzerzufriedenheit bestätigt → STOPP
└── Fortfahren → Nächste Iteration
RÜCKMELDUNGSINTEGRATION:
├── Aufgabe erfolgreich (Benutzer bestätigt / Metriken gut)
│ └── Positives Feedback aufzeichnen + für Retrieval einbetten
├── Aufgabe fehlgeschlagen / schlechte Qualität
│ └── Negatives Feedback aufzeichnen + Fehlermodus analysieren
└── Unklares Ergebnis
└── Benutzer vor der Aufzeichnung um explizites Feedback bitten
Fehlermodi
Überoptimierungsspirale
- SYMPTOM: Prompt wächst auf 500+ Token mit vielen verschachtelten Einschränkungen
- DIAGNOSE: Jagd auf abnehmende Grenzerträge anstatt bei „gut genug“ zu stoppen
- BEHEBUNG: 80/20-Regel anwenden – wenn die Verbesserung pro Iteration unter 5 % fällt, anhalten
Vorlagenbesessenheit
- SYMPTOM: Iterationen werden mit Formatierung/Struktur statt mit Aufgabenklarheit verbracht
- DIAGNOSE: Verwechslung von Präsentation mit Leistung
- BEHEBUNG: Tatsächlichen Aufgabenerfolg messen, nicht Vorlagenkonformität
Historische Überanpassung
- SYMPTOM: Optimierter Prompt funktioniert für frühere Beispiele, versagt aber bei neuen Eingaben
- DIAGNOSE: Training auf einem zu schmalen Datensatz aus dem Retrieval
- BEHEBUNG: Vielfältige Beispiele in die Optimierung einbeziehen, an zurückgehaltenen Fällen testen
Fehleinschätzung der Fähigkeiten
- SYMPTOM: Umfangreiches Gerüst für Aufgaben, die das Modell nativ beherrscht
- DIAGNOSE: Annahme von Modellgrenzen ohne Test
- BEHEBUNG: Basis-Fähigkeit vor aufwändigem Prompting testen
Messblindheit
- SYMPTOM: Mehrere Iterationen ohne klare Erfolgsmetriken
- DIAGNOSE: Optimieren, ohne zu wissen, was „besser“ bedeutet
- BEHEBUNG: Im ersten Schritt messbare Erfolgskriterien definieren
Ausgearbeitete Beispiele
Beispiel 1: Code-Optimierungsanfrage
Original: „Mach diesen Code besser“
def process_data(data):
results = []
for item in data:
if item > 0:
results.append(item * 2)
return results
Entscheidungspunkte durchlaufen:
- Bewertung: Komplexe Aufgabe (erfordert Code-Analyse) → Optimierung auslösen
- Technikauswahl: Code-Review + Verbesserung → APE mit 5 Iterationen
- Abgerufener Kontext: Ähnliche Code-Optimierungs-Prompts aus der Historie
- Optimierter Prompt: „Analysiere diese Python-Funktion hinsichtlich Performanz, Lesbarkeit und pythonischer Muster. Identifiziere spezifische Verbesserungen: algorithmische Komplexität, Speichernutzung, Randfälle und Stil. Liefere den refaktorierten Code mit Erklärungen.“
Was ein Anfänger übersieht: Vages „besser“ legt keine Kriterien fest Was ein Experte erkennt: Explizite Dimensionen (Performanz, Stil, Randfälle) sind nötig
Ergebnis: Klare Analyse zur List-Comprehension-Möglichkeit, Randfallbehandlung, Typannotationen
Beispiel 2: Denkaufgaben-Vorlage
Original: „Hilf mir, diese Entscheidung zu durchdenken“
Entscheidungspunkte durchlaufen:
- Bewertung: Wiederverwendbare Vorlage + Denkaufgabe → Vollständige Optimierung
- Historisches Retrieval: Entscheidungsrahmen-Prompts gefunden (0,87 Ähnlichkeit)
- Technikauswahl: DSPy-Kompilation (strukturierte Denk-Pipeline)
- Iterationsstrategie: 10 Runden, Messung der Entscheidungsqualität
Optimierte Vorlage:
Entscheidungsanalyse-Rahmen:
1. SITUATION: Die Entscheidung klar mit Randbedingungen darlegen
2. BETEILIGTE: Betroffene Parteien und deren Interessen auflisten
3. OPTIONEN: 3-5 verschiedene Alternativen generieren
4. KRITERIEN: Erfolgsmetriken und Gewichtung definieren
5. ABWÄGUNGEN: Jede Option gegen die Kriterien analysieren
6. EMPFEHLUNG: Beste Option mit Konfidenzniveau auswählen
Angewendete Qualitätsprüfungen: Vorlagenvollständigkeit, Wiederverwendbarkeitspunktzahl, Benutzerzufriedenheit
Beispiel 3: Mehrdeutige technische Anfrage
Original: „Monitoring einrichten“
Entscheidungspunkte durchlaufen:
- Bewertung: Unterspezifiziert + technisch → Optimierung auslösen
- Klärungsstrategie: OPRO mit Erhebung von Randbedingungen
- Bereichskontext: Abgerufene Monitoring-Einrichtungsmuster
Optimierter Prompt: „Monitoring-Setup entwerfen durch Angabe von: (1) Infrastrukturumfang (Server, Container, Anwendungen), (2) Schlüsselmetriken (Performanz, Verfügbarkeit, Geschäftskennzahlen), (3) Alarmgrenzwerte und Eskalation, (4) Technologie-Stack-Einschränkungen, (5) Budget-/Komplexitätsgrenzen. Umsetzungsfahrplan mit Prioritäten bereitstellen.“
Vorher/Nachher-Abwägungen:
- Vorher: Endloses Hin-und-Her zur Klärung
- Nachher: Strukturierte Anforderungserhebung in einem einzigen Austausch
- Kosten: Längerer initialer Prompt
- Nutzen: Vollständige Spezifikation in einer Runde
Qualitätsprüfungen
Checkliste vor dem Aufruf von optimize_prompt:
- Aufgabenkomplexität > 3 (mehrschrittig / Begründung erforderlich)
- Klare Erfolgskriterien definiert oder ableitbar
- Token-Budget geschätzt und Technik ausgewählt
- Bereichskontext für das Retrieval identifiziert
- Iterationslimit basierend auf Komplexität gesetzt
Validierung nach der Optimierung:
- Optimierter Prompt ist spezifisch und handlungsorientiert
- Erfolgsmetriken sind messbar
- Konsistenz der Randbedingungen verifiziert (keine Widersprüche)
- Tokeneffizienz: Verbesserung rechtfertigt die zusätzliche Länge
- Historischer Kontext angemessen integriert
- Benutzerbestätigung für größere Änderungen eingeholt
Qualitätsbewertungsschema (0-100):
- Klarheit: Kann ein naiver Benutzer die Anforderungen verstehen? (25 Punkte)
- Spezifität: Konkrete vs. abstrakte Anweisungen? (25 Punkte)
- Vollständigkeit: Deckt Randfälle und Randbedingungen ab? (25 Punkte)
- Effizienz: Erreicht Ziele ohne Aufblähung? (25 Punkte)
Nicht-dafür-Grenzen
Dieses Skill NICHT verwenden für:
- Einfache Wissensfragen → Direkt mit Wissen antworten
- Dateioperationen ohne Begründung → Dateiverwaltungs-Skill verwenden
- Direkte Befehlsausführung → Sofort ausführen
- Unterhaltungsantworten → Natürlich antworten
- Bereits optimierte Prompts → Zuerst Historie prüfen, um Neuoptimierung zu vermeiden
- Benutzer sagt explizit „nicht optimieren“ → Benutzervorliebe respektieren
Stattdessen delegieren:
- Für mathematische Probleme → Auf Berechnung fokussierte Skills verwenden
- Für kreatives Schreiben → Kreativschreib-Skill verwenden (außer Vorlagenerstellung)
- Für Datenanalyse → Datenanalyse-Skill verwenden (außer komplexe Begründung erforderlich)
- Für Debugging → Debugging-Skill verwenden (außer systematische Verbesserung erforderlich)
Grauzonen, die Urteilsvermögen erfordern:
- Mittelschwere Aufgaben (Punktzahl 2-4) → Zuerst Basis-Performanz testen
- Fachgebietsanfragen → Nur optimieren, wenn Potenzial für wiederverwendbare Vorlage besteht
- Folgeantworten → Optimieren, wenn der Umfang deutlich erweitert wird