Files
videogen/planung/prompt-inventar.md
2026-08-06 12:44:41 +02:00

15 KiB
Raw Permalink Blame History

Prompt-Inventar: Wo das System denken muss

Zweck: Jede Stelle im Ablauf, an der ein LLM eine Entscheidung treffen oder Inhalte erzeugen muss, bevor eine Action passiert. Für jede dieser Stellen wird später ein professioneller statischer Prompt geschrieben – hier geht es nur darum, wo sie gebraucht werden und was rein/raus geht.

Grundregel: Kein LLM, wo Code reicht. Elo-Mathematik, Schwellenwerte, Performance-Zahlen-Mapping sind deterministisch – die brauchen keinen Prompt (unten explizit markiert). Jeder unnötige LLM-Aufruf kostet Geld und Konsistenz.

Sprachregelung: „Modell" = Asset (Person, Produkt, Kulisse, Logo). Das generierende KI-Modell heißt immer ausgeschrieben „KI-Modell" bzw. Seedance/Veo/Sora/Bildmodell. In den Zeilen zu P8 unten meint „Modell-Adapter" die KI-Modelle – historisch gewachsen, hier ausnahmsweise stehengelassen.

Hinweis zur Schreibweise der Outputs: Einige Zeilen unten nennen noch Dateipfade (attribute/, assets/, videos/video-XXXX.md) aus der ursprünglichen Ordner-Denkweise. Verbindlich ist datenbank-aufbau.md – dort sind es Tabellenzeilen. Die Pfade sind als Lesehilfe stehengeblieben, nicht als Datenmodell.


Architektur der Prompts: Statischer Kern + Injektions-Slots

Alle Prompts folgen demselben Bauprinzip:

[STATISCHER KERN]      – ändert sich nie, liegt im Dev-Modus
                         (z. B. Foto-Realismus-Regeln, Regie-Struktur)
[SLOT: REGELN]         – feste Brand-Regeln aus regeln/
[SLOT: ASSETS]         – freigegebene Versionen aus assets/ (Referenz-IDs)
[SLOT: ATTRIBUTE]      – Top-Attribute + deren Prompt-Bausteine aus attribute/
[SLOT: USER-INPUT]     – was der Nutzer diesmal will

Die zwei vorhandenen Prompts (P7, P8) sind bisher statisch – sie müssen auf dieses Slot-System umgebaut werden, damit sie sich ihre Infos aus der Knowledge Base ziehen, je nachdem, was der Benutzer haben möchte.


Die Denk-Punkte im Ablauf

Status-Legende: ✅ vorhanden (anpassen) · 🆕 neu nötig · ⚙️ kein LLM – Code reicht · ❓ strittig, Entscheidung offen

Repo-Abgleich vom 28. Juli 2026 (Branch prompts, Ordner prompts/, Commit a6b3a42f2a)

Belegt vorhanden: P1–P18 liegen als 22 Dateien vor (P8 = Kern + vier Adapter seedance/veo/sora/wan), geseedet über scripts/seed-prompts.mjs in prompt_templates, versioniert. Alle 22 haben Frontmatter im festgelegten Schema, einen Anti-Injection-Schlusssatz und – wo JSON ausgegeben wird – ein Schema mit „NUR dieses JSON".

Die Status-Spalte unten ist entsprechend nachgezogen: Was im Repo steht, ist als vorhanden markiert. Strittige Punkte sind mit ❓ gekennzeichnet und in prompt-review.md begründet; die Aufgaben dazu stehen in prompt-plan.md. Sie sind hier bewusst NICHT als Beschluss eingetragen.

A. Onboarding

# Denk-Punkt Wann Input Output Status
P1 Upload-Analyst (Vision) Nutzer lädt Logo, Produktbilder, Top-Ads hoch Bilder/Videos der Uploads Initiale Attribute + Asset-Kandidaten. Asset-Enum im Repo: gesicht|produkt|logo|sonstiges – kulisse fehlt und muss zeitgleich mit dem DB-Enum ergänzt werden ✅ vorhanden · Erweiterung nötig
P2 Profil-Übersetzer Nach den 6 Pflichtfragen Antworten (Label, Produkt, Nische, Zielgruppe, 3 Worte, am Markt seit) Brand-Profil + erste Stil-Attribute mit Startwerten (Scope: brand-weit, folder_id = null). Die Nische wird nicht übersetzt – sie ist eine Struktur-Angabe und wandert direkt nach brands.nische ✅ vorhanden · spricht im Repo noch von 5 Pflichtfragen, muss auf 6

B. Szene erstellen

# Denk-Punkt Wann Input Output Status
P3 Intent-Versteher Nutzer gibt Szenen-Prompt ein User-Prompt Was ist verlangt? Welche Kategorien sind relevant, welche hat der Nutzer explizit festgelegt (nicht überschreiben!)? 🆕
P4 Knowledge-Selector Direkt nach P3 P3-Ergebnis + Kategorie-Scores des gewählten Ordners (attribute_scores.folder_id; null = brand-weit) Welche Attribute/Assets werden injiziert: Top-Scores vs. explizite Nutzer-Wünsche vs. genau EIN Explorations-Slot. Ein gewählter Ordner überschreibt die brand-weite Ebene vollständig – es wird nicht gemischt ✅ vorhanden, inkl. Explorations-Slot. ❓ Tiebreak bei Gleichstand geht im Repo an den höheren used_count – Umkehrung beschlossen, siehe prompt-plan.md §4.3. Kennt den Ordner-Reifegrad noch nicht
P5 Script-Autor Vor der Script-Anzeige P4-Auswahl + User-Prompt Das Script, das der Nutzer sieht und bestätigt 🆕 (nutzt P8-Struktur)
P6 Script-Diff-Lerner Nutzer hat Script bearbeitet Original-Script vs. editiertes Script Was wurde geändert und was sagt das über die Vorlieben? → Lernsignal an betroffene Attribute 🆕
P7 Bild-Prompt-Generator Referenzbild-Generierung (Gesicht, Produkt, Szenen-Plate) Statischer Kern (Foto-Realismus) + 5 Slots Fertiger Bild-Prompt für EIN Bild ✅ Slot-Umbau erledigt (5 Slots belegt). Setzt die Foto-Recherche wörtlich um: Verbot von „flawless"/„perfect skin"/„ultra realistic", doppelte Negativliste, Identity-Lock am Anfang UND Ende, Token-Locking, 4–6 Referenzbilder
P8 Video-Prompt-Generator („Regie-Assistent") Pro Video, pro Modell Statischer Kern (10-Block-Regie-Struktur) + Slots + bestätigtes Script Modellneutrale Shot-Struktur → Adapter → fertiger Video-Prompt ✅ Kern + vier Adapter vorhanden (seedance/veo/sora/wan). ❓ Wortbudget des Seedance-Adapters (280–400) widerspricht der offiziellen Empfehlung (60–100) – siehe prompt-plan.md §4.1

C. Nach der Generierung

# Denk-Punkt Wann Input Output Status
P9 Video-Analyst / Tagger (Vision) – „Zwischen-Prompt für die Datenspeicherung" Jedes generierte Video, vor der Anzeige Video + verwendeter Prompt Strukturierte Tags (Location, Farben, Voice, Geräusche, Texte, Handlungen) → videos/video-XXXX.md; prüft auch: Hat das Modell gemacht, was verlangt war? 🆕 (deine Idee – bestätigt, das ist der wichtigste neue Prompt)
P10 Favorit-Vorhersager Vor der Auswahl-Anzeige Tags aller Videos (P9) + Attribut-Scores Welches Video kriegt die goldene Umrandung ⚙️ überwiegend Code (Score-Summe) – LLM nur bei Gleichstand
P11 Vote-Attributierer Nach dem Vote Gewinner-/Verlierer-Tags Welche Merkmale unterschieden sich wirklich → nur die kriegen Elo-Punkte 🆕 (Punktevergabe selbst: ⚙️ Code)
P12 Vergleichs-Analyst Nach dem Vote .md-Inhalte der konkurrierenden Attribute „Was hat X besser gemacht als Y" → Eintrag in beide Dateien; ggf. Vorschlag für Unter-Attribut (kaiserslautern--stadion) 🆕
P13 Frage-Generator Nach dem Vote (optional) Unsicherste/wertvollste Attribut-Paare Die eine gezielte Frage an den Owner („Welche Stadt war besser?") – welche Frage bringt am meisten Lernwert? 🆕

D. Knowledge-Base-Pflege

# Denk-Punkt Wann Input Output Status
P14 Details-Autor Wenn ein Attribut neue Erkenntnisse sammelt Vergleiche, Performance-Daten, P12-Einträge Aktualisiert Beschreibung / Was-es-ausmacht / Details inkl. Prompt-Bausteinen und Negativ-Prompts 🆕
P15 Kategorie-Wächter Wenn P9 einen Tag liefert, der in keine Kategorie passt Neuer Tag + bestehende Kategorien Neue Kategorie anlegen, Unter-Attribut oder in Bestehendes einsortieren? 🆕
– Archivierung Score unter Schwelle + lange inaktiv Scores, Datum Status „archiviert" ⚙️ Code, kein Prompt
– Elo-Updates, K-Faktor, Startwerte jeder Vergleich Zahlen Zahlen ⚙️ Code, kein Prompt

E. Verbessern

# Denk-Punkt Wann Input Output Status
P16 Referenz-Interpreter (Vision) Referenz-Upload beim Verbessern Referenzbild + Pflichtfeld-Beschreibung Exakt die benannten Merkmale extrahieren – und nur die (Regel: nie 1:1 kopieren) → Lock→Change→Scope-Block für P7 ✅ vorhanden, inkl. Urheberrechts-Klausel und Altersverbot. Kennt kulisse nicht – „Hintergrund" gilt dort nur als zu ignorierendes Bildelement
P17 Versions-Chronist Neue Asset-Version gewählt Alt vs. Neu + Änderungsgrund Eintrag in die Versionskette (v3 → v4: was, warum, Gewinner) 🆕 (klein, Template-nah)

F. Bild-Modus, Feed & Ordner

Konzept: konzept-bilder-feed.md. Der Bild-Modus ist entkoppelt – kein Wettbewerb mehrerer KI-Modelle, ein festes Bildmodell, kein Vote-Loop.

# Denk-Punkt Wann Input Output Status
P19 Slot-Analyst („Rezept lesbar machen") Nutzer öffnet einen fremden Post im Feed posts.prompt_sent des Originals + dessen Tags Die vereinfachte Chip-Darstellung (slot_summary): Kulisse, Modelle, Licht, Kamera, Farbe – als Abstraktion, nie im Wortlaut. Das ist die Grenze zwischen „kopierbar" und „Betriebsgeheimnis offengelegt" 🆕
P20 Ordner-Vorschlag Nutzer speichert einen Post (eigen oder fremd) Post-Tags + bestehende Ordner der Brand (Name + theme_md) Passenden Ordner vorschlagen oder einen neuen mit Theme-Beschreibung anbieten. Der Nutzer bestätigt – nie automatisch einsortieren 🆕
P21 Werbetext-Autor Beim Kopieren Werbetext des Originals (nur als Stilvorlage) + eigenes Produkt + Brand-Profil Neuer Werbetext im Stil des Originals, inhaltlich aufs eigene Produkt. Der fremde Text wird nie übernommen – sonst wandern fremde Claims und Markennennungen ungeprüft in den eigenen Post 🆕
P22 Bild-Analyst / Tagger (Vision) Jedes generierte Bild Bild + verwendeter Prompt Strukturierte Tags → post_images.tags, Compliance-Abgleich, Qualitätsdefekte, erkanntes Format und Winkel. Enum-Zwang wie bei P9 + Code-Validator 🆕 – keine abgespeckte Kopie von P9. Rund die Hälfte von P9s Schema (voice, geraeusche, start_s/end_s, Timestamps) ist auf Bilder nicht anwendbar
P23 Ketten-Regisseur Post-Generierung mit mehr als einem Bild Gefüllte Post-Slots, Format, Kettenlänge n Bild-Prompts – Person, Produkt, Kulisse, Licht und Farbe wörtlich identisch, es variiert nur Winkel oder Position 🆕 – war bisher nicht im Inventar. Aufsatz über P7, kein Ersatz. Die Ketten-Konsistenz ist der schwierigste Teil des Bild-Modus
– Nischen- und Typ-Tag-Vergabe Modell wird angelegt Modell + Referenzbilder feste Enum-Werte ⚙️ bewusst kein freier LLM-Call – P22-Vision schlägt nur aus der festen Liste vor, der Code validiert. Ohne Enum-Zwang driften die Kategorien und die Slot-Kompatibilität wird wertlos
– Feed-Score stündlich Views, Likes, Kopien, Social-Reichweite gewichtete Summe + Zeit-Decay ⚙️ Code, kein Prompt. Und kein Elo – hier duelliert nichts, hier wird summiert
– Ordner-Initialisierung Ordner wird angelegt startwert_modus Startwerte in attribute_scores ⚙️ Code, kein Prompt

P19 ist der heikelste neue Prompt. Er entscheidet, wie viel vom Original sichtbar wird. Zu wenig Abstraktion = die Knowledge Base fremder Brands wandert nach außen. Zu viel = der Kopierer versteht das Rezept nicht und das Feature ist wertlos. Der Anti-Injection-Satz gehört hier zwingend rein: P19 ist die einzige Stelle im System, an der Nutzerinhalte zwischen Mandanten fließen.

Korrektur zum bisherigen Stand: Dieses Dokument hat P7 als „✅ vorhanden – auf Slots umbauen" geführt und in den Bild-MVP-Pfad gesetzt. Das war in beide Richtungen falsch. Der Slot-Umbau ist erledigt; dafür ist P7 laut eigenem Rollensatz ein Referenzbild-Generator für die Video-Pipeline – er erzeugt genau ein Bild, verbietet Seitenverhältnisse ausdrücklich („Kein Seitenverhältnis in den Prompt schreiben"), verbietet Text im Bild („no text, no logos") und kennt keine Bilderkette. Der Bild-MVP braucht deshalb P23 zusätzlich. Begründung: prompt-review.md §4.

G. Performance & Reporting

# Denk-Punkt Wann Input Output Status
– Performance → Elo Ad-Daten kommen rein CTR, Thumbstop, ROAS Score-Updates (×2 gewichtet) ⚙️ Code, kein Prompt
P18 Insight-Reporter Fürs Brand-Dashboard Scores, Logs, Performance Verständliche Erklärung für den Owner: „Warum performen deine Videos – und was probieren wir als Nächstes" 🆕 (V2, nice-to-have)

Zusammenfassung

  • 23 Denk-Punkte (P1–P23): 18 liegen im Repo (P1–P18, davon P8 als Familie mit fünf Dateien = 22 Templates), 5 fehlen (P19–P23), 1 davon überwiegend Code (P10, LLM nur bei Gleichstand).
  • 6 Stellen bewusst ganz OHNE LLM (Elo-Mathe, Archivierung, Performance-Mapping, Feed-Score, Ordner-Initialisierung, Nischen-/Typ-Tag-Validierung) – deterministischer Code ist dort billiger und konsistenter. P10 zählt hier nicht mit, weil er im Gleichstandsfall doch ein LLM braucht.
  • Zwei kritische Pfade, weil es zwei Produktteile gibt:
    • Video-MVP: P3, P4, P5, P8, P9, P11 – alle sechs liegen vor, es fehlt die Verdrahtung.
    • Bild-MVP: P7 (erweitern) + P23 (neu) + P22 (neu) + P19 + P21. Drei Neuentwicklungen, nicht ein Umbau. P20 ist nachrüstbar – ohne ihn sortiert der Nutzer von Hand.
  • Teuerste Prompts (Vision, pro Ausgabe): P9 Video-Analyst bei 1.000 Videos/Monat. P22 Bild-Analyst wird ihn überholen, sobald der Bild-Modus läuft – Bilder sind billig, es werden also viel mehr. Kostenrechnung entsprechend nachziehen (projekt-uebersicht.md §9 rechnet nur mit Video). Für P9 sind media_resolution: low + 1 FPS nirgends gesetzt – gehört in den Job-Dispatcher, nicht in den Prompt.
  • P8 ist eine Familie: ein Regie-Kern + vier Adapter (seedance, veo, sora, wan). P7 braucht keine Adapter-Familie – im Bild-Modus läuft nur ein festes KI-Modell.
  • P4 arbeitet scope-bewusst: Er zieht die Top-Attribute aus attribute_scores der gewählten folder_id, nicht brand-weit. Ohne Ordner bleibt es beim brand-weiten Verhalten. Den Reifegrad des Scopes kennt er noch nicht – bei vier Posts im Ordner ist „höchster Score" Rauschen.

Strittig, noch nicht entschieden (❓)

Punkt Stand im Repo Wo begründet
Seedance-Wortbudget 280–400 Wörter; offizielle Empfehlung ist 60–100 prompt-plan.md §4.1
Trägt die 10-Block-Struktur bei Seedance? Die gesamte P8-Architektur setzt es voraus prompt-plan.md §9
Identity-Lock am Prompt-Ende in P7 vorhanden, in keinem P8-Adapter prompt-review.md §5 Nr. 7
Verbotslisten der vier Adapter uneinheitlich; Seedance ohne Marken-/Personennamen-Verbot, alle vier ohne Altersverbot prompt-review.md §3.2
Kosmetik-Few-Shots in P5 unverändert, obwohl P7/P8 entbrancht wurden prompt-review.md §3.1
{{NISCHE}} als Slot existiert nicht – Branche wurde ersatzlos gestrichen prompt-plan.md §5 C1