XML टैग के साथ प्रॉम्प्ट संरचित करना
- XML-शैली के टैग Claude को प्रॉम्प्ट के हिस्सों के बीच स्पष्ट सीमाएँ क्यों देते हैं
- निर्देश, दस्तावेज़, उदाहरण और फ़ॉर्मेट नियमों को नामित टैग में कैसे लपेटें
- Claude से ऐसा टैग किया हुआ आउटपुट कैसे माँगें जिसे आप विश्वसनीय रूप से पार्स कर सकें
- कब टैग करें — और कब ज़रूरत से ज़्यादा टैग न लगाएँ
जब कोई प्रॉम्प्ट निर्देश, एक दस्तावेज़, उदाहरण और एक प्रश्न को मिला देता है, तो मॉडल उन्हें आपस में धुंधला कर सकता है। XML-शैली के टैग हर हिस्से को लेबल करने का एक साफ़ तरीका हैं — और Claude इन पर खासतौर पर अच्छी प्रतिक्रिया देता है।
विचार
हर अनुभाग को एक नामित टैग में लपेटें ताकि यह स्पष्ट हो कि क्या क्या है:
टैग की हुई प्रॉम्प्ट संरचना
<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>टैग बस वह टेक्स्ट हैं जो आप ख़ुद गढ़ते हैं — <document>, <example>, <context>, <rules> — पर ये मॉडल को स्पष्ट सीमाएँ देते हैं।
यह मदद क्यों करता है
- डेटा को निर्देशों से अलग करता है — मॉडल के पेस्ट किए गए दस्तावेज़ के अंदर के भटके हुए टेक्स्ट का पालन करने की संभावना कम होती है (prompt injection के खिलाफ़ एक हल्का बचाव — /docs/security/prompt-injection देखें)।
- "इसने मेरे प्रॉम्प्ट का हिस्सा नज़रअंदाज़ कर दिया" को कम करता है। हर हिस्सा स्पष्ट रूप से सीमांकित होता है।
- आउटपुट को पार्स करना आसान बनाता है — आप Claude से अपना उत्तर <answer> टैग में रखने को कह सकते हैं और इसे विश्वसनीय रूप से निकाल सकते हैं।
- few-shot (/docs/prompting/few-shot) के साथ जुड़ता है — हर उदाहरण को <example> में लपेटें।
चार फ़ायदे विस्तार से:
- डेटा को निर्देशों से अलग करता है — मॉडल के पेस्ट किए गए दस्तावेज़ के अंदर के भटके हुए टेक्स्ट का पालन करने की संभावना कम होती है (prompt injection के खिलाफ़ एक हल्का बचाव)।
- "इसने मेरे प्रॉम्प्ट का हिस्सा नज़रअंदाज़ कर दिया" को कम करता है। हर हिस्सा स्पष्ट रूप से सीमांकित होता है।
- आउटपुट को पार्स करना आसान बनाता है — आप Claude से अपना उत्तर
<answer>टैग में रखने को कह सकते हैं और इसे विश्वसनीय रूप से निकाल सकते हैं। - few-shot के साथ जुड़ता है — हर उदाहरण को
<example>में लपेटें।
टैग किया हुआ आउटपुट माँगना
Guided walkthrough1 of 3
- मॉडल को ठीक-ठीक बताएँ कि तर्क के लिए कौन-से टैग और अंतिम उत्तर के लिए कौन-से टैग इस्तेमाल करने हैं।
- आपका कोड तर्क को नज़रअंदाज़ करते हुए केवल <answer> की सामग्री पकड़ सकता है।
- जब आपको मशीन-पठनीय परिणाम चाहिए, तो यह structured output (/docs/api/structured-output) के साथ अच्छी तरह जुड़ता है।
टैग किया हुआ आउटपुट माँगें
Put your reasoning in <thinking> tags and your final answer in <answer> tags.
फिर आपका कोड सिर्फ़ <answer> की सामग्री पकड़ सकता है। जब आपको मशीन-पठनीय परिणाम चाहिए, तो यह structured output के साथ अच्छी तरह जुड़ता है।
सुझाव
- एक समान रहें — हर टैग को खोलें और बंद करें; वही नाम दोबारा इस्तेमाल करें।
- टैग को सार्थक नाम दें (<contract>, न कि <x>)।
- साधारण प्रॉम्प्ट पर ज़रूरत से ज़्यादा टैग न लगाएँ — इसका उपयोग तब करें जब वास्तव में कई अलग-अलग हिस्से हों।
- एक समान रहें — हर टैग को खोलें और बंद करें; वही नाम दोबारा इस्तेमाल करें।
- टैग को सार्थक नाम दें (
<contract>, न कि<x>)। - ज़रूरत से ज़्यादा टैग न लगाएँ साधारण प्रॉम्प्ट पर — इसका उपयोग तब करें जब वास्तव में कई अलग-अलग हिस्से हों।