Der erste Social-Media-Text, den meine Automatisierung erzeugt hat, war formal einwandfrei. Vollständige Sätze, freundlicher Ton, passende Hashtags, korrekte Länge. Und vollkommen belanglos:
Deine erste Nacht draußen steht bevor und du möchtest häufige Anfängerfehler vermeiden? Achte besonders darauf, Kälte und Nässe keine Chance zu geben, um ein angenehmes Erlebnis zu haben.
Das ist kein Text über einen bestimmten Beitrag. Das ist ein Text über nichts. Man könnte ihn unter jeden zweiten Outdoor-Artikel setzen, ohne dass es auffällt.
Mein erster Reflex war, am Prompt zu schrauben. Das war falsch. Der Prompt war nicht das Problem.
Die Ursache lag in der Datengrundlage
Ich hatte dem Modell den Auszug des WordPress-Beitrags gegeben – das Feld excerpt. Bei diesem Beitrag bestand der aus genau einem Satz:
Die erste Nacht draußen gelingt sicherer: Vermeide Kälte, Nässe, schlechte Lagerplätze und ungetestete Ausrüstung.
Und jetzt die Aufgabe: Erzeuge daraus drei bis vier inhaltliche Stichpunkte über das, was im Artikel steht.
Das ist unmöglich. Aus einem Satz lassen sich keine vier Aussagen über einen Text ableiten, den man nicht kennt. Ein Modell, das es trotzdem versucht, hat zwei Möglichkeiten: Es erfindet Details – oder es weicht ins Allgemeine aus. Meines war brav und wich aus.
Die Lehre ist unbequem, aber sie gilt allgemein: Wenn eine KI-Ausgabe belanglos wirkt, liegt es öfter am zu dünnen Input als am zu schwachen Prompt. Bevor du am Wortlaut feilst, prüfe, ob überhaupt genug Material da ist, um die gestellte Aufgabe zu erfüllen.
Die Gliederung ist das eigentliche Rohmaterial
Der naheliegende Ausweg wäre, den kompletten Artikeltext hineinzugeben. Das funktioniert, hat aber zwei Nachteile: Es kostet Token, und je mehr Fließtext ein Modell sieht, desto größer die Versuchung, einzelne Details ungenau wiederzugeben.
Die bessere Quelle lag direkt daneben: die Zwischenüberschriften.
Ein ordentlich strukturierter Beitrag hat H2-Überschriften, und die sind nichts anderes als eine vom Autor selbst geschriebene Inhaltsangabe. Sie sind kurz, sie sind faktentreu, und sie eignen sich unmittelbar als Grundlage für Stichpunkte. Kein Erfindungsrisiko – die Aussagen stammen wörtlich aus dem Beitrag.
Der Abruf sieht jetzt so aus: Der Workflow lädt über die WordPress-REST-API das Feld content nach und zieht daraus zwei Dinge – die H2-Überschriften als Gliederung und die ersten 3.000 Zeichen Fließtext als Kontext.
Aus dem obigen Beispielbeitrag wurde damit:
- Was Anfänger typischerweise falsch machen – warum warme
Schlafsäcke allein nicht vor dem Frieren schützen
- Falsche Nacht, falscher Ort: wie Wetter, Platzwahl und
Aufbau die erste Nacht entscheiden
- Warum Vorbereitung, Sicherheit und die richtige
Genehmigung über Erfolg oder Frust entscheiden
Damit hat das Modell etwas zu arbeiten.
Zwei Details bei der Extraktion
Beim Ausbauen der Überschriften sind mir zwei Kleinigkeiten begegnet, die man leicht übersieht.
Das Inhaltsverzeichnis-Plugin verdoppelt alles. Viele Blogs setzen ein Plugin wie Table of Contents Plus ein, das oben im Beitrag ein Verzeichnis einfügt. Im HTML steht damit jede Überschrift zweimal: einmal als Link im Verzeichnis, einmal als echte Überschrift. Wer stumpf alle Vorkommen einsammelt, bekommt eine doppelte Liste. Also: Den Verzeichnisblock vorher herausschneiden.
„Fazit“ und „Weiterlesen“ sind keine Inhalte. Fast jeder Beitrag endet mit solchen Abschnitten. Als Stichpunkt sind sie wertlos. Ein kurzer Filter auf diese Meta-Überschriften genügt.
Und ein Rückfall für den Fall, dass ein Beitrag gar keine H2 hat: Dann nimmt der Workflow die H3-Ebene. Findet er auch dort nichts, vermerkt er das ausdrücklich, statt so zu tun, als gäbe es eine Gliederung.
Das Format nicht erfinden, sondern abschreiben
Der zweite Fehler in meinem ersten Anlauf war subtiler. Ich hatte dem Modell beschrieben, wie ein guter Social-Media-Post aussieht – aus dem Kopf, nach allgemeinem Gefühl.
Dabei gab es eine viel bessere Quelle: die Beiträge, die schon auf der Seite standen.
Über die Graph-API habe ich mir die letzten zwanzig Posts der Facebook-Seite geben lassen. Das Muster war eindeutig:
[Emoji] Schlagzeile – gern mit Gedankenstrich
2–3 Sätze Einstieg mit ein bis zwei Emojis
In unserem Artikel erfährst du:
✅ Stichpunkt
✅ Stichpunkt
✅ Stichpunkt
Abschlusssatz mit Emoji
👉 Lies den ganzen Artikel auf <URL>
#Hashtag #Hashtag …
Dazu ein Satz wiederkehrender Hashtags, der sich in fast jedem Post fand.
Diese Struktur als Formatbeispiel in den Prompt zu setzen, hat mehr gebracht als jede Beschreibung. Ein Modell ahmt eine gezeigte Form zuverlässiger nach, als es eine erklärte umsetzt.
Übertragbar: Wenn du eine bestehende Präsenz automatisierst, lies erst aus, was dort steht. Der Stil ist bereits definiert – du musst ihn nicht erfinden, nur einsammeln.
Hashtags: halb fest, halb frei
Ein kleiner Punkt, der aber die Wiedererkennbarkeit ausmacht. Beim Auslesen der bestehenden Posts fiel auf, dass ein Kern von Hashtags in fast jedem Beitrag vorkam – der Markenname, das Themenfeld, ein, zwei Dauerbrenner. Dazu kamen jeweils zwei bis drei, die zum konkreten Thema passten.
Genau so steht es jetzt in der Anweisung: Der feste Satz wird wörtlich vorgegeben, die themenspezifischen darf das Modell aus dem Beitrag ableiten. Das hat einen praktischen Grund, der über Ästhetik hinausgeht. Überlässt man dem Modell den ganzen Satz, driftet er von Post zu Post – mal #Outdoor, mal #outdoorlife, mal #OutdoorLiebe. Für die Wiedererkennung ist das schlecht, und für die Suche auf Instagram ist es schlicht Streuverlust.
Umgekehrt alles fest vorzugeben, wäre auch keine Lösung: Dann trägt jeder Post dieselben Schlagworte, unabhängig davon, worum es geht. Die Mischung aus Konstante und Variable ist der Kompromiss – und sie kostet im Prompt genau zwei Sätze.
Der Fehler, der beinahe live gegangen wäre
Und jetzt der Punkt, an dem es gefährlich wurde.
Im Testlauf mit dem überarbeiteten Prompt erzeugte das Modell einen richtig guten Text. Konkrete Stichpunkte, sauberer Aufbau, passende Hashtags. Nur eine Zeile stimmte nicht:
👉 Lies den ganzen Artikel auf
https://.../mikroabenteuer-abenteuer-direkt-vor-der-tuer/
Der echte Slug lautet mikroabenteuer-abenteuer-direkt-vor-der-haustuer. Das Modell hatte „haus“ verschluckt. Ein toter Link – in einem Post, der in jeder Hinsicht überzeugend aussah.
Hätte ich nicht zufällig Zeichen für Zeichen verglichen, wäre das live gegangen. Und zwar nicht einmal, sondern bei jedem Post, mit unterschiedlicher Trefferquote.
Sprachmodelle sind beim wortgetreuen Kopieren langer Zeichenketten unzuverlässig. Das ist keine Schwäche eines bestimmten Modells, sondern eine Eigenschaft der Technik: Ein Slug ist für ein Sprachmodell kein Bezeichner, sondern eine Folge von Wortfragmenten, die es plausibel fortsetzt. „vor-der-tuer“ ist eine plausible Fortsetzung. Sie ist nur falsch.
Die Lösung: gar nicht erst schreiben lassen
Man könnte den Prompt verschärfen. „Kopiere die URL exakt.“ Das hilft manchmal. Verlassen kann man sich nicht darauf, und bei einem toten Link ist die Fehlerwirkung zu groß für „manchmal“.
Die robuste Lösung ist, dem Modell die Aufgabe wegzunehmen. Es liefert jetzt vier getrennte Felder:
{
"facebook_text": "… ohne Link, ohne Hashtags",
"facebook_hashtags": "#Eins #Zwei …",
"instagram_text": "… ohne Link, ohne Hashtags",
"instagram_hashtags": "#Eins #Zwei …"
}
Und der Workflow setzt daraus zusammen:
{{ facebook_text }}
👉 Lies den ganzen Artikel auf {{ link }}
{{ facebook_hashtags }}
Der Link kommt aus der WordPress-Antwort und wird durchgereicht, nicht abgeschrieben. Er kann nicht mehr falsch sein.
Das ist ein Muster, das weit über diesen Fall hinausreicht: Alles, was exakt stimmen muss, gehört nicht in die Modellausgabe. IDs, URLs, Preise, Aktenzeichen, Telefonnummern. Das Modell formuliert, der Code setzt ein. Dieselbe Trennung hat sich bei der automatischen internen Verlinkung bewährt, wo erfundene Ankertexte dasselbe Problem verursacht hatten.
Zwei kleinere Fallstricke
Die Ausgabe war manchmal kein gültiges JSON. Das Modell setzte echte Zeilenumbrüche in JSON-Strings, was den Parser abbrechen ließ – der ganze Lauf scheiterte. Abhilfe war zweiteilig: eine ausdrückliche Regel im Prompt, Zeilenumbrüche als \n zu schreiben, plus die Auto-Reparatur des Output-Parsers, die bei einem Formatfehler einen zweiten Modellaufruf zum Geradeziehen macht. In n8n braucht dieser Parser dafür ein eigenes Sprachmodell an seinem Eingang, sonst gilt der Node als unvollständig.
Und ein Fehler, den ich selbst verursacht hatte: Ich hatte den Systemprompt umlautfrei geschrieben, um Kodierungsärger zu vermeiden. Prompt hin, Prompt her – das Modell schrieb zurück:
In unserem Artikel erfaehrst du:
Es hatte meine Schreibweise übernommen. Modelle imitieren nicht nur den Inhalt eines Prompts, sondern auch seine Oberfläche. Seitdem stehen echte Umlaute im Prompt – und zusätzlich die Regel, niemals ae, oe, ue oder ss als Ersatz zu verwenden.
Leerformeln brauchen Negativbeispiele
Ein letzter Punkt zur Textqualität. Auch nach der Umstellung auf die Gliederung schlich sich noch dieser Stichpunkt ein:
✅ Warum die richtige Vorbereitung wichtig ist
Formal korrekt, inhaltlich leer. Verschwunden ist er erst, als im Prompt ausdrücklich stand:
Ein Stichpunkt, der auf jeden beliebigen Beitrag passen würde, ist wertlos. Streiche ihn und nimm ein konkretes Detail aus dem Textauszug.
Dazu je zwei Beispiele für gut und verboten. Positive Beschreibungen allein reichen nicht – ein Modell braucht die Abgrenzung, um zu erkennen, was gemeint ist.
Dasselbe galt für Instagram. Die Anweisung „gleicher Aufbau, aber persönlicher“ führte zu einer Wort-für-Wort-Kopie mit ausgetauschter Linkzeile. Erst „KEINE Kopie des Facebook-Textes: andere Überschrift, anderer Einstieg, andere Abschlusszeile“ erzeugte zwei eigenständige Texte.
Vorher und nachher
Derselbe Beitrag, erste und letzte Fassung:
Vorher:
Achte besonders darauf, Kälte und Nässe keine Chance zu geben, um ein angenehmes Erlebnis zu haben.
Nachher:
🥶 Die erste Nacht draußen – Anfängerfehler vermeiden
[…]
In unserem Artikel erfährst du:
✅ Warum die Isomatte über die Nacht entscheidet
✅ Wie feuchte Kleidung die Nacht ruiniert
✅ Welcher Lagerplatz nachts auskühlt
✅ Warum du Ausrüstung vorher testen solltest
Der Unterschied kommt zu vier Fünfteln aus der besseren Datengrundlage und nur zu einem Fünftel aus dem besseren Prompt. Das ist die Verhältnismäßigkeit, die ich am Anfang falsch eingeschätzt hatte.
Ein Werkzeug, das sich gelohnt hat
Zum Schluss eine praktische Empfehlung. Ich habe mir einen dritten, winzigen Workflow gebaut, der nur den Text erzeugt – ohne Warteschlange, ohne Mail, ohne Post. Gliederung und Textauszug sind darin fest hinterlegt.
Damit kann ich am Prompt drehen, ausführen, vergleichen – ohne bei jedem Versuch einen Eintrag zu erzeugen oder gar etwas zu veröffentlichen. Die drei Prompt-Runden dieses Beitrags haben mich damit zusammen zehn Minuten gekostet statt einer Stunde Aufräumarbeit.
Wenn du an einem Prompt iterierst, baue dir vorher die Teststrecke. Sie amortisiert sich beim zweiten Durchlauf.
Die Serie:
- Teil 1: Warum Texten und Posten getrennt gehören
- Teil 2: Texte, die etwas sagen – dieser Beitrag
- Teil 3: Die Warteschlange als Redaktionsplan
- Teil 4: Posten auf Facebook und Instagram
- Teil 5: Altbestand nachziehen und der Betrieb



