#202 Genspark AI Slides optimieren
Worum geht es in diesem Artikel?
Der Beitrag zeigt die Optimierung von Genspark AI Slides mit meinem Master-Prompt
Vom ersten Entwurf zum „Swiss-Army-Prompt“
15 Iterationen, ein klares Ziel – und wie wir es (fast) perfektioniert haben
Das Leben wäre so schön, wenn die KI-Tools so funktionieren würden bei ersten Mal. Der Blogpost zeigt wie ich schrittweise den Prompt für Genspark AI (ein neues Agent Tool) optimiert habe.
0 | Das übergeordnete Ziel – warum wir überhaupt ping-pongten
Der Wunsch lautete von Minute 1 an klar:
„Ich möchte ein 4-Slide-Deck vollautomatisch mit GenSPARC-AI erstellen lassen –
direkt aus einem Absatz oder Fragenblock von Strategy Safari, inklusive Design-Vorgaben, Zitaten und Markenfarben.“
Kurz gesagt:
- Zero-Touch-Automation – kein Copy/Paste, keine Nachformatierung.
- 100 % Brand-Compliance – Farben, Typo, Footer, Hintergrund.
- Selbstprüfung – der Prompt validiert Citations, Abmessungen, Füllgrad.
Damit sollte eine Strategie binnen Sekunden fertige Folien haben, die ohne Nacharbeit in jedes Meeting wandern können.
Ich habe 22 Strategieansätze die so beschrieben sind, aus diesen Texten soll jeweils ein schöne Slide-Decks entstehen.
1 | Der Start – ein vager Roh-Prompt
Der erste Textblock enthielt zwar die konzeptionellen Arbeitsschritte (Kontext lesen, Bullet-Points auswählen …), aber keinerlei Befehle, wie GenSPARC rendern, validieren und layouten soll.
Fehlende Bausteine
- Canvas-Maße
- Farben / Typo
- Footer
- Policy gegen Internet-Bilder
- Ausgabe-Modus (Slides + Directives)
2 | Die iterative Reise – was jeweils ergänzt wurde
Iteration | Neuer Fokus | Beitrag zum Ziel |
---|---|---|
1–2 | Canvas 1920 × 1080, Folien-Trenner | Basis für PowerPoint-Export |
3 | allowExternalImages = false | Brand-& Lizenz-Sicherheit |
4–6 | Hex-Farben, Typo-Matrix | Konsistentes CI |
7 | Footer „ki-insights.com“ | Markenbindung |
8 | Margins, Gaps, Coverage-Check | Saubere Flächennutzung |
9 | Citations-Assertions | Quellen-Nachweis gewährleistet |
10 | includeDirectiveBlocks = true | Automations-Ziel: Prompt + Befehle in einer Datei |
11–12 | Vollständige Beschreibung Folie 1 | Kein Hand-Stitching mehr nötig |
13 | Design-Reminder vor jedem Slide | Verhindert Stil-„Drift“ |
14–15 | Horizontale Verteilung, min. 85 % Coverage | Slides wirken „gefüllt“ |
3 | Was gut lief
- Mikro-Schritte – jede Runde fügte genau einen fehlenden Baustein hinzu.
- Hard Assertions – Prompt bricht ab, wenn Citations fehlen oder Größe falsch ist.
- Direktive-Sichtbarkeit – dank
includeDirectiveBlocks = true
erfüllt der Export das Automationsziel: eine Datei rein, fertiges Deck raus.
4 | Was hakte
Stolperstein | Folge | Fix |
---|---|---|
Vergessene Folie-1-Details | Unvollständiges Deck | Abschnitt nachgereicht |
Slides oben voll, unten leer | Unprofessioneller Look | verticalDistribution="even" + Coverage-Check |
GenSPARC schnitt Directives weg | Nur Slides → Prompt nicht reproduzierbar | Ausgabemodus erzwungen |
Bullet-Points ohne Citation | Faktisch unbrauchbar | Assertion auf Citation-Tag |
5 | Ergebnis – Ziel erreicht?
✔ Automatische Slide-Erstellung
- GenSPARC liest PDFs, extrahiert Findings/Questions/Zitate, rendert vier Slides.
- Keine menschliche Nacharbeit erforderlich (schon wärs, 85% wird erreicht)
✔ CI-sicheres Design
- Primär-Blau #1A73E8, Montserrat/Roboto, definierte Abstände, Footer.
- Hintergrund mit Gradient, Hex-Glow, 3D-Grid.
✔ Selbstvalidierung
- Dimensions-Check, Mindest-Flächen-Deckung 85 %, Citation-Pflicht.
6 | Lessons Learned für künftige Automations-Prompts
- Erst das Ziel, dann der Code – ohne das klar formulierte „Ich will vier Folien OOTB“ wären wir im Content-Chaos gelandet.
- Assertions sind Gold wert – sie bilden die Qualitäts-Guardrails.
- Directive-Blöcke sichtbar lassen – sonst ist der Prompt nicht portabel.
- Design-Reminder an jeder Ecke – Engines lieben Defaults; wir lieben Konsistenz.
- Iterieren & dokumentieren – jeder Chat-Turn war eine Commit-Message.
7 | Nächste Schritte
Mit diesem „Swiss-Army-Prompt“ lassen sich künftig:
- Andere Bücher oder Whitepaper plug&play verarbeiten (nur Pre-Processing ändern).
- CI-Updates (neue Farbe, neue Font) in < 1 Minute ausrollen (nur Colors/Typo-Block tauschen).
- Reporting-Pipelines automatisieren: Prompt an ein Scheduler-Script hängen → wöchentlich frische Decks im Posteingang.
Bottom line:
Durch konsequentes Prompt-Engineering haben wir das ursprüngliche Ziel –
»Slides automatisch mit GenSPARC erstellen lassen« – zu 85 % erreicht
und gleichzeitig einen wiederverwendbaren Baukasten geschaffen, der zukünftige
Slide-Automationen dramatisch beschleunigt.8 | Der Prompt
Der Master-Prompt erstellt die 24 Slides. Das heisst dieser Prompt erstellt den Prompt für Genspark. Ein Text aus der Tabelle von oben wird als Input in diesen Prompt gegeben, der Prompt erstellt dann den Prompt für Genspark AI.
####################################################################### # PROMPT FÜR GENSPARC-AI – DRINGEND # # (enthält ALLE Inhalts-Anweisungen **und** lückenlose Design- & # # Technik-Directives; GenSPARC MUSS anschließend **DIRECTIVES + 4 # # VOLL AUSGEFÜLLTE SLIDES** ausgeben – Directives dürfen NICHT # # ausgeblendet oder gekürzt werden!) # ####################################################################### ### GENSPARC-KONTROLLE ::genSparc.control outputMode = "slidesAndDirectives" # Slides UND Directives ausgeben includeDirectiveBlocks = true # Directives sichtbar erzwingen ::end ### PRE-PROCESSING – Input automatisch aus PDFs ziehen ::genSparc.preprocess # 1) Absatz / Fragenblock erkennen → approachName & questionBlock # 2) Extrahieren: # keyFindings – Kernaussagen (List[String] mit Citation-Tags) # keyQuestions – Leitfragen (List[String] mit Citation-Tags) # keyQuotes – Zitate (List[String] mit Citation-Tags) # 3) Abbruch, falls eine Variable leer bleibt. ::end ####################################################################### # DESIGN-DIRECTIVES # ####################################################################### ::genSparc.style styleSource = "upload:REFERENCE_STYLE_IMAGE" autoColorPalette = true autoTypography = false autoLayoutHints = true ::end ::genSparc.colors primaryBlue = "#1A73E8" accentGreen = "#34A853" accentYellow = "#FBBC05" accentRed = "#EA4335" accentGray = "#5F6368" white = "#FFFFFF" bgDarkStart = "#000212" bgDarkEnd = "#02040C" ::end ::genSparc.typography h1 = {size:76px , font:"Montserrat", weight:700} h1.alt = {size:64px , font:"Montserrat", weight:700} h1.highlight = {size:76px , font:"Montserrat", weight:600, color:primaryBlue} h2.section = {size:36px , font:"Montserrat", weight:600} h2.category = {size:32px , font:"Montserrat", weight:600} bullet.large = {size:40px , font:"Roboto", weight:400} bullet.std = {size:32px , font:"Roboto", weight:400} bullet.sec = {size:28px , font:"Roboto", weight:500} text.exp = {size:24px , font:"Roboto", weight:400} text.help = {size:22px , font:"Roboto", weight:400 , color:"rgba(255,255,255,0.8)"} key.large = {size:40px , font:"Roboto", weight:600, color:primaryBlue} key.std = {size:32px , font:"Roboto", weight:600, color:primaryBlue} quote.big = {size:36px , font:"Montserrat", weight:600, color:primaryBlue, style:italic} quote.small = {size:20px , font:"Montserrat", weight:400} ::end ::genSparc.layout margin.top = 90 margin.bottom = 90 margin.left = 120 margin.right = 120 verticalDistribution = "even" horizontalDistribution = "full" contentSpacing = "balanced" elementExpansion = "maximized" textAlignment = "justified" avoidEmptySpaces = true gap.section = 70 gap.bullet.large = 60 gap.bullet.standard = 35 gap.titleToFirst = 55 ::end ::genSparc.elements icon.big.container.diam = 80px icon.std.container.diam = 70px icon.big.size = 30px icon.std.size = 24-28px ::end ::genSparc.background baseGradient = linear-gradient(180deg, bgDarkStart 0%, bgDarkEnd 100%) hexPattern = true grid3D = true bottomGlow = radial-gradient(circle at bottom, rgba(26,115,232,0.4) 0%, rgba(0,0,0,0) 70%) ::end ####################################################################### # TECHNISCHE SETTINGS # ####################################################################### ::genSparc.settings canvas.width = 1920 canvas.height = 1080 canvas.aspect = "16:9" ::end ::genSparc.assert assert canvas.width == 1920 assert canvas.height == 1080 ::end ### KEINE INTERNET-BILDER! ::genSparc.policy allowExternalImages = false absoluteProhibitionExternalImages = true iconLibrary = "internal" autoIconSearch = true ::end ### FOOTER ::genSparc.footer text = "ki-insights.com" font = "Montserrat" size = 24px color = "rgba(255,255,255,0.7)" position = "bottom-right" ::end ### INHALT VALIDIEREN ::genSparc.assert for bp in keyFindings: assert ":contentReference[" in bp for q in keyQuestions: assert ":contentReference[" in q ::end ####################################################################### # RENDER-PIPELINE # ####################################################################### ::genSparc.code for slide in range(1,5): newSlide(width=canvas.width, height=canvas.height) applyBackground() applyLayoutMargins() #–––––– VOR JEDER FOLIE DESIGNVORGABEN ERZWINGEN ––––––# applyDesignGuidelines() # setzt Schriften, Farben, Abstände gem. obiger Directives assertDesignCompliance() # bricht ab, falls Abweichungen populateContent(slide) addRelevantIcons(slide) distributeContentVertically() distributeContentHorizontally() optimizeContentPlacement() fillEmptySpaces() validateContentCoverage(minCoverage=0.85) applyFooter() validateDimensions() render() ::end ======================================================================= ## INHALTLICHE ARBEITSSCHRITTE (für Content-Engine) ======================================================================= **Input:** *approachName*, *keyFindings*, *keyQuestions*, *keyQuotes* (direkt aus PDFs, alle mit Citation-Tags). ### FOLIE 1 – Perspektivenrahmen • **Titel:** »23 Ansätze, eine KI-Strategie zu entwickeln – heute im Fokus: *{approachName}*« • Horizontale Leiste mit allen 23 Ansätzen; das Segment *{approachName}* ist vergrößert & markiert. • 2 – 3 Stichpunkte zur Bedeutung des Perspektivwechsels (je mit Citation). • Abschließender Take-away-Satz. ### FOLIE 2 – Warum dieser Ansatz hilfreich sein kann • 3 – 5 **keyFindings** (Bullets, je mit Citation). • ≥ 1 **keyQuote** als hervorgehobenes Zitat (Citation). • Optional: aktueller KI-Bezug. ### FOLIE 3 – Die wichtigsten Leitfragen • 4 – 6 **keyQuestions** (Ein-Satz-Nutzen, je mit Citation). ### FOLIE 4 – Die 3 zentralen Learnings • Stärke • Grenze • Aufruf zum Perspektivwechsel – gestützt auf **keyFindings**/**keyQuotes**. –– Jede Folie durch `---` trennen; max. 5 Bullets je Folie. –– Footer „ki-insights.com“ erscheint automatisch unten rechts. ======================================================================= **ENDE DES PROMPTS – UNVERÄNDERT an GenSPARC-AI übergeben.** =======================================================================