← नवीनतम पेपर
💻 computer science

Automated Test Suite Enhancement Using Large Language Models with Few-shot Prompting

यह शोध पत्र अनुभवजन्य रूप से प्रदर्शित करता है कि लार्ज लैंग्वेज मॉडल्स के साथ फ्यू-शॉट प्रॉम्प्टिंग, विशेष रूप से मानव-लिखित उदाहरणों और समस्या विवरण एवं कोड समानता के संयोजन पर आधारित रिट्रीवल रणनीतियों का उपयोग करने पर, पारंपरिक तरीकों की तुलना में स्वचालित यूनिट टेस्ट की गुणवत्ता, कवरेज और रखरखाव क्षमता में महत्वपूर्ण रूप से वृद्धि करता है।

मूल लेखक: Alex Chudic, Gül Çalıklı

प्रकाशित 2026-02-13
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Alex Chudic, Gül Çalıklı

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक विशाल, जटिल लेगो (Lego) किला बना रहे हैं। आपने टुकड़ों को आपस में जोड़ने में घंटों बिताए हैं, लेकिन आप चिंतित हैं: क्या होगा अगर मैं कोई महत्वपूर्ण ईंट भूल गया हूँ? क्या होगा अगर अगला फ्लोर जोड़ने पर टावर ढह गया?

सॉफ्टवेयर की दुनिया में, ये "ईंटें" कोड की लाइनें हैं, और "टेस्ट" वे सुरक्षा निरीक्षण (safety inspections) हैं जो आप यह सुनिश्चित करने के लिए चलाते हैं कि सब कुछ सही रहे। पारंपरिक रूप से, डेवलपर्स को इन सुरक्षा जांचों को खुद लिखना पड़ता है। यह उबाऊ, थकाऊ और बहुत समय लेने वाला काम है।

हाल ही में, हमने डेवलपर्स को एक सुपर-स्मार्ट रोबोट सहायक (जिसे लार्ज लैंग्वेज मॉडल या LLM कहा जाता है) दिया है जो उनके लिए ये सुरक्षा जांच लिख सकता है। लेकिन यह रोबोट थोड़ा अनिश्चित (wild card) है। कभी-कभी यह बेहतरीन जांच लिखता है; अन्य बार, यह कुछ ऐसा बकवास लिख देता है जिससे पूरा सिस्टम क्रैश हो जाता है।

यह शोध पत्र एक कुकिंग कॉम्पिटिशन (खाना पकाने की प्रतियोगिता) की तरह है जहाँ शोधकर्ता यह पता लगाने की कोशिश कर रहे हैं कि इस रोबट को बेहतर सुरक्षा जांच लिखने के लिए सिखाने का सबसे अच्छा तरीका क्या है। वे एक तकनीक का परीक्षण कर रहे हैं जिसे "फ्यू-शॉट प्रॉम्प्टिंग" (Few-Shot Prompting) कहा जाता है।

उपमा (Analogy): "सिर्फ बताओ मत, करके दिखाओ" का सबक

कल्पना कीजिए कि आप एक नए शेफ को आपकी प्रसिद्ध लाज़ानिया (lasagna) बनाना सिखा रहे हैं।

  • ज़ीरो-शॉट (पुराना तरीका): आप बस कहते हैं, "मेरे लिए एक लाज़ानिया बनाओ।" शेफ अंदाज़ा लगाता है। कभी-कभी यह शानदार होता है; कभी-कभी वे चीज़ (cheese) डालना भूल जाते हैं या नूडल्स जला देते हैं।
  • फ्यू-शॉट (नया तरीका): आप कहते हैं, "मेरे लिए एक लाज़ानिया बनाओ। यहाँ तीन उदाहरण दिए गए हैं जो मैंने पहले बनाए थे। देखो कि मैंने सॉस की परतें कैसे लगाईं, नूडल्स को कैसे काटा, और इसे कैसे बेक किया। अब, एक नया लाज़ानिया बनाओ।"

शोधकर्ता यह जानना चाहते थे कि: बेहतरीन परिणाम पाने के लिए हमें रोबोट को कौन से "उदाहरण" दिखाने चाहिए?

तीन प्रकार के "उदाहरण" (सामग्री/Ingredients)

टीम ने उन उदाहरणों के तीन अलग-अलग स्रोतों का परीक्षण किया जो उन्होंने रोबोट को दिखाए:

  1. मानवीय उदाहरण (Human Examples): ये एक मास्टर शेफ द्वारा बनाए गए लाज़ानिया की तरह हैं। ये स्वादिष्ट, समझने में आसान और नियमों का पूरी तरह पालन करने वाले होते हैं।
  2. SBST उदाहरण (खोज-आधारित/Search-Based): ये एक घबराए हुए रोबोट द्वारा बनाए गए लाज़ानिया की तरह हैं जो बस चीजों को आपस में मिला देता है ताकि देख सके कि क्या काम करता है। वे शायद पैन के हर कोने को कवर कर लें (उच्च कवरेज), लेकिन वे देखने में अस्त-व्यस्त, स्वाद में अजीब और समझने में कठिन हो सकते हैं।
  3. LLM उदाहरण: ये दूसरे रोबोट द्वारा बनाए गए लाज़ानिया हैं। ये ठीक-ठाक हैं, लेकिन इनमें कुछ अजीब खामियां हो सकती हैं।

प्रयोग: क्या हुआ?

शोधकर्ताओं ने इन अलग-अलग "उदाहरण लाज़ानिया" को मुख्य रोबोट (GPT-4, जो GitHub Copilot के पीछे का दिमाग है) को खिलाया और उसे कोड की कई पहेलियों के लिए नई सुरक्षा जांच लिखने को कहा।

यहाँ उनकी खोजें दी गई हैं:

1. "मास्टर शेफ" के उदाहरण जीते (ज्यादातर)
जब उन्होंने रोबोट को इंसानों द्वारा लिखे गए उदाहरण दिखाए, तो रोबोट ने सबसे अच्छे परिणाम दिए। नए टेस्ट सही थे, उन्होंने सभी आवश्यक हिस्सों को कवर किया, और इंसानों के लिए पढ़ने में आसान थे। यह साबित हुआ कि रोबोट सबसे अच्छा तब सीखता है जब वह बेहतरीन मानवीय व्यवहार की नकल करता है।

2. "घबराए हुए रोबोट" के उदाहरणों में एक सरप्राइज ट्विस्ट था
रोबोट द्वारा बनाए गए अस्त-व्यस्त (SBST) उदाहरण वास्तव में नई चीजों को टेस्ट करने के लिए बहुत अच्छे थे। यदि मानवीय टेस्ट पहले से ही परफेक्ट थे, तो रोबोट के उदाहरणों ने ज्यादा कुछ नहीं जोड़ा। लेकिन, यदि मानवीय टेस्ट में बहुत सी चीजें छूट गई थीं, तो "घबराए हुए रोबोट" के उदाहरणों ने मुख्य रोबोट को उन छूटे हुए हिस्सों को खोजने में मदद की। यह दीवार की छिपी हुई दरारों को खोजने के लिए एक अराजक रोबोट का उपयोग करने जैसा था जिसे एक व्यवस्थित इंसान ने मिस कर दिया था।

3. "सर्च" (खोज) उम्मीद से कहीं अधिक मायने रखती है
शोधकर्ताओं ने यह भी परीक्षण किया कि उन्होंने उदाहरण दिखाने के लिए कैसे चुनाव किया।

  • रैंडम चॉइस (Random Choice): टोपी में से उदाहरण चुनना। (बहुत अच्छा नहीं है)।
  • सिमिलैरिटी सर्च (Similarity Search): एक स्मार्ट सर्च इंजन का उपयोग करना जो उन उदाहरणों को ढूंढता है जो उस समस्या के बिल्कुल समान हैं जिसे रोबोट हल करने की कोशिश कर रहा है।
  • विजेता: सबसे अच्छे परिणाम एक मिश्रण से आए: ऐसे उदाहरण ढूंढना जो समस्या के विवरण (रेसिपी) और कोड संरचना (सामग्री) दोनों में समान हों। यह रोबोट को यह बताने जैसा है, "यहाँ एक लाज़ानिया रेसिपी है जो उस रेसिपी के बहुत करीब है जिसे तुम अभी बना रहे हो।"

4. रोबोट को थोड़ी मदद की जरूरत होती है ("रिपेयर" चरण)
सबसे अच्छे उदाहरणों के साथ भी, रोबोट गलतियाँ करता रहा। वह किसी लाइब्रेरी को इम्पोर्ट करना भूल जाता (जैसे दूध खरीदना भूल जाना) या टाइपो के साथ वाक्य लिख देता।
शोधकर्ताओं ने एक साधारण "स्पेल-चेकर" (नियमों का एक सेट) बनाया जिसने इन छोटी गलतियों को स्वचालित रूप से ठीक कर दिया। एक बार जब उन्होंने ऐसा किया, तो रोबोट की सफलता दर एक डगमगाते 20% से बढ़कर एक ठोस 80%+ हो गई।

मुख्य निष्कर्ष (The Big Takeaway)

यह शोध पत्र हमें बताता है कि AI एक शानदार प्रशिक्षु (apprentice) है, लेकिन इसे एक अच्छे शिक्षक की आवश्यकता है।

  • यदि आप चाहते हैं कि AI साफ और समझने योग्य कोड लिखे, तो उसे इंसानों द्वारा लिखे गए उदाहरण दिखाएं।
  • यदि आप एक अव्यवस्थित सिस्टम में छिपे हुए बग्स खोजना चाहते हैं, तो स्वचालित उपकरणों (automated tools) से मिले उदाहरण दिखाना मददगार हो सकता है।
  • सफलता का असली मंत्र सबसे प्रासंगिक उदाहरणों को प्राप्त करना (समस्या और कोड दोनों को मैच करना) और फिर AI की छोटी गलतियों को ठीक करने के लिए एक रिपेयर सिस्टम का होना है।

अंत में, सबसे अच्छा सॉफ्टवेयर इंसानों को रोबोट से बदलने से नहीं बनता। यह इंसानों और रोबोट के मिलकर काम करने से बनता है, जहाँ रोबोट टेस्ट लिखने का भारी काम करता है, और इंसान (या एक स्मार्ट फ़िल्टर) गुणवत्ता सुनिश्चित करता है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →