From Discussion to Execution: Replicating Buggy and Correct Data Science Code
यह शोध पत्र Reprodgen को प्रस्तुत करता है, जो एक LLM-आधारित फ्रेमवर्क है जो संरचित इरादा निरूपण (structured intent representations) और समीक्षक फीडबैक के माध्यम से कोड को पुनरावृत्त रूप से परिष्कृत करके, असंरचित Q&A फोरम चर्चाओं से निष्पादन योग्य बग वाले और पैच किए गए डेटा साइंस कोड युग्मों को स्वचालित रूप से पुनर्निर्मित करता है, जिसे अंततः सात प्रमुख डेटा साइंस लाइब्रेरीज़ के एक नए बेंचमार्क पर मान्य किया गया है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक रहस्य सुलझाने की कोशिश कर रहे हैं, लेकिन आपके पास सुराग के रूप में केवल एक नैपकिन पर लिखे कुछ बिखरे हुए नोट्स और एक दोस्त द्वारा सुनाई गई एक अस्पष्ट कहानी है। आप जानते हैं कि किसी ने गलती की है, और आप यह भी जानते हैं कि उन्होंने अंततः इसे ठीक कर दिया, लेकिन आपके पास मूल खराब मशीन, उपयोग किए गए विशिष्ट उपकरण, या यहाँ तक कि एक प्रतिलिपि बनाने के लिए सही सामग्री भी नहीं है। यह आधुनिक डेटा साइंस का दैनिक संघर्ष है। वैज्ञानिक और प्रोग्रामर अक्सर स्टैक ओवरफ्लो (Stack Overflow) जैसे सार्वजनिक मंचों पर अपनी समस्याओं और समाधानों को साझा करते हैं, लेकिन ये चर्चाएँ अव्यवस्थित होती हैं। वे "क्या होगा अगर" और छूटे हुए विवरणों से भरी होती हैं, जिससे किसी कंप्यूटर के लिए ठीक उसी टूटे हुए कोड और उसके सटीक सुधार को स्वचालित रूप से फिर से बनाना लगभग असंभव हो जाता है। यह एक केक बनाने की रेसिपी का उपयोग करने जैसा है जो कहती है "थोड़ा आटा डालें" बिना यह बताए कि कितना डालना है, या किस तरह के ओवन का उपयोग करना है।
समाधान को समझने के लिए, हमें पहले यह जानना होगा कि इस दुनिया में "बग" (bug) क्या है। एक डेटा साइंस प्रोग्राम को डिजिटल व्यंजन के लिए एक जटिल रेसिपी की तरह समझें। बग निर्देशों में एक छोटी सी गलती है—शायद आप ओवन को प्रीहीट करना भूल गए, या आपने चीनी और नमक को आपस में बदल दिया। जब ऐसा होता है, तो व्यंजन गलत बनता है। आमतौर पर, एक इंसान को उस गलती को चखना पड़ता है, यह पता लगाना पड़ता है कि क्या गलत हुआ, और रेसिपी को फिर से लिखना पड़ता है। लेकिन क्या होगा यदि हम एक सुपर-स्मार्ट रोबोट को उन बिखरे हुए नोट्स को देखने, गायब सामग्री का अनुमान लगाने, जानबूझकर टूटे हुए व्यंजन को बनाने और फिर हमें ठीक से दिखाने के लिए सिखा सकें कि इसे कैसे ठीक किया जाए? यही वह बड़ा सवाल है जिसे यह शोध पत्र (paper) हल करता है: क्या हम एक ऐसा सिस्टम बना सकते हैं जो कोडिंग त्रुटियों के बारे में अस्पष्ट, अनौपचारिक कहानियों को वास्तविक, काम करने वाले कोड में बदल सके जिसे हम वास्तव में चला और टेस्ट कर सकें?
यहाँ Reprodgen आता है, जो टेक्सास स्टेट यूनिवर्सिटी और ओकलैंड यूनिवर्सिटी के शोधकर्ताओं द्वारा बनाया गया एक नया डिजिटल जासूस है। Reprodgen को एक हाई-टेक किचन में मिलकर काम करने वाले रोबोट शेफ की जोड़ी के रूप में समझें। एक रोबोट, जेनेरेटर (Generator), एक रचनात्मक रसोइया है। यह बिखरे हुए फोरम पोस्ट को पढ़ता है और टूटी हुई रेसिपी (बगी कोड) और ठीक की गई रेसिपी (पैच किया गया कोड) बनाने की कोशिश करता है। लेकिन जेनेरेटर दिवास्वप्न देखने (daydreaming) का आदी है; यह ऐसी सामग्रियां बना सकता है जो मौजूद नहीं हैं या चूल्हा जलाना भूल सकता है। इसीलिए इसका एक साथी है: रिव्यूअर (Reviewer)। रिव्यूअर एक सख्त हेड शेफ है जो जेनेरेटर द्वारा बनाए गए हर व्यंजन को चखता है। यदि व्यंजन कच्चा है, तो रिव्यूअर उसे किचन में वापस भेज देता है और एक नोट के साथ कहता है, "तुम अंडे डालना भूल गए," या "इसका स्वाद गलत है, फिर से कोशिश करो।" वे एक लूप में काम करते हैं, खाना बनाते हैं और चखते हैं, जब तक कि व्यंजन एकदम सही न हो जाए।
इस पेपर की मुख्य खोज यह है कि यह "मिलकर खाना बनाने" वाला दृष्टिकोण आश्चर्यजनक रूप से अच्छा काम करता है। शोधकर्ताओं ने लोकप्रिय डेटा साइंस मंचों से लिए गए 176 वास्तविक उदाहरणों पर Reprodgen का परीक्षण किया, जिसमें pandas और NumPy जैसे प्रसिद्ध टूल्स शामिल थे। उन्होंने पाया कि Reprodgen बग्स के लिए लगभग 60% बार और सुधारों (fixes) के लिए 52% बार सफलतापूर्वक टूटे हुए कोड और सुधार को फिर से बनाने में सक्षम था। यह एक बड़ी बात है क्योंकि अन्य स्मार्ट सिस्टमों के पिछले प्रयास अक्सर ऐसा कोड बनाने में विफल रहे जो वास्तव में चल सके; वे ऐसा कोड लिखते थे जो कागज पर सही दिखता था लेकिन उपयोग करने की कोशिश करते ही क्रैश हो जाता था। हालाँकि, Reprodgen ने "एग्जीक्यूटेबल" (executable) कोड बनाने में सफलता प्राप्त की—जिसका अर्थ है कि यह वास्तव में कंप्यूटर पर चलता है बिना टूटे।
हालाँकि, यह पेपर इस बात के लिए सावधान है कि इसे सब कुछ हल करने वाली जादुई छड़ी न कहा जाए। शोधकर्ता स्पष्ट रूप से इस विचार का खंडन करते हैं कि केवल एक स्मार्ट कंप्यूटर से "कोड लिखने" के लिए कहना ही काफी है। उन्होंने अन्य शीर्ष-स्तरीय सिस्टम, जैसे AutoCodeRover और ArchCode का परीक्षण किया, और पाया कि ये सिस्टम अक्सर हार मान लेते थे जब फोरम पोस्ट में विवरण गायब होते थे। वे या तो ऐसा कोड बनाते थे जो चल नहीं सकता था या वे टूटे हुए हिस्से को पूरी तरह से छोड़ देते थे और केवल समाधान दे देते थे। Reprodgen ने दिखाया कि आपके पास वह सख्त समीक्षा लूप होना चाहिए और आपको गैप को भरने के लिए "मॉक डेटा" (नकली सामग्री) का आविष्कार करने की आवश्यकता है।
अध्ययन ने इन रोबोट शेफ के बारे में कुछ दिलचस्प बातें भी उजागर कीं। शोधकर्ताओं ने यह देखने के लिए कि कौन सा सबसे अच्छा रसोइया है, कई अलग-अलग "दिमागों" (लार्ज लैंग्वेज मॉडल्स) का परीक्षण किया। उन्होंने पाया कि Qwen 2.5 और Gemma 3 मॉडल सबसे विश्वसनीय थे, जबकि अन्य अधिक संघर्ष करते हैं। दिलचस्प बात यह है कि रोबोट टूटे हुए कोड के संस्करण को ठीक किए गए संस्करण की तुलना में बेहतर तरीके से फिर से बनाने में सक्षम थे। यह अनुमान लगाना आसान है कि गलती क्या थी (क्योंकि फोरम पोस्ट आमतौर पर समस्या का स्पष्ट वर्णन करती है) बजाय इसके कि पूर्ण समाधान का अनुमान लगाया जाए (जिसके लिए अधिक रचनात्मक तर्क की आवश्यकता होती है)।
गति के मामले में, सिस्टम ने प्रत्येक समस्या को हल करने में औसतन 35 सेकंड का समय लिया, जो इतने जटिल कार्य के लिए काफी तेज़ है। लेकिन शोधकर्ताओं ने यह भी नोट किया कि रोबोट कभी-कभी भ्रमित हो जाते थे कि किन विशिष्ट उपकरणों या "लाइब्रेरी" की आवश्यकता है, जो यह सुझाव देता है कि हालांकि सिस्टम स्मार्ट है, फिर भी इसे सटीक वातावरण को समझने में मदद की आवश्यकता है।
अंततः, यह पेपर सुझाव देता है कि हम एक ऐसे भविष्य के करीब पहुँच रहे हैं जहाँ कंप्यूटर स्वचालित रूप से मानवीय गलतियों से सीख सकते हैं और उन्हें ठीक कर सकते हैं। शोधकर्ताओं ने केवल एक टूल नहीं बनाया; उन्होंने एक नया "टेस्ट किचन" भी बनाया जिसे ReprodgenBench-V कहा जाता है, जो 176 वास्तविक दुनिया की समस्याओं का एक संग्रह है जिसका उपयोग अन्य वैज्ञानिक अपने स्वयं के रोबोट शेफ का परीक्षण करने के लिए कर सकते हैं। उन्होंने एक सार्वजनिक लीडरबोर्ड भी स्थापित किया ताकि हर कोई देख सके कि कौन से मॉडल इस कार्य में सर्वश्रेष्ठ हैं। हालाँकि सिस्टम अभी भी पूरी तरह से परफेक्ट नहीं है—यह अभी भी आधे सुधारों को मिस करता है—लेकिन तथ्य यह है कि यह एक बिखरी हुई, अधूरी कहानी को एक काम करने वाले, चलते हुए प्रोग्राम में बदल सकता है, यह एक महत्वपूर्ण कदम है। यह साबित करता है कि रचनात्मकता और सख्त जाँच के सही मिश्रण के साथ, हम मशीनों को मानवीय कोडिंग त्रुटियों की जटिल वास्तविकता को समझने के लिए सिखा सकते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।