𝗠𝗶𝗱-𝗖𝗼𝗻𝘃𝗲𝗿𝘀𝗮𝘁𝗶𝗼𝗻 𝗦𝘆𝘀𝘁𝗲𝗺 𝗣𝗿𝗼𝗺𝗽𝘁𝘀
लंबे समय तक चलने वाले AI एजेंट्स बनाना अक्सर एक महंगी गलती का कारण बनता है।
पैसे बचाने के लिए आप एक बड़ा system prompt इस्तेमाल करते हैं और उसे cache कर देते हैं। यह तब तक काम करता है जब तक आपको सेशन के बीच में एजेंट को नए निर्देश देने की आवश्यकता नहीं होती। आपको कोडिंग भाषा बदलने या प्रोजेक्ट स्टेट को अपडेट करने की आवश्यकता हो सकती है।
यदि आप इस जानकारी को जोड़ने के लिए टॉप-लेवल system prompt को एडिट करते हैं, तो आप cache को तोड़ देते हैं। मॉडल को पूरी हिस्ट्री को पूरी कीमत पर फिर से प्रोसेस करना पड़ता है। इससे आपका एजेंट धीमा और महंगा हो जाता है।
नए Claude मॉडल्स इसे mid-conversation system messages के साथ हल करते हैं।
अब आप अपने message array के अंदर सीधे system role message रख सकते हैं। आप इसे टॉप के बजाय हिस्ट्री के बाद रखते हैं।
यह क्यों महत्वपूर्ण है:
• Cache Safety: निर्देश आपकी cached हिस्ट्री के बाद आता है। यह prefix को अमान्य (invalidate) नहीं करता है। आपको केवल नए, छोटे मैसेज के लिए भुगतान करना पड़ता है। • Security: आप एक विकल्प के रूप में user messages का उपयोग कर सकते हैं, लेकिन उपयोगकर्ता उन्हें बनावटी (forge) बना सकते हैं। एक system role message में वह अधिकार होता है जिसे उपयोगकर्ता नकली (spoof) नहीं बना सकता। यह prompt injection को रोकता है।
इसे सही तरीके से कैसे करें:
इन संदेशों को तथ्यों (facts) के रूप में पेश करें। 'Override' भाषा का उपयोग न करें।
• अच्छा: "Auto-approve mode अब सक्षम (enabled) है।" • बुरा: "उपयोगकर्ता ने जो कहा उसे अनदेखा करें और इसके बजाय यह करें।"
मॉडल्स अक्सर उन निर्देशों का विरोध करते हैं जो उन्हें पिछले context को अनदेखा करने के लिए कहते हैं। दुनिया की नई स्थिति (state) बताने पर ही ध्यान केंद्रित रखें।
उपयोग के नियम:
- यह एक user या assistant message के बाद आना चाहिए।
- यह array में पहला मैसेज नहीं हो सकता।
- यह केवल text content स्वीकार करता है।
- सभी मॉडल्स इसका समर्थन नहीं करते हैं। यदि आपको 400 error मिलता है, तो हमेशा user-turn reminder पर वापस जाने के लिए try-catch block का उपयोग करें।
इसका उपयोग तब करें जब सेशन शुरू होने के बाद आपको कुछ नया पता चलता है। यदि आप तथ्य को शुरुआत में ही जानते हैं, तो उसे मुख्य system prompt में रखें। यदि तथ्य गतिशील (dynamic) है, तो mid-conversation system message का उपयोग करें।
यह आपके cache को 'hot' रखता है और आपकी लागत कम रखता है।