Skip to main content

Ü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:
  1. JSON-Struktur-Anforderungen
  2. Zeitregeln (6 verschiedene zeitsynchrone Sektionen)
  3. Verzweigungslogik
  4. Assessment-Platzierung
  5. NPC-Verwaltung
  6. Konvergenz-Handling

Kritische Zeitregeln

Problem: Diese Regeln sind über 6 Sektionen verteilt, was zu kognitiver Überlastung führt.

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:
  1. Formular-Daten
    • Industrie
    • Szenario-Typ
    • Schwierigkeitsgrad
    • Titel & Beschreibung
  2. TOC-Struktur
    • Vollständiger Graph
    • Alle Event-IDs
    • Verzweigungslogik
  3. NPC-Registry
    • Bereits verwendete NPCs
    • Charakter-Beschreibungen
  4. Vorgänger-Inhalte
    • Vollständiger Text aller direkten Vorgänger
    • Zeit-Constraints
  5. 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

Problem: Funktioniert NICHT für Edge Cases:
  • “Tag 1, 23:59” vs “Tag 2, 00:01”
  • Verschiedene Formatierungen

Vorgänger-Suche

Konsequenz: Bei langen Ketten können Zeitfehler auftreten.

Prompt-Effizienz-Analyse

Redundanz-Probleme

Token-Verbrauch pro Aufgabe

Sprach-Konsistenz

Aktuelles Problem: Gemischte EN/DE Labels

Vorgeschlagene Prompt-Struktur

System Prompt Template (6 Sektionen)

Basierend auf Research sollten System Prompts dieser Struktur folgen:
  1. IDENTITY & MISSION (~100-150 Wörter)
    • Wer du bist (Rolle, Expertise)
    • Was du produzierst
    • Kern-Constraints (Sprache, Perspektive)
  2. OUTPUT FORMAT
    • JSON-Struktur-Skelett
    • Required Fields
    • Format FRÜH zeigen, damit Modell das Ziel kennt
  3. RULES (hierarchisch)
  4. DETAILED GUIDANCE
    • Domain-spezifische Instruktionen
    • Stil-Guide
    • Edge Cases
    • Organisiert mit XML-Tags: <time_rules>, <style_guide>, etc.
  5. EXAMPLES
  6. FINAL REMINDER (Sandwich)
    • MUST-Regeln in kondensierter Form wiederholen
    • JSON only
    • Time forward
    • All event_ids unique

User Prompt Template (3 Sektionen)

  1. CONTEXT DATA (oben - longform zuerst)
  2. DERIVED CONTEXT (berechnete Helfer)
  3. 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

  1. Klare Beispiele: “Show don’t tell” Beispiele sind sehr effektiv
  2. Strukturierte Ausgabe: JSON-Format mit Schema funktioniert zuverlässig
  3. Kontext-Injektion: Vorgänger-Inhalte helfen bei Konsistenz
  4. Severity Levels: Klare Priorisierung in Validierung

Was verbessert werden sollte

  1. Prompt-Restrukturierung mit XML-Tags (P0)
  2. Regel-Hierarchie hinzufügen: MUST vs SHOULD vs MAY (P0)
  3. Positives Regel-Framing: Negativ → Positiv konvertieren (P0)
  4. Zeitregeln konsolidieren: Zu EINER Sektion zusammenfassen (P0)
  5. Sandwich-Methode: MUST-Regeln am Ende wiederholen (P0)
  6. Zeit-Parsing: Strukturierter Vergleich statt String (P1)
  7. Sprach-Konsistenz: Alle Labels auf Deutsch (P1)
  8. TOC-Output optimieren: Schlankere Struktur (P1)

Nächste Schritte

Siehe Bekannte Probleme & Verbesserungen für detaillierte Verbesserungsvorschläge.