Prompts mit XML-Tags strukturieren
- Warum XML-artige Tags Claude klare Grenzen zwischen Prompt-Teilen geben
- Wie man Anweisungen, Dokumente, Beispiele und Formatregeln in benannte Tags wickelt
- Wie man Claude um getaggte Ausgabe bittet, die man zuverlässig parsen kann
- Wann man taggt — und wann man nicht über-taggt
Wenn ein Prompt Anweisungen, ein Dokument, Beispiele und eine Frage mischt, kann das Modell sie verschwimmen lassen. XML-artige Tags sind ein sauberer Weg, jeden Teil zu beschriften — und Claude reagiert besonders gut darauf.
Die Idee
Wickle jeden Abschnitt in einen benannten Tag, damit eindeutig ist, was was ist:
Tagged prompt structure
<instructions>
Summarize the document for a busy executive. Use only the document; if a fact
isn't there, say so.
</instructions>
<document>
{paste the long document here}
</document>
<format>
3 bullet points, then a one-line "decision needed".
</format>Die Tags sind nur Text, den du erfindest — <document>, <example>, <context>, <rules> — aber sie geben dem Modell klare Grenzen.
Warum es hilft
- Trennt Daten von Anweisungen — das Modell befolgt mit geringerer Wahrscheinlichkeit verirrten Text innerhalb eines eingefügten Dokuments (eine milde Verteidigung gegen Prompt Injection — siehe /docs/security/prompt-injection).
- Reduziert "es hat einen Teil meines Prompts ignoriert". Jeder Teil ist klar abgegrenzt.
- Macht Ausgaben leichter parsbar — du kannst Claude bitten, seine Antwort in <answer>-Tags zu setzen, und sie zuverlässig extrahieren.
- Lässt sich mit Few-Shot kombinieren (/docs/prompting/few-shot) — wickle jedes Beispiel in <example>.
Die vier Vorteile im Detail:
- Trennt Daten von Anweisungen — das Modell befolgt mit geringerer Wahrscheinlichkeit verirrten Text innerhalb eines eingefügten Dokuments (eine milde Verteidigung gegen Prompt Injection).
- Reduziert „es hat einen Teil meines Prompts ignoriert“. Jeder Teil ist klar abgegrenzt.
- Macht Ausgaben leichter parsbar — du kannst Claude bitten, seine Antwort in
<answer>-Tags zu setzen, und sie zuverlässig extrahieren. - Lässt sich mit Few-Shot kombinieren — wickle jedes Beispiel in
<example>.
Um getaggte Ausgabe bitten
Guided walkthrough1 of 3
- Sag dem Modell genau, welche Tags es für Reasoning vs. die endgültige Antwort verwenden soll.
- Dein Code kann nur den <answer>-Inhalt greifen und das Reasoning ignorieren.
- Passt gut zu strukturierter Ausgabe (/docs/api/structured-output), wenn du maschinenlesbare Ergebnisse brauchst.
Request tagged output
Put your reasoning in <thinking> tags and your final answer in <answer> tags.
Dann kann dein Code nur den <answer>-Inhalt greifen. Passt gut zu strukturierter Ausgabe, wenn du maschinenlesbare Ergebnisse brauchst.
Tipps
- Sei konsistent — öffne und schließe jeden Tag; verwende dieselben Namen wieder.
- Benenne Tags sinnvoll (<contract>, nicht <x>).
- Über-tagge keine trivialen Prompts — nutze das, wenn es wirklich mehrere unterschiedliche Teile gibt.
- Sei konsistent — öffne und schließe jeden Tag; verwende dieselben Namen wieder.
- Benenne Tags sinnvoll (
<contract>, nicht<x>). - Über-tagge nicht triviale Prompts — nutze das, wenn es wirklich mehrere unterschiedliche Teile gibt.