Sie haben diesen Monat denselben Kundensupport-Prompt dreimal geschrieben. Unterschiedliche Modelle, leicht unterschiedliche Kontexte, aber im Grunde identische Struktur. Sie kopieren und fügen ein, ändern ein oder zwei Variablen und hoffen, dass die Ausgabe konsistent bleibt.
Hier scheitern die meisten Teams. Sie behandeln Prompts als einmalige Skripte, anstatt Vorlagen zu erstellen – wiederverwendbare Muster, die skalierbar über Modelle, Aufgaben und Teams hinweg ohne Qualitätsverlust eingesetzt werden können.
Warum Vorlagen wichtiger sind als einzelne Prompts
Ein einzelner Prompt ist eine Punktlösung. Eine Vorlage ist Infrastruktur.
Wenn Sie einen Prompt als Vorlage kodifizieren, tun Sie drei Dinge: Sie dokumentieren, was funktioniert, schaffen eine Oberfläche für die Versionskontrolle und ermöglichen die Übergabe. Sie können nachverfolgen, welche Variablen wichtig sind, sicher A/B-Tests durchführen und einer anderen Person erlauben, die Vorlage auszuführen, ohne Ihre Denkweise rückwärts zu analysieren.
Bei AlgoVesta stellten wir früh fest, dass das Kopieren von Prompts zwischen Inferenzläufen zu Abweichungen führte. Die Temperatur leicht unterschiedlich, die Systemnachricht „nur dieses eine Mal“ bearbeitet, Annahmen zum Kontextfenster eingebaut. Nach drei Monaten haben Sie sechs Versionen desselben Prompts und keine Ahnung, welche am besten funktioniert.
Vorlagen lösen dieses Problem. Sie erzwingen Konsistenz, während sie Ihnen erlauben, zu ändern, was geändert werden soll.
Die Vorlagenstruktur: Variablen, Anweisungen, Beispiele
Eine produktionsreife Vorlage hat drei Ebenen:
- Konfigurationsebene: Modell, Temperatur, maximale Token, Systemrolle
- Anweisungsebene: Aufgabendefinition, Einschränkungen, Ausgabeformat
- Variablenebene: Platzhalter für dynamische Eingaben (Benutzeranfrage, Kontext, Metadaten)
Hier sehen Sie, wie das in der Praxis aussieht. Nehmen wir an, Sie erstellen eine Vorlage zum Extrahieren strukturierter Daten aus Benutzerbewertungen:
{
"name": "extract_review_sentiment",
"model": "claude-sonnet-4",
"config": {
"temperature": 0.3,
"max_tokens": 500
},
"system_prompt": "Sie extrahieren strukturierte Erkenntnisse aus Kundenbewertungen. Geben Sie nur gültiges JSON aus. Erklären Sie nichts.",
"user_prompt": "Extrahieren Sie Folgendes aus dieser Bewertung:\n\nBewertung: {{REVIEW_TEXT}}\n\nGeben Sie JSON mit den Schlüsseln zurück: sentiment (positive/negative/neutral), main_topic, confidence_score (0-1)\n\nBeispielformat:\n{\"sentiment\": \"positive\", \"main_topic\": \"shipping\", \"confidence_score\": 0.92}"
}
Beachten Sie den Platzhalter {{REVIEW_TEXT}}. Wenn Sie die Vorlage aufrufen, ersetzen Sie diesen durch tatsächliche Daten. Die Konfiguration bleibt gesperrt – Temperatur, Modell, Token-Limits ändern sich zwischen den Läufen nicht.
Erstellung einer Vorlage für variable Aufgabenkomplexität
Nicht jede Vorlage bewältigt die gleiche Komplexität. Klassifizierung ist einfach. Aber mehrstufiges Denken – Dokumente analysieren, Optionen vergleichen, Empfehlungen generieren – erfordert mehr Struktur.
Verwenden Sie für komplexe Aufgaben eine Kettenvorlage: eine Abfolge einfacherer Vorlagen, die ineinandergreifen.
Beispiel: Dokumentenanalyse mit Fallback. Die erste Vorlage fasst zusammen. Die zweite extrahiert die wichtigsten Behauptungen. Die dritte validiert gegen die Quelle. Wenn die Validierung unterhalb eines Schwellenwerts fehlschlägt, kehren Sie mit strengeren Parametern zur Extraktion zurück.
templates = {
"summarize_doc": {
"model": "claude-sonnet-4",
"temperature": 0.2,
"system": "Fassen Sie das Dokument in 2-3 Sätzen zusammen. Extrahieren Sie die wichtigsten Behauptungen.",
"user": "Dokument:\n{{DOC_TEXT}}"
},
"validate_claims": {
"model": "claude-sonnet-4",
"temperature": 0.1,
"system": "Überprüfen Sie für jede Behauptung, ob sie im Quelltext vorkommt. Geben Sie JSON zurück: {claim, found_in_source: boolean, confidence: 0-1}",
"user": "Quelle:\n{{DOC_TEXT}}\n\nBehauptungen aus der Zusammenfassung:\n{{CLAIMS}}"
}
}
def run_analysis(doc_text):
summary = invoke(templates["summarize_doc"], {"DOC_TEXT": doc_text})
validation = invoke(templates["validate_claims"], {"DOC_TEXT": doc_text, "CLAIMS": summary})
if validation["confidence"] < 0.85:
return {"status": "needs_review", "data": validation}
return {"status": "complete", "data": validation}
Diese Struktur ermöglicht es Ihnen, jeden Schritt unabhängig zu versionieren. Wenn die Validierung mehr als erwartet fehlschlägt, ändern Sie nur den System-Prompt dieser Vorlage, nicht die gesamte Pipeline.
Wann eine Vorlage extrahiert werden sollte (und wann nicht)
Nicht jeder Prompt sollte zu einer Vorlage werden. Extrahieren Sie in eine Vorlage, wenn:
- Sie dieselbe logische Aufgabe mehr als zweimal im Monat ausführen
- Das Ausgabeformat über die Läufe hinweg konsistent bleiben muss
- Sie Parameter per A/B-Test vergleichen möchten, ohne manuell zu bearbeiten
- Mehrere Personen dasselbe Muster verwenden müssen
Nicht templatisieren, wenn:
- Der Prompt experimentell ist – Sie finden noch heraus, ob er funktioniert
- Die Aufgabe wirklich einmalig ist (wird monatelang nicht wiederholt)
- Der Prompt so klein ist, dass die Parametrisierung zusätzlichen Aufwand bedeutet
Ein konkretes Beispiel: Ein Marketingteam nutzte eine Vorlage zur Erstellung von E-Mail-Betreffzeilen. Nach zwei Monaten stellten sie fest, dass die Einschränkung der Vorlage (maximal 60 Zeichen) für ihren neuen Kampagnenstil zu starr war. Sie konnten nicht einfach 70-Zeichen-Varianten experimentieren. Also teilten sie sich in zwei Vorlagen auf – eine für Kurzform, eine für erweiterte. Der Aufwand zahlte sich sofort aus.
Tools und Ansätze für die Vorlagenverwaltung
Je nach Umfang haben Sie Optionen:
Option 1: JSON-Dateien in der Versionskontrolle (am besten für kleine Teams, <10 Vorlagen). Speichern Sie Vorlagen als JSON in einem Repository, importieren Sie sie zur Laufzeit. Einfach, versioniert, keine externe Abhängigkeit. Nachteil: keine Benutzeroberfläche, erfordert technisches Wissen zur Änderung.
Option 2: Prompt-Management-Plattformen (PromptFlow, LangSmith, Humanloop). Integrierte Versionierung, A/B-Testing-UI, Kollaborationsfunktionen. Einfacher für Nicht-Techniker, aber führt zu Vendor Lock-in.
Option 3: Benutzerdefinierte Wrapper-Schicht (Teams mit 20+ Vorlagen). Eine leichtgewichtige Abstraktion, die Vorlagen aus beliebigen Quellen (Dateien, Datenbank, S3) lädt, Variablen anwendet und Wiederholungsversuche behandelt. Bietet Kontrolle, erfordert aber Wartung.
Beginnen Sie mit Option 1. Wenn Sie 15 Vorlagen erreichen und feststellen, dass Sie Versionen manuell verwalten, steigen Sie auf Option 2 oder 3 um.
Tun Sie dies heute: Extrahieren Sie Ihre erste Vorlage
Finden Sie einen Prompt, den Sie in den letzten zwei Wochen geschrieben haben und von dem Sie wissen, dass Sie ihn wieder ausführen werden. Kopieren Sie ihn in eine JSON-Struktur wie im obigen Beispiel. Fügen Sie Platzhalter für die Teile hinzu, die sich zwischen den Ausführungen ändern werden. Fügen Sie ihn zur Versionskontrolle hinzu.
Führen Sie ihn einmal mit echten Daten aus. Wenn das Ausgabeformat sauber bleibt und das Ergebnis Ihren Erwartungen entspricht, haben Sie Ihre erste Vorlage. Von dort aus wird das Muster offensichtlich – Sie werden die nächsten fünf sofort erkennen.