लाभ:
- डिज़ाइन कर सकते हैं कि सिस्टम प्रॉम्प्ट संपूर्ण वार्तालाप के दौरान मॉडल का मार्गदर्शन कैसे करता है
- अनुकूली सोच और प्रयास मापदंडों की भूमिका और लागत प्रभाव को समझता है
- max_tokens, स्टॉप सीक्वेंस और संरचित आउटपुट जैसे आउटपुट नियंत्रण लागू करता है
एक ही मॉडल के दो अलग-अलग उत्पाद पूरी तरह से अलग-अलग व्यवहार कर सकते हैं। अंतर स्वयं मॉडल में नहीं है, बल्कि सिस्टम प्रॉम्प्ट और उसे दिए गए मापदंडों में है। सिस्टम प्रॉम्प्ट मॉडल का "कार्य अनुबंध" है और पैरामीटर "कार्य सेटिंग्स" हैं। इस इकाई में, आप सीखेंगे कि एक शक्तिशाली सिस्टम प्रॉम्प्ट को कैसे डिज़ाइन किया जाए, आधुनिक मॉडलों में सोच और प्रयास सेटिंग्स क्या करती हैं, और प्रारूप/लंबाई के लिए आउटपुट को कैसे नियंत्रित किया जाए। इन सेटिंग्स को सही ढंग से सेट करने से आप एक ही समय में गुणवत्ता और लागत दोनों का प्रबंधन कर सकते हैं।
सिस्टम प्रॉम्प्ट: मॉडल का स्थायी निर्देश
सिस्टम प्रॉम्प्ट एक उच्च-स्तरीय निर्देश है जो संपूर्ण वार्तालाप पर लागू होता है। ये नियम मान्य रहते हैं, चाहे उपयोगकर्ता कुछ भी टाइप करे। एक अच्छे सिस्टम प्रॉम्प्ट में निम्नलिखित घटक शामिल होते हैं:
- भूमिका/पहचान: मॉडल कौन है? ("आप एक कॉर्पोरेट सहायता सहायक हैं।")
- दायरा और सीमा: यह क्या करता है और क्या नहीं करता है? ("केवल प्रदान किए गए पॉलिसी दस्तावेज़ के आधार पर।")
- प्रारूप नियम: आउटपुट कैसा दिखना चाहिए? ("अधिकतम 3 लेख, राजभाषा।")
- अनिश्चितता में व्यवहार: अनिश्चित होने पर कोई क्या करता है? ("यदि कोई जानकारी नहीं है, तो इसे बनाएं, इसे संबंधित इकाई को निर्देशित करें।")
- सुरक्षा/गोपनीयता: क्या नहीं चाहता/क्या नहीं चाहता? ("व्यक्तिगत डेटा का अनुरोध करें।")
युक्ति: सिस्टम प्रॉम्प्ट को ठीक रखें। ऐसी जानकारी एम्बेड न करें जो प्रत्येक अनुरोध (वर्तमान तिथि, उपयोगकर्ता नाम, सत्र आईडी) के साथ बदलती है। यह दोनों स्थिरता को तोड़ता है और यूनिट 6 पर प्रॉम्प्ट कैश को अमान्य कर देता है। उपयोगकर्ता संदेश में परिवर्तनीय जानकारी डालें।
अत्यधिक आक्रामक अनुदेश जाल
आधुनिक मॉडल निर्देशों का बहुत बारीकी से पालन करते हैं। आक्रामक वाक्यांश जैसे "जरूरी", "हमेशा", "निश्चित रूप से यह करें", आदि, जो पुराने मॉडलों में काम करते थे, आज ओवरट्रिगरिंग का कारण बनते हैं: मॉडल किसी एजेंट को तब बुलाता है जब इसकी आवश्यकता नहीं होती है या अनावश्यक रूप से लंबे समय तक चलता है। नियम को नरम करें: "खोज उपकरण का उपयोग अवश्य करें" के बजाय, "यदि बातचीत में उत्तर नहीं है, तो खोज उपकरण का उपयोग करें" अधिक सटीक है।
मॉडल पैरामीटर: विचार और प्रयास
शास्त्रीय एलएलएम में एक तापमान पैरामीटर होता था: कम मूल्य अधिक विशिष्ट/सुसंगत आउटपुट उत्पन्न करता था, उच्च मूल्य अधिक विविध/रचनात्मक आउटपुट उत्पन्न करता था। आधुनिक पीढ़ी के मॉडल (जैसे ओपस 4.8, सॉनेट 5) इस दृष्टिकोण को दो और अधिक शक्तिशाली तंत्रों के साथ प्रतिस्थापित करते हैं और अब तापमान जैसे नमूना मापदंडों को स्वीकार नहीं करते हैं।
- अनुकूली सोच: मॉडल प्रतिक्रिया देने से पहले अपने "सिर" में चरण दर चरण तर्क करता है। कार्य की कठिनाई के आधार पर मॉडल तय करता है कि कितना सोचना है। जटिल, बहु-चरणीय समस्याओं पर सटीकता में उल्लेखनीय सुधार होता है; वह सरल प्रश्नों पर अनावश्यक देरी से बचने के लिए कम सोचते हैं।
- प्रयास: उच्च-स्तरीय नॉब जो यह समायोजित करता है कि मॉडल किसी कार्य में कितनी गहराई तक जाता है और कुल कितने टोकन खर्च करता है। विशिष्ट स्तर: निम्न, मध्यम, उच्च और ऊपर। उच्च प्रयास से गुणवत्ता में सुधार हो सकता है, लेकिन इससे देरी और लागत भी बढ़ जाती है; कम प्रयास से गति और बचत होती है।
सेटिंग
क्या करता है
कब
कम सोचना/कम प्रयास करना
तेज़, सस्ता, सतही
सरल वर्गीकरण, संक्षिप्त प्रतिक्रिया, विलंबित संवेदनशील कार्य
अनुकूली सोच + मध्यम प्रयास
संतुलित गुणवत्ता/लागत
अधिकांश सामान्य प्रयोजन कार्य
अनुकूली सोच + उच्च प्रयास
उच्चतम सटीकता
जटिल तर्क, कोडिंग, लंबी दूरी का एजेंट कार्य
सावधानी: "अधिकतम प्रयास चाहे कुछ भी हो" प्रतिवर्त लागत को बढ़ा देता है। कार्य के अनुसार प्रयास को समायोजित करें; सरल कार्यों में, कम प्रयास अक्सर बहुत सस्ती कीमत पर वही सटीक परिणाम देता है। जहां गंभीर सटीकता की आवश्यकता हो वहां ऊपर जाएं।
आउटपुट नियंत्रण: प्रारूप, लंबाई, संरचना
मापदंडों के अलावा, आप आउटपुट को भी नियंत्रित करते हैं:
- max_tokens: आउटपुट की कठोर छत (पहली और तीसरी इकाई)।
- अनुक्रम रोकें: जब मॉडल एक निश्चित स्ट्रिंग देखता है तो उसे रोक देता है। संरचित उत्पादन में ब्रेकप्वाइंट सेट करने के लिए उपयोगी।
- संरचित आउटपुट: मॉडल की प्रतिक्रिया को आपके द्वारा प्रदान की गई JSON स्कीम के अनुरूप होने के लिए बाध्य करें। यह सुनिश्चित करता है कि आउटपुट प्रोग्रामेटिक रूप से पार्स करने योग्य और वैध है। यह संकेत के साथ "बस JSON लौटाएं" कहने से अधिक विश्वसनीय है।
{ "आउटपुट_कॉन्फिग": { "प्रारूप": { "प्रकार": "जेसन_स्कीमा", "स्कीमा": { "प्रकार": "ऑब्जेक्ट", "अतिरिक्त गुण": गलत, "गुण": { "श्रेणी": { "प्रकार": "स्ट्रिंग", "एनम": ["चालान", "तकनीकी", "वापसी", "अन्य"] }, "तत्कालता": { "प्रकार": "स्ट्रिंग", "एनम": ["निम्न", "मध्यम", "उच्च"] } }, "आवश्यक": ["श्रेणी", "तत्कालता"] } } }}
कॉपी करने योग्य सिस्टम प्रॉम्प्ट टेम्पलेट्स
# कॉर्पोरेट सहायता सहायकआप एक कॉर्पोरेट सहायता सहायक हैं। - प्रदान किए गए पॉलिसी दस्तावेज़ पर पूरी तरह भरोसा करें; यदि यह दस्तावेज़ में नहीं है, तो कहें "मुझे यह जानकारी नहीं है।" - अधिकतम 3 वाक्यों में औपचारिक और स्पष्ट उत्तर दें। - व्यक्तिगत डेटा (टीसी आईडी नंबर, कार्ड नंबर) मांगें और इसे अपने उत्तर में न दोहराएं। - यदि आप आश्वस्त नहीं हैं तो अनुमान न लगाएं।
# स्ट्रक्चर्ड आउटपुट फोर्सिंग क्लासिफायर आप एक डिमांड क्लासिफायर हैं। इनपुट एक ग्राहक संदेश है. केवल अनुरोधित फ़ील्ड लौटाएँ, टिप्पणियाँ न लिखें। यदि आप निश्चित नहीं हैं, तो "अन्य" का प्रयोग करें।
# अनिश्चितता में खड़े रहने के परिभाषित व्यवहार वाले विश्लेषक आप एक डेटा विश्लेषक हैं। प्रदान की गई तालिका से केवल सत्यापन योग्य निष्कर्ष निकालें। कभी भी ऐसा निष्कर्ष न निकालें जो डेटा में मौजूद न हो। यदि कोई अनुमान अस्पष्ट है, तो "डेटा अपर्याप्त" लिखें।
# टोन और लेंथ कंट्रोल के साथ कंटेंट राइटर आप एक कंटेंट राइटर हैं। गर्म लेकिन पेशेवर लहजे का प्रयोग करें। प्रत्येक पाठ को 120 शब्दों या उससे कम तक सीमित रखें। घिसी-पिटी मार्केटिंग भाषा से बचें.
कमजोर संकेत/मजबूत संकेत
#WEAKमददगार बनें और अच्छे उत्तर दें। अपनी पूरी कोशिश करो।
# मजबूत भूमिका: तकनीकी सहायता विशेषज्ञ। दायरा: केवल उत्पाद गाइड प्रदान किया गया। प्रारूप: चरण-दर-चरण, क्रमांकित सूची, अधिकतम 5 चरण। सीमा: समाधान की अनुशंसा गाइड में नहीं है; कहें "मुझे यह मैनुअल में नहीं मिला।" गोपनीयता: प्रतिक्रिया में उपयोगकर्ता द्वारा साझा किए गए क्रमांक को न दोहराएं।
शक्तिशाली संस्करण; यह भूमिका, कार्यक्षेत्र, प्रारूप, सीमाएँ और गोपनीयता को अलग-अलग निर्धारित करता है। आउटपुट स्थिरता सीधे इस स्पष्टता से आती है।
तीन मिनी मामले
केस 1 - प्रयास समायोजन के माध्यम से लागत में कमी। एक टीम अपने सभी कॉल उच्च प्रयास + सोच पर चला रही थी; यहां तक कि साधारण ईमेल डाइजेस्ट भी महंगे थे और उत्पादन में धीमे थे। उन्होंने कम प्रयास के लिए सारांश और उच्च प्रयास के लिए अनुबंध विश्लेषण जैसे सरल कार्य सौंपे। सटीकता बनाए रखी गई, औसत विलंबता आधी कर दी गई, और मासिक लागत एक तिहाई कम कर दी गई।
केस 2 - JSON गारंटी। एक ऑपरेशन टीम ने "बस JSON दें" कहकर वर्गीकरण आउटपुट मांगा, लेकिन मॉडल कभी-कभी "यहां परिणाम है:" लिखता था और पार्सर क्रैश हो जाता था। जब मैंने कॉन्फ़िगर आउटपुट स्कीमा कनेक्ट किया, तो आउटपुट ने हर बार वैध JSON लौटाया; पार्सिंग त्रुटियाँ रीसेट कर दी गई हैं।
केस 3 - आक्रामक शीघ्र वापसी। एक सहायक संकेत ने कहा, "प्रत्येक प्रश्न को अवश्य खोजें"; मॉडल ने उन सरल प्रश्नों के लिए भी अनावश्यक खोज की, जिनका उत्तर उसे पहले से ही पता था, जिससे लागत धीमी हो गई और लागत बढ़ गई। उन्होंने नियम में ढील देते हुए कहा कि "यदि उत्तर संदर्भ में नहीं है, तो खोजें"; अनावश्यक कॉलों में 70% की कमी आई और प्रतिक्रियाओं में तेजी आई।
सामान्य गलतियाँ
- सिस्टम प्रॉम्प्ट में वेरिएबल डेटा एम्बेड करना: स्थिरता को तोड़ता है और कैश को अमान्य कर देता है।
- अत्यधिक आक्रामक निर्देश: आधुनिक मॉडलों में अत्यधिक ट्रिगरिंग और अनावश्यक लागत।
- हर कार्य में अधिक मेहनत : साधारण कार्यों में बर्बादी; कार्य के अनुसार प्रयास को समायोजित करें।
- केवल प्रॉम्प्ट के माध्यम से JSON का अनुरोध करना: यह कभी-कभी टूट जाता है; यदि महत्वपूर्ण हो, तो संरचित आउटपुट का उपयोग करें।
- सीमा/अस्पष्टता व्यवहार को परिभाषित नहीं करना: मॉडल इस अंतर को मनगढ़ंत (मतिभ्रम) से भरता है।
- पुरानी `तापमान` आदत: आधुनिक मॉडल इसे स्वीकार नहीं करते हैं; व्यवहार को तत्परता और प्रयास से निर्देशित करें।
गहरा: प्रॉम्प्ट को एक अनुबंध की तरह लिखना
अनुभवी टीमें सिस्टम प्रॉम्प्ट को एक अनुबंध की तरह मानती हैं, साहित्यिक पाठ की तरह नहीं: स्पष्ट धाराएँ, मापने योग्य नियम, स्पष्ट सीमाएँ। इस दृष्टिकोण के तीन ठोस लाभ हैं। पहली स्थिरता है: एक ही इनपुट अलग-अलग समय पर समान आउटपुट देता है। दूसरा परीक्षण योग्यता है: आप प्रत्येक आइटम का एक नमूने के साथ अलग से परीक्षण कर सकते हैं। तीसरा है रखरखाव में आसानी: यदि कोई व्यवहार गलत है, तो आप जानते हैं कि किस वस्तु को बदलना है।
सकारात्मक उदाहरणों के साथ नेतृत्व करना एक अच्छा अभ्यास है। "ऐसा न करें" की एक सूची प्रदान करने के बजाय, आधुनिक मॉडलों में एक उदाहरण प्रदान करना अधिक प्रभावी है जो कहता है कि "यह वही है जो वांछित आउटपुट जैसा दिखता है"। उदाहरण के लिए, एक क्लासिफायरियर में, प्रॉम्प्ट में अपेक्षित JSON के एक या दो नमूने जोड़ने से फ़ॉर्मेटिंग त्रुटियाँ काफी कम हो जाती हैं।
एक अन्य शक्तिशाली तकनीक अनिश्चितता व्यवहार को स्पष्ट रूप से लिखना है। एक खंड जैसे "यदि अनिश्चित है, तो अनुमान न लगाएं; 'अपर्याप्त डेटा' कहें" मॉडल की रिक्त स्थान को मनगढ़ंत (मतिभ्रम) से भरने की प्रवृत्ति को दबा देता है। यह एकल वाक्य सत्यापन परत को हटा देता है, जिसे हम इकाई 11 में कवर करेंगे: एक बार जब मॉडल ने पहले ही अनिश्चितता को चिह्नित कर लिया है, तो मानव सत्यापन की ओर ले जाना आसान हो जाता है।
अंत में, प्रयास और संकेत पर एक साथ विचार करें। उच्च प्रयास पर, मॉडल अधिक खोज करता है और कभी-कभी अवांछित "अतिरिक्त कार्य" (अनावश्यक स्पष्टीकरण, अतिरिक्त सुझाव) करता है। प्रॉम्प्ट में "केवल वांछित आउटपुट दें, अतिरिक्त टिप्पणियाँ न जोड़ें" कहने से उच्च प्रयास के इस दुष्प्रभाव की भरपाई हो जाती है।
सारांश
सिस्टम प्रॉम्प्ट मॉडल का स्थायी निर्देश है: यह भूमिका, दायरा, प्रारूप, अस्पष्टता व्यवहार और गोपनीयता को परिभाषित करता है। आधुनिक मॉडलों में, व्यवहार तापमान के बजाय अनुकूली सोच और प्रयास मापदंडों द्वारा संचालित होता है; कार्य के साथ प्रयास को संरेखित करने से गुणवत्ता और लागत का एक साथ प्रबंधन होता है। आप आउटपुट को max_tokens, स्टॉप ऐरे और संरचित आउटपुट के साथ सुरक्षित करते हैं।
आवेदन कार्य
कोई कार्य चुनें. (1) पांच घटकों (भूमिका, दायरा, प्रारूप, अस्पष्टता, गोपनीयता) के साथ एक सिस्टम प्रॉम्प्ट लिखें। (2) बताएं कि आप इस कार्य के लिए किस स्तर का प्रयास चुनेंगे और क्यों। (3) यदि आउटपुट को संरचित किया जाना चाहिए, तो एक छोटा JSON स्कीमा बनाएं। (4) जांचें कि क्या आपके प्रॉम्प्ट में अत्यधिक आक्रामक पैटर्न है और इसे नरम करें।
चेकलिस्ट
- [ ] मैं एक अच्छे सिस्टम प्रॉम्प्ट के पाँच घटकों का नाम बता सकता हूँ।
- [ ] मैं समझा सकता हूं कि अनुकूली सोच और प्रयास पैरामीटर क्या करते हैं।
- [ ] मैं कार्य के अनुसार प्रयास को समायोजित करके गुणवत्ता/लागत को संतुलित कर सकता हूं।
- [ ] मुझे पता है कि प्रॉम्प्ट के माध्यम से JSON का अनुरोध करने की तुलना में संरचित आउटपुट अधिक सुरक्षित क्यों है।
- [ ] मैं अत्यधिक आक्रामक निर्देशों के आधुनिक मॉडलों में जोखिम को पहचान सकता हूं।