Prompts zwischen Modellen portieren
Du hast einen Prompt, der auf einem Modell wunderbar funktioniert. Jetzt brauchst du ihn auf einem anderen — ein Kunde lebt in GPT, ein Kostenziel drängt dich zu einem offenen Modell, oder du machst einen A/B-Test zwischen Claude und Gemini. Die gute Nachricht, die sich quer durch die eigene Dokumentation jedes Anbieters zieht: das Gerüst eines guten Prompts ist universell. Was sich ändert, ist eine dünne Schicht aus oberflächlichen Konventionen. Diese Seite trennt die beiden, damit du einen Prompt verschieben kannst, ohne ihn neu zu schreiben, und gibt dir einen wiederholbaren Migrations-Workflow plus eine portable Vorlage.
- Wissen, welche Teile eines Prompts sauber zwischen Claude, GPT, Gemini und offenen Modellen übertragbar sind
- Wissen, welche Teile pro Modell angepasst werden müssen — und warum
- Einen wiederholbaren Migrations-Workflow ausführen statt Versuch-und-Irrtum-Neuschreiben
- Eine portable, modellneutrale Prompt-Vorlage pflegen, die du pro Ziel spezialisieren kannst
Das mentale Modell: Struktur überträgt sich, Konventionen nicht
Stell dir jeden Prompt als zwei Schichten vor:
- Die Schlussfolgerungs-Schicht — was du fragst, der Kontext, den du lieferst, die Beispiele, die Ausgabe, die du willst. Hier geht es um Kommunikation, und sie überträgt sich nahezu unverändert zwischen Modellen.
- Die Konventions-Schicht — wie dieses bestimmte Modell diese Kommunikation verpackt haben will: wo der System-Prompt steht und wie strikt er befolgt wird, ob es XML oder Markdown bevorzugt, das exakte Tool-Call-Schema, seine Standard-Gesprächigkeit und Refusal-Haltung, welche Generierungsparameter existieren.
Einen Prompt zu portieren ist fast nie ein Neuschreiben der Schlussfolgerungs-Schicht. Es ist ein Nachjustieren der Konventions-Schicht. Triff diese Unterscheidung richtig, und Migration wird mechanisch statt mysteriös. (Für den anbieterneutralen Weg, ein Ziel überhaupt erst auszuwählen, siehe Ein Modell auswählen.)
Was sich sauber überträgt
Diese gelten gleichermaßen für Claude, GPT, Gemini und die wichtigsten offenen Modelle — die eigenen Best-Practices-Dokumente jedes Anbieters empfehlen sie unabhängig voneinander:
- Eine klare Rolle + Aufgabe + explizite Anweisungen. "Du bist X. Deine Aufgabe ist Y. Befolge diese Regeln." Jeder Anbieter dokumentiert ein Persona-/Rollenkonstrukt und belohnt spezifische, eindeutige Anweisungen gegenüber vagen.
- Konkrete Beispiele (Few-Shot). 2–5 Input→Output-Paare zu zeigen lehrt ein Muster zuverlässiger, als es zu beschreiben. Alle drei großen Anbieter empfehlen ausdrücklich Few-Shot-Beispiele; Geminis Doku geht so weit, zu empfehlen, sie fast immer einzubeziehen.
- Ein spezifiziertes Ausgabeformat. "Gib eine Markdown-Tabelle mit den Spalten X, Y, Z zurück" oder "Nur JSON, keine Prosa" funktioniert überall. Die Anweisung überträgt sich, selbst wenn der Strict-Mode-Mechanismus abweicht (siehe unten).
- Chain-of-Thought / "denke, bevor du antwortest". Bei schwierigen Aufgaben um schrittweises Schlussfolgern zu bitten verbessert die Ergebnisse über Modelle hinweg. Eine Einschränkung, die doch pro Modell gilt: dedizierte Reasoning-/Thinking-Modelle tun dies oft intern, sodass ein explizites "denke Schritt für Schritt" redundant oder sogar kontraproduktiv sein kann — siehe die Anpassen-Liste.
- Grounding / RAG. "Verwende NUR den Kontext unten; falls die Antwort nicht darin steht, sage, dass du es nicht weißt." Die Disziplin, abgerufenen Kontext zu liefern und das Modell darauf zu beschränken, ist universell — jeder Anbieter dokumentiert RAG-artiges Grounding als den Weg, Halluzinationen zu reduzieren.
- Langen Kontext zuerst, die Frage zuletzt. Beginne mit den Dokumenten/Daten, ende mit der Anweisung. Diese Reihenfolge hilft über Modelle hinweg und wird in Geminis Leitfaden ausdrücklich hervorgehoben.
Wenn du dir die Prompting-Grundlagen verinnerlicht hast, besitzt du bereits die portablen 80 %.
Was pro Modell anzupassen ist
Das ist die Konventions-Schicht — der Teil, der sich tatsächlich unterscheidet. Justiere diese nach, wenn du umziehst:
| Aspekt | Was sich zwischen Modellen ändert | Was zu tun ist |
|---|---|---|
| System-Prompt-Handhabung & -Gewicht | Jedes Modell hat eine System-/Developer-Nachricht, aber wie stark sie den User-Turn überschreibt, variiert. Manche gewichten eine dedizierte Developer-/System-Rolle über User-Anweisungen; andere verwischen die Grenze. | Geh nicht davon aus, dass dein System-Prompt mit derselben Kraft befolgt wird. Teste neu, ob Einschränkungen tatsächlich halten; rücke kritische Regeln höher, wenn sie verrutschen. |
| XML vs. Markdown vs. Trennzeichen | Claude parst XML-Tags besonders gut, um Anweisungen/Kontext/Beispiele zu trennen; GPT und Gemini akzeptieren XML, stützen sich aber auch auf Markdown-Überschriften und Trennzeichen. | Behalte etwas explizite Struktur; tausche die Geschmacksrichtung gegen die Vorliebe des Ziels. Das Format deines Prompts an die gewünschte Ausgabe anzugleichen lenkt auch den Ausgabestil. |
| Tool-/Function-Calling-JSON-Form | Die Schleife (Tools deklarieren → Modell fordert einen Call an → du führst aus → gibst Ergebnis zurück) ist überall identisch; das Wire-Format ist es nicht — Feldnamen, wie Calls/Ergebnisse in der Nachrichtenliste sitzen, und Strict-Mode-Optionen unterscheiden sich. | Kopiere niemals rohes Tool-JSON zwischen Anbietern. Bilde es neu auf das Zielschema ab. Siehe Tool Use. |
| Standard-Ausführlichkeit | Neuere Modelle tendieren standardmäßig zu Knappheit und erwarten, dass du um Details bittest; ältere waren gesprächiger. | Wenn du einen Prompt portiert hast und die Antworten kürzer/länger wurden, setze die Ausführlichkeit explizit, statt dem Prompt die Schuld zu geben. |
| Refusal-/Sicherheitshaltung | Jedes Modell hat seine eigene Schwelle, Grenzfall-Anfragen abzulehnen oder zu relativieren, und diese werden bei jedem Release neu justiert. | Teste Grenzfälle nach dem Portieren neu. Ein Prompt, der auf einem Modell nie Refusals auslöste, braucht auf einem anderen möglicherweise eine Neuformulierung. |
| Die Antwort vorbefüllen (Prefill) | Dem Assistenten Worte in den Mund zu legen, um ein Format zu erzwingen, ist ein klassischer Claude-Ära-Hebel — aber neuere Claude-Modelle (4.6+) lehnen einen vorbefüllten finalen Assistant-Turn ab, und die Unterstützung variiert anderswo ganz. | Ersetze Prefill durch eine direkte Anweisung ("antworte ohne Vorrede"), ein Ausgabeschema oder Tool-Calling. |
| Stop-Sequenzen & Max-Tokens | Alle bieten eine Längenobergrenze, und die meisten bieten Stop-Sequenzen, aber Parameternamen, Standardwerte und Limits unterscheiden sich — und manche Thinking-Budget-Stellschrauben werden zugunsten von Effort/max_tokens abgekündigt. | Prüfe die Parameternamen und Obergrenzen auf dem Ziel neu; geh nicht davon aus, dass deine alten Werte sich übertragen. |
Ein Migrations-Workflow
Behandle das Portieren als eine kurze, disziplinierte Schleife, nicht als Rate-und-Prüf-Neuschreiben.
- Lies deinen bestehenden Prompt und teile ihn gedanklich auf: Schlussfolgerungs-Schicht (Rolle, Aufgabe, Kontext, Beispiele, Ausgabe-Spezifikation) vs. Konventions-Schicht (XML-/Markdown-Entscheidungen, Prefill, Tool-JSON, Parameter). Die erste behältst du, die zweite justierst du neu.
- Entferne alles, was eine Konvention ist und keine Bedeutung: XML-Tags, die nur Struktur waren, Prefill-Turns, modellspezifisches 'denke Schritt für Schritt', falls das Ziel intern schlussfolgert, und das alte Tool-Call-Schema. Du hast jetzt einen sauberen, neutralen Kern.
- Füge Struktur in der bevorzugten Geschmacksrichtung des Ziels wieder hinzu (Markdown-Überschriften oder Trennzeichen, wo XML war), setze den System-Prompt und prüfe, dass er wie erwartet gewichtet wird, setze die Ausführlichkeit explizit, und bilde Tool-Definitionen auf die JSON-Form des Ziels neu ab.
- Wähle 5–15 echte Inputs, die deine normalen Fälle plus ein paar Grenz-/Randfälle abdecken (um Refusal- und Ausführlichkeits-Verschiebungen zu erwischen). Das ist dein Vorher/Nachher-Maßstab — ohne ihn rätst du nur.
- Führe das Eval auf dem Ziel aus. Wo die Ausgaben abweichen, korrigiere zuerst die Konventions-Schicht (Format, Ausführlichkeit, System-Prompt-Stärke), bevor du die Schlussfolgerungs-Schicht anfasst. Die meisten Lücken schließen sich hier.
- Behalte beide Prompt-Varianten in der Versionskontrolle mit einer Notiz, was du geändert hast und warum. Erneut das Modell zu wechseln — oder zurück — kostet dann Minuten, keine Wiederentdeckung.
:::tip Schreibe nicht von Grund auf neu Wenn du dich dabei ertappst, Rolle, Aufgabe oder Beispiele neu aufzubauen, halt an — das ist die portable Schicht. Ein sauberer Port ändert die Verpackung, nicht die Bedeutung. :::
Eine portable Prompt-Vorlage
Schreibe deinen Prompt in einer modellneutralen Form und spezialisiere dann pro Ziel nur die Konventions-Schicht. Dieser Kern verwendet leichte, universell verständliche Struktur (er liest sich sauber als Markdown, und die Tags lassen sich leicht für Claude in XML umwandeln):
Modellneutraler Prompt-Kern — pro Ziel die Konventions-Schicht spezialisieren
# ROLE
You are {role}.
# TASK
{One clear sentence describing the single goal.}
# RULES
- Use ONLY the information in CONTEXT below. If the answer is not there, say "I don't know" — do not guess.
- Be concise. Respond directly, with no preamble like "Here is..." or "Based on...".
- {Any other hard constraints.}
# OUTPUT FORMAT
{Exact format — e.g. "A Markdown table with columns Name, Value, Source." or "JSON only matching this schema: {...}".}
# EXAMPLES
Input: {example input 1}
Output: {ideal output 1}
Input: {example input 2}
Output: {ideal output 2}
# CONTEXT
{Retrieved documents / data go here — long content first.}
# REQUEST
{The actual user question, last.}Pro-Ziel-Anpassungen, die du obendrauf legst:
- Claude — verschiebe die Abschnittsmarker in XML-Tags (
<role>,<rules>,<context>,<request>); es parst diese besonders sauber. Verwende keinen vorbefüllten Assistant-Turn auf aktuellen Modellen; verlasse dich stattdessen auf die "keine Vorrede"-Regel oder ein Tool/Schema. - GPT — packe RULES in die System-/Developer-Nachricht, damit sie mehr Gewicht tragen; Markdown-Überschriften sind in Ordnung; verwende Structured-Output-/Strict-JSON-Modus, statt das Schema nur in Prosa zu beschreiben.
- Gemini — gib ROLE + RULES + OUTPUT FORMAT über das System-Instruction-Feld weiter, halte den Prompt direkt (neuere Gemini-Modelle können ausführliche Prompts überinterpretieren), und behalte CONTEXT zuerst mit dem REQUEST zuletzt.
- Offene Modelle (Llama/Mistral/Qwen usw.) — folge dem veröffentlichten Chat-Template des Modells exakt, und stütze dich stärker auf explizite Few-Shot-Beispiele und Format-Einschränkungen, da die Anweisungsbefolgung meist weniger robust ist als bei den geschlossenen Frontier-Modellen.
Kurzer Check
Prüfe dich selbst
0/3- Ein Prompt besteht aus einer Schlussfolgerungs-Schicht (überträgt sich) plus einer Konventions-Schicht (pro Modell neu justieren) — portiere die zweite, behalte die erste.
- Klare Rolle/Aufgabe/Anweisungen, Few-Shot-Beispiele, Ausgabeformat-Spezifikationen, Chain-of-Thought und RAG-Grounding übertragen sich über Claude, GPT, Gemini und offene Modelle.
- Passe System-Prompt-Gewicht, XML- vs. Markdown-Struktur, Tool-Call-JSON, Standard-Ausführlichkeit, Refusal-Haltung, Prefill und Längenparameter pro Ziel an.
- Führe ein winziges Eval-Set auf echten Inputs vorher/nachher aus; korrigiere Konventionen, bevor du das Schlussfolgern anfasst.
- Pflege eine modellneutrale Vorlage plus Pro-Ziel-Anpassungen in der Versionskontrolle, damit das Wechseln günstig ist.
- Konkrete Verhaltensweisen driften bei jedem Release — prüfe Parameter und Limits in der aktuellen Doku jedes Anbieters, niemals aus dem Gedächtnis.
Quellen & weiterführende Literatur
- Prompt-Engineering-Überblick — Anthropic (Claude) Docs — Claudes Prompting-Techniken: Klarheit, Beispiele, XML-Strukturierung, Thinking, Rollen.
- Claude-Prompting-Best-Practices — Anthropic Docs — modellspezifisches Tuning, XML-Tags, Ausgabe-/Ausführlichkeitskontrolle und der Prefill-Migrationsleitfaden.
- Prompt-Engineering-Best-Practices — OpenAI (GPT) API Docs — Nachrichtenrollen/Befehlskette, Trennzeichen, Few-Shot und Reasoning-Modell- vs. GPT-Leitfaden.
- Function Calling — OpenAI API Docs — das Tool-Call-Schema und die Request/Response-Schleife, auf die abzubilden ist.
- Prompt-Design-Strategien — Google Gemini API Docs — System-Anweisungen, Few-Shot, Strukturierung, Kontext-zuerst-Reihenfolge und Ausgabe-/Längenparameter.
- Gemini-3-Entwicklerleitfaden — Google Gemini API Docs — Leitfaden für neuere Modelle zu direkten Prompts, Standard-Ausführlichkeit und Anweisungsplatzierung.
Weiter
- Das Ziel anbieterneutral auswählen → Ein Modell auswählen
- Die portablen Grundlagen → Prompting-Grundlagen
- Claudes Struktur-Hebel → XML-Tags
- Das Tool-Schema neu abbilden → Tool Use