Are Coding Agents Generating Over-Mocked Tests? An Empirical Study
1.2 मिलियन से अधिक कमिट्स (commits) के इस अनुभवजन्य अध्ययन से पता चलता है कि कोडिंग एजेंट, गैर-एजेंटों की तुलना में टेस्ट जेनरेट करने और विशेष रूप से उन्हें अत्यधिक मॉक (over-mock) करने की काफी अधिक संभावना रखते हैं, जो टेस्ट की रखरखाव क्षमता (maintainability) और प्रभावशीलता के बारे में चिंताएँ पैदा करता है और बेहतर एजेंट कॉन्फ़िगरेशन मार्गदर्शन की आवश्यकता को रेखांकित करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपने घर बनाने में मदद करने के लिए सुपर-फास्ट, सुपर-स्मार्ट रोबोट सहायकों (जिन्हें "कोडिंग एजेंट्स" कहा जाता है) की एक टीम को काम पर रखा है। ये रोबोट केवल ईंटें नहीं रखते; वे निर्देश पुस्तिकाएं (instruction manuals) भी लिख सकते हैं, प्लंबिंग की जांच कर सकते हैं, और सुरक्षा निरीक्षण रिपोर्ट (जिसे सॉफ्टवेयर में "टेस्ट" कहा जाता है) भी लिख सकते हैं।
यह पेपर एक जासूसी रिपोर्ट की तरह है जो 2,168 अलग-अलग डिजिटल घरों के निर्माण स्थलों में गया यह देखने के लिए कि ये रोबोट वास्तव में अपना काम कैसे कर रहे हैं। विशेष रूप से, शोधकर्ता जानना चाहते थे कि: क्या ये रोबोट बहुत अधिक "नकली" सुरक्षा जांच लिख रहे हैं?
यहाँ जो उन्होंने पाया है, उसका विवरण दिया गया है, जिसे सरल उपमाओं (analogies) का उपयोग करके समझाया गया है:
1. "अति-सुरक्षात्मक" रोबोट
सॉफ्टवेयर टेस्टिंग में, एक "मॉक" (mock) एक फिल्म में डमी एक्टर की तरह होता है। यदि आप एक दृश्य फिल्मा रहे हैं जहाँ एक पात्र बैंक मैनेजर से बात कर रहा है, लेकिन आपके पास वास्तविक बैंक मैनेजर उपलब्ध नहीं है, तो आप एक ऐसे दोस्त का उपयोग कर सकते हैं जो सूट पहनकर केवल पहले से लिखे गए संवाद बोलता है। यह एक "मॉक" है। यह दृश्य को फिल्माना आसान बनाता है (टेस्ट लिखना तेज़ और आसान हो जाता है), लेकिन यह इस बात का प्रमाण नहीं देता कि वास्तविक बैंक मैनेजर वास्तव में वैसा ही व्यवहार करेगा।
अध्ययन में पाया गया कि रोबोट सहायक इन डमी एक्टर्स का उपयोग करने के प्रति जुनूनी हैं।
- आंकड़ा: जब मानव डेवलपर्स एक टेस्ट लिखते हैं, तो वे लगभग 26% समय एक "डमी एक्टर" का उपयोग करते हैं। जब रोबोट टेस्ट लिखते हैं, तो वे 36% समय डमी एक्टर का उपयोग करते हैं।
- उपमा: यह ऐसा है जैसे रोबोट वास्तविक दुनिया (वास्तविक डेटाबेस, वास्तविक इंटरनेट कनेक्शन) से इतने डरे हुए हैं कि वे वास्तविक लोगों के बजाय कार्डबोर्ड के कटआउट के साथ पूरा नाटक रिहर्सल करना पसंद करते हैं। वे ऐसा मनुष्यों की तुलना में अधिक बार करते हैं।
2. रोबोटों को सुरक्षा जांच लिखना पसंद है
शोधकर्ताओं ने यह भी जांचा कि रोबोट वास्तव में कितनी बार सुरक्षा निरीक्षण रिपोर्ट (टेस्ट) लिख रहे हैं।
- आंकड़ा: रोबोट द्वारा किए गए काम का लगभग 23% हिस्सा टेस्ट लिखने या बदलने में लगा था। मनुष्यों ने यह काम केवल 13% समय किया।
- उपमा: रोबोट केवल ईंटें नहीं रख रहे हैं; वे सक्रिय रूप से नियम पुस्तिकाएं लिख रहे हैं। वास्तव में, बिल्कुल नए निर्माण स्थलों (2025 में बनाए गए रिपॉजिटरी) में, रोबोट सभी सुरक्षा जांचों को लिखने के लिए 17% जिम्मेदार हैं, और यह संख्या तेजी से बढ़ रही है।
3. एक ही आकार के सभी टूल्स (One-Size-Fits-All Tools)
पेपर ने यह भी देखा कि रोबोट किस प्रकार के डमी एक्टर्स का उपयोग कर रहे हैं। "टेस्ट डबल्स" (नकली ऑब्जेक्ट्स) के विभिन्न प्रकार होते हैं: कुछ बस वहां बैठे रहते हैं (dummies), कुछ असली होने का नाटक करते हैं (stubs), और कुछ देखते हैं कि क्या हो रहा है (spies)।
- निष्कर्ष: मनुष्य विभिन्न प्रकार के टूल्स का उपयोग करते हैं। वे यहाँ एक "स्पाय" और वहाँ एक "फेक" का उपयोग कर सकते हैं।
- रोबोट की आदत: रोबोट विविधता के मामले में आलसी हैं। वे 95% समय "मॉक" टूल का उपयोग करते हैं।
- उपमा: एक टूलबॉक्स की कल्पना करें। मनुष्यों के पास हथौड़ा, पेचकश, रिंच और आरी है। रोबोट एक विशाल हथौड़ा लेकर आते हैं और हर चीज़ के लिए उसी का उपयोग करने की कोशिश करते हैं, भले ही उन्हें पेचकश की आवश्यकता हो। वे लगभग विशेष रूप से एक ही विशिष्ट प्रकार के नकली ऑब्जेक्ट पर निर्भर रहते हैं।
4. "बहुत अधिक नकली" होने का खतरा
यह क्यों मायने रखता है? पेपर चेतावनी देता है कि हालांकि बहुत अधिक "डमी एक्टर्स" का उपयोग करना रोबोटों के लिए टेस्ट लिखना आसान बनाता है, लेकिन यह टेस्ट को कम उपयोगी बना सकता है।
- जोखिम: यदि आप केवल कार्डबोर्ड के कटआउट के साथ अपने घर का परीक्षण करते हैं, तो आपको लग सकता है कि प्लंबिंग एकदम सही है। लेकिन जब आप वास्तविक पानी चालू करेंगे, तो पाइप फट सकते हैं क्योंकि कार्डबोर्ड वास्तविक धातु की तरह प्रतिक्रिया नहीं दे सका।
- निष्कर्ष: रोबोट ऐसे टेस्ट बना रहे हैं जो बनाने में आसान हैं लेकिन वास्तविक समस्याओं को पकड़ने में विफल हो सकते हैं क्योंकि वे वास्तविकता से बहुत अलग-थलग हैं।
हमें क्या करना चाहिए?
लेखकों का सुझाव है कि चूंकि ये रोबोट "नकली" एक्टर्स का उपयोग करने के लिए बहुत उत्सुक हैं, इसलिए हमें उन्हें बेहतर निर्देश देने की आवश्यकता है।
- समाधान: ठीक वैसे ही जैसे आप एक मानव प्रशिक्षु (apprentice) को कहेंगे, "मुख्य वाटर लाइन के लिए नकली पाइप का उपयोग न करें," हमें रोबोटों की निर्देश पुस्तिकाओं (कॉन्फ़िगरेशन फाइलों) में विशिष्ट नियम लिखने की आवश्यकता है। हमें उन्हें बताना होगा: "जहाँ भी संभव हो वास्तविक वस्तुओं का उपयोग करें, और नकली का उपयोग केवल तभी करें जब अत्यंत आवश्यक हो।"
संक्षेप में: रोबोट कड़ी मेहनत कर रहे हैं और बहुत सारे सुरक्षा टेस्ट लिख रहे हैं, लेकिन वे वास्तविकता के "नकली" संस्करणों का उपयोग करने के लिए थोड़े अधिक उत्सुक हैं, जो उनके सुरक्षा जांचों को कम विश्वसनीय बना सकता है। हमें उन्हें वास्तविक दुनिया के परिदृश्यों को अधिक शामिल करना सिखाने की आवश्यकता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।