PromptPex: Automatic Test Generation for Language Model Prompts
यह शोध पत्र PromptPex को प्रस्तुत करता है, जो एक LLM-आधारित टूल है जो प्रॉम्प्ट से विशिष्टताओं (specifications) को स्वचालित रूप से निकालता है ताकि विविध यूनिट टेस्ट उत्पन्न और मूल्यांकित किए जा सकें, जिससे मौजूदा बेसलाइन विधियों की तुलना में रिग्रेशन और मॉडल-विशिष्ट कमजोरियों को अधिक सटीकता से पहचाना जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपने एक रोबोट शेफ के लिए निर्देशों का एक बहुत ही विशिष्ट सेट लिखा है। आप रोबोट को बताते हैं: "इस वाक्य को लो, इसमें 'apple' शब्द को ढूँढो, और मुझे बताओ कि यह संज्ञा (noun) है या क्रिया (verb)। लेकिन यहाँ एक पेंच है, केवल मुझे 'noun' या 'verb' शब्द ही देना। कोई अतिरिक्त बातचीत नहीं जोड़नी है, जैसे 'यहाँ उत्तर है,' और न ही कोई स्पष्टीकरण देना है।"
सॉफ्टवेयर की दुनिया में, इस निर्देश को एक प्रॉम्ट (prompt) कहा जाता है। कोड की तरह ही, प्रॉम्ट्स का उपयोग एप्लिकेशन बनाने के लिए किया जाता है। लेकिन पारंपरिक कोड के विपरीत, जो हर बार एक विशिष्ट कंप्यूटर पर एक ही तरह से चलता है, प्रॉम्ट्स "लार्ज लैंग्वेज मॉडल्स" (LLMs) द्वारा चलाए जाते हैं—इन्हें अलग-अलग व्यक्तित्व वाले अलग-अलग शेफ के रूप में समझें। एक शेफ (मॉडल A) आपके निर्देशों का पूरी तरह पालन कर सकता है। दूसरा शेफ (मॉडल B) भ्रमित हो सकता है और कह सकता है, "उत्तर है: संज्ञा, क्योंकि सेब फल होते हैं।"
यह अंतर डेवलपर्स के लिए सिरदर्द पैदा करता है। यदि वे शेफ बदलते हैं (मॉडल बदलते हैं) या अपने निर्देशों में थोड़ा सा बदलाव करते हैं, तो रोबोट गलत फॉर्मेट में आउटपुट देना शुरू कर सकता है, जिससे पूरा एप्लिकेशन टूट सकता है।
प्रॉम्टपेक्स (PromptPex): द "प्रॉम्ट इंस्पेक्टर"
यह पेपर एक टूल पेश करता है जिसे PromptPex कहा जाता है। PromptPex को एक सुपर-स्मार्ट, स्वचालित गुणवत्ता नियंत्रण निरीक्षक के रूप में समझें जो नया शेफ काम पर रखने से पहले आपके निर्देशों का परीक्षण करने में आपकी मदद करता है।
यह कैसे काम करता है, इसके लिए एक सरल उपमा का उपयोग करते हैं:
1. "नियम पुस्तिका" (Rulebook) का निष्कर्षण
सबसे पहले, PromptPex आपके बिखरे हुए, प्राकृतिक भाषा के निर्देशों को पढ़ता है और उन्हें एक सख्त, बुलेट-पॉइंट नियम पुस्तिका (Rulebook) में अनुवादित करता है।
- आपका प्रॉम्ट: "केवल टैग लौटाएं। यदि आप ऐसा नहीं कर सकते, तो 'Unknown' कहें।"
- PromptPex की नियम पुस्तिका:
- आउटपुट केवल टैग होना चाहिए (कोई अतिरिक्त शब्द नहीं)।
- यदि शब्द टैग करने योग्य नहीं है, तो आउटपुट शब्द "Unknown" होना चाहिए।
यह एक बहुत ही उन्नत AI से पूछकर ऐसा करता है कि आपके प्रॉम्ट को देखे और कहे, "ठीक है, यहाँ कठोर नियम क्या हैं?" यह डेवलपर्स को यह देखने में मदद करता है कि क्या उनके निर्देश वास्तव में स्पष्ट हैं या वे अस्पष्ट (जैसे कि ऊपर बताए गए "संज्ञा बनाम स्पष्टीकरण" वाला भ्रम) हैं।
2. "स्ट्रेस टेस्ट" जनरेटर
एक बार जब इसके पास नियम पुस्तिका आ जाती है, तो PromptPex एक शरारती टेस्ट इंजीनियर बन जाता है। यह केवल रोबोट शेफ को सामान्य भोजन बनाने के लिए नहीं कहता; यह शेफ को नियमों को तोड़ने के लिए उकसाने की कोशिश करता है।
- "सामान्य" टेस्ट: यह एक मानक वाक्य के लिए कहता है।
- "इनवर्स" (विपरीत) टेस्ट: यह सबसे चतुर हिस्सा है। PromptPex अपने दिमाग में एक "विपरीत नियम" बनाता है। यदि नियम है "केवल टैग दें," तो विपरीत नियम है "टैग के साथ एक लंबा स्पष्टीकरण दें।" फिर यह एक ऐसा टेस्ट केस बनाता है जो यह देखने के लिए डिज़ाइन किया गया है कि क्या शेफ गलती से गलत नियम का पालन करने लगता है।
यह सैकड़ों ऐसे ट्रिकी परिदृश्य बनाता है, यह सुनिश्चित करते हुए कि टेस्ट इनपुट अभी भी वैध (जैसे कि एक वास्तविक वाक्य) हों, लेकिन उन्हें कमजोरियों को उजागर करने के लिए डिज़ाइन किया गया हो।
3. "जज" (न्यायाधीश)
अंत में, PromptPex इन परीक्षणों को विभिन्न AI मॉडल्स (अलग-अलग शेफ) पर चलाता है। फिर यह परिणामों को देखने के लिए एक अन्य AI का उपयोग "जज" के रूप में करता है।
- क्या शेफ ने नियम पुस्तिका का पालन किया?
- क्या इसने अतिरिक्त बातचीत जोड़ी?
- क्या यह "Unknown" कहने में विफल रहा जहाँ इसे कहना चाहिए था?
लक्ष्य यह देखना नहीं है कि शेफ कितना "स्मार्ट" है; लक्ष्य यह देखना है कि क्या शेफ ने नियमों का पालन किया। यदि शेफ टेस्ट में विफल रहता है, तो PromptPex इसे फ्लैग (चिह्नित) कर देता है।
यह एक बड़ी बात क्यों है?
पेपर ने इस टूल का परीक्षण चार अलग-अलग AI मॉडल्स पर 22 अलग-अलग प्रॉम्ट्स के साथ किया। उन्होंने PromptPex की तुलना एक मानक AI से की जो बिना सख्त नियम पुस्तिका के केवल अच्छे टेस्ट का अनुमान लगाने की कोशिश करता है।
परिणाम:
- PromptPex गलतियाँ खोजने में बेहतर था। इसने ऐसे टेस्ट जेनरेट किए जिनके कारण AI मॉडल्स ने मानक टूल की तुलना में बहुत अधिक बार अपने नियमों को तोड़ा।
- यह मॉडल के अंतर को प्रकट करता है। इसने स्पष्ट रूप से दिखाया कि कुछ मॉडल्स सख्त निर्देशों का पालन करने में दूसरों की तुलना में बेहतर हैं। उदाहरण के लिए, एक मॉडल "पार्ट ऑफ स्पीच" कार्य में बहुत अच्छा हो सकता है, जबकि दूसरा इसमें लगातार विफल हो सकता है।
- यह डेवलपर्स को उनके प्रॉम्ट ठीक करने में मदद करता है। यह ठीक-ठीक दिखाते हुए कि उनके निर्देश कहाँ अस्पष्ट थे (जैसे, "मॉडल को लगा कि स्पष्टीकरण जोड़ना ठीक है क्योंकि आपने इसे स्पष्ट रूप से वर्जित नहीं किया था"), यह डेवलपर्स को अपने प्रॉम्ट को अधिक स्पष्ट रूप से फिर से लिखने में मदद करता है।
निष्कर्ष
PromptPex एक लॉजिक के स्पेल-चेकर की तरह है। यह केवल टाइपो (वर्तनी की गलती) की जाँच नहीं करता है; यह जाँचता है कि क्या आपके निर्देश इतने स्पष्ट हैं कि उन्हें विभिन्न, अप्रत्याशित AI दिमागों द्वारा पालन किया जा सके। यह डेवलपर्स को यह सुनिश्चित करने में मदद करता है कि जब वे एक AI मॉडल से दूसरे मॉडल पर स्विच करते हैं, तो उनका एप्लिकेशन अचानक कचरा आउटपुट देना शुरू न कर दे क्योंकि नए मॉडल ने एक अस्पष्ट निर्देश की अलग व्याख्या की हो।
लेखकों ने पाया कि अस्पष्ट निर्देशों को एक सख्त "नियम पुस्तिका" में बदलकर और फिर उन नियमों का स्ट्रेस-टेस्ट करके, वे अनुमान लगाने की तुलना में अधिक बग पकड़ सकते हैं और अपने AI टूल्स को बहुत बेहतर तरीके से समझ सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।