Übersicht
Das Prompt-System ist das Herzstück des Scenario Creator Backends. Es besteht aus 10 Dateien mit insgesamt ~2.185 Zeilen Code, die verschiedene Aspekte der Szenario-Generierung steuern.Research-Erkenntnisse (Version 2.0)
Lange Prompts sind korrekt
Initiale Annahme, dass System Prompts kurz sein sollten, war falsch. Research zeigt:
Schlussfolgerung: Lange, detaillierte System Prompts sind angemessen. Das Problem ist Organisation, nicht Länge.
Strukturelle Prinzipien
Was aktuelle Prompts falsch machen
Prompt-Dateien Inventar
Detaillierte Prompt-Analyse
1. TOC Prompt (tocPrompt.js)
Zweck: Generiert die komplette Story-Struktur als Graph-Modell.
Stärken
- Umfassende Regeln für Graphen-Modell
- Klare Beispiele für Event-Struktur
- Explizite Zeitkonsistenz-Regeln
Herausforderungen
Das TOC-Prompt hat ~370 Zeilen mit 12+ Regel-Sektionen:- JSON-Struktur-Anforderungen
- Zeitregeln (6 verschiedene zeitsynchrone Sektionen)
- Verzweigungslogik
- Assessment-Platzierung
- NPC-Verwaltung
- Konvergenz-Handling
Kritische Zeitregeln
2. Event System Prompt (event/systemPrompt.js)
Zweck: Definiert den literarischen Stil und die Qualitätsanforderungen für Event-Texte.
Struktur
- ~400 Zeilen mit 15+ Sektionen
- Literarischer Stil-Guide
- “Show don’t tell” Prinzipien
- Zeichenanzahl-Vorgaben
Kern-Anforderungen
Hinweis: Komplexe Szenen mit viel Dialog oder mehreren NPCs benötigen mehr Platz. Einfache Übergangsszenen können kürzer sein.
Stil-Richtlinien
3. Event Generate Prompt (event/generatePrompt.js)
Zweck: Baut den konkreten User-Prompt für jedes Event auf.
Kontext-Injektion
Der Prompt injiziert folgende Kontexte:-
Formular-Daten
- Industrie
- Szenario-Typ
- Schwierigkeitsgrad
- Titel & Beschreibung
-
TOC-Struktur
- Vollständiger Graph
- Alle Event-IDs
- Verzweigungslogik
-
NPC-Registry
- Bereits verwendete NPCs
- Charakter-Beschreibungen
-
Vorgänger-Inhalte
- Vollständiger Text aller direkten Vorgänger
- Zeit-Constraints
-
Konvergenz-Information
- Ob dieses Event ein Konvergenzpunkt ist
- Welche Pfade zusammenlaufen
Typischer Prompt-Aufbau
4. Validation Prompt (validatePrompt.js)
Zweck: Post-hoc Validierung des gesamten generierten Szenarios.
Validierungs-Kategorien
Explizite “Was NICHT flaggen”
Problem
Post-hoc Only: Validierung läuft erst NACH Generierung aller Events. Fehler in Event 2 können sich durch Event 3, 4, 5… fortpflanzen, bevor sie erkannt werden.5. Regeneration & Micro-Edit
Regenerate Prompt (event/regeneratePrompt.js)
- 44 Zeilen: Kompakt und fokussiert
- Integriert User-Feedback
- Behält Kontext bei
Micro-Edit Prompt (event/microEditPrompt.js)
- 118 Zeilen: Chirurgische Änderungen
- Für einzelne Probleme (z.B. Tippfehler, NPC-Namen)
- Verwendet Haiku-Modell (kostengünstig)
6. Model Selector Prompt (modelSelectorPrompt.js)
Zweck: Wählt das optimale Claude-Modell basierend auf Aufgaben-Komplexität.
Entscheidungskriterien (aktuell)
Problem
Vage Kriterien: “sehr komplex” ist subjektiv und führt zu inkonsistenter Auswahl.Helper-Funktionen
Zeit-Management (event/helpers.js)
Aktuelle Implementierung
- “Tag 1, 23:59” vs “Tag 2, 00:01”
- Verschiedene Formatierungen
Vorgänger-Suche
Prompt-Effizienz-Analyse
Redundanz-Probleme
Token-Verbrauch pro Aufgabe
Sprach-Konsistenz
Aktuelles Problem: Gemischte EN/DE LabelsVorgeschlagene Prompt-Struktur
System Prompt Template (6 Sektionen)
Basierend auf Research sollten System Prompts dieser Struktur folgen:-
IDENTITY & MISSION (~100-150 Wörter)
- Wer du bist (Rolle, Expertise)
- Was du produzierst
- Kern-Constraints (Sprache, Perspektive)
-
OUTPUT FORMAT
- JSON-Struktur-Skelett
- Required Fields
- Format FRÜH zeigen, damit Modell das Ziel kennt
-
RULES (hierarchisch)
-
DETAILED GUIDANCE
- Domain-spezifische Instruktionen
- Stil-Guide
- Edge Cases
- Organisiert mit XML-Tags:
<time_rules>,<style_guide>, etc.
-
EXAMPLES
-
FINAL REMINDER (Sandwich)
- MUST-Regeln in kondensierter Form wiederholen
- JSON only
- Time forward
- All event_ids unique
User Prompt Template (3 Sektionen)
-
CONTEXT DATA (oben - longform zuerst)
-
DERIVED CONTEXT (berechnete Helfer)
-
SPECIFIC TASK (unten - Query zuletzt)
Regel-Framing: Negativ → Positiv
Konsolidierte Zeitregeln
Aktuell: 6 verstreute Sektionen über Zeit. Vorgeschlagen: EINE dedizierte Sektion:Best Practices (abgeleitet)
Was funktioniert gut
- Klare Beispiele: “Show don’t tell” Beispiele sind sehr effektiv
- Strukturierte Ausgabe: JSON-Format mit Schema funktioniert zuverlässig
- Kontext-Injektion: Vorgänger-Inhalte helfen bei Konsistenz
- Severity Levels: Klare Priorisierung in Validierung
Was verbessert werden sollte
- Prompt-Restrukturierung mit XML-Tags (P0)
- Regel-Hierarchie hinzufügen: MUST vs SHOULD vs MAY (P0)
- Positives Regel-Framing: Negativ → Positiv konvertieren (P0)
- Zeitregeln konsolidieren: Zu EINER Sektion zusammenfassen (P0)
- Sandwich-Methode: MUST-Regeln am Ende wiederholen (P0)
- Zeit-Parsing: Strukturierter Vergleich statt String (P1)
- Sprach-Konsistenz: Alle Labels auf Deutsch (P1)
- TOC-Output optimieren: Schlankere Struktur (P1)

