#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:

  1. Zero-Touch-Automation – kein Copy/Paste, keine Nachformatierung.
  2. 100 % Brand-Compliance – Farben, Typo, Footer, Hintergrund.
  3. 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

IterationNeuer FokusBeitrag zum Ziel
1–2Canvas 1920 × 1080, Folien-TrennerBasis für PowerPoint-Export
3allowExternalImages = falseBrand-& Lizenz-Sicherheit
4–6Hex-Farben, Typo-MatrixKonsistentes CI
7Footer „ki-insights.com“Markenbindung
8Margins, Gaps, Coverage-CheckSaubere Flächennutzung
9Citations-AssertionsQuellen-Nachweis gewährleistet
10includeDirectiveBlocks = trueAutomations-Ziel: Prompt + Befehle in einer Datei
11–12Vollständige Beschreibung Folie 1Kein Hand-Stitching mehr nötig
13Design-Reminder vor jedem SlideVerhindert Stil-„Drift“
14–15Horizontale Verteilung, min. 85 % CoverageSlides 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

StolpersteinFolgeFix
Vergessene Folie-1-DetailsUnvollständiges DeckAbschnitt nachgereicht
Slides oben voll, unten leerUnprofessioneller LookverticalDistribution="even" + Coverage-Check
GenSPARC schnitt Directives wegNur Slides → Prompt nicht reproduzierbarAusgabemodus erzwungen
Bullet-Points ohne CitationFaktisch unbrauchbarAssertion 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

  1. Erst das Ziel, dann der Code – ohne das klar formulierte „Ich will vier Folien OOTB“ wären wir im Content-Chaos gelandet.
  2. Assertions sind Gold wert – sie bilden die Qualitäts-Guardrails.
  3. Directive-Blöcke sichtbar lassen – sonst ist der Prompt nicht portabel.
  4. Design-Reminder an jeder Ecke – Engines lieben Defaults; wir lieben Konsistenz.
  5. 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.**
=======================================================================

Die Bilder von Genspark AI Slides

Teile diesen Artikel

Ähnliche Beiträge