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

SWE-NFI: Studying and Benchmarking Coding Agents for Non-Functional Improvements

यह शोधपत्र SWE-NFI को प्रस्तुत करता है, जो एक बेंचमार्क है जिसमें 188 वास्तविक दुनिया के कार्य और 92 निष्पादन योग्य नियम शामिल हैं जिन्हें गैर-कार्यात्मक सुधारों (non-functional improvements) पर कोडिंग एजेंटों का मूल्यांकन करने के लिए डिज़ाइन किया गया है, जो यह प्रकट करता है कि जबकि एजेंट उच्च कार्यात्मक शुद्धता प्राप्त करते हैं, वे व्यवहार-संरक्षण कोड संवर्द्धन (behavior-preserving code enhancements) को निष्पादित करने में मानव डेवलपर्स से काफी पीछे रह जाते हैं।

मूल लेखक: Pengyu Xue, He Yang Yuan, Xin Wang, Junkai Chen, Haonan Zhang, Boyuan Chen, Zishuo Ding, Zhenhao Li, Weiyi Shang

प्रकाशित 2026-07-31
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Pengyu Xue, He Yang Yuan, Xin Wang, Junkai Chen, Haonan Zhang, Boyuan Chen, Zishuo Ding, Zhenhao Li, Weiyi Shang

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

कल्पना कीजिए कि आप एक रोबोट को कोड लिखना सिखा रहे हैं। लंबे समय तक, यह जांचने का एकमात्र तरीका कि क्या रोबोट अच्छा काम कर रहा है, यह पूछना था, "क्या प्रोग्राम काम करता है?" यदि रोबोट ने संख्याओं को सही ढंग से जोड़ने वाला कैलकुलेटर बनाया, तो उसे एक गोल्ड स्टार मिलता था। लेकिन वास्तविक दुनिया में, सॉफ्टवेयर लिखना एक घर बनाने जैसा है। सिर्फ इसलिए कि छत से पानी नहीं टपक रहा है और दरवाजे खुल रहे हैं, इसका मतलब यह नहीं है कि घर रहने के लिए सुखद है। हो सकता है कि दीवारों के पीछे की वायरिंग उलझी हुई हो, पेंट उखड़ रहा हो, या लाइट स्विच का उपयोग कैसे करें इसके निर्देश अदृश्य स्याही से लिखे गए हों। ये घर के "गैर-कार्यात्मक" (non-functional) हिस्से हैं: इसे ठीक करना कितना आसान है, यह कितना सुरक्षित है, और यह दिखने में कितना अच्छा है।

हाल ही में, स्मार्ट कंप्यूटर प्रोग्राम जिन्हें "कोडिंग एजेंट" कहा जाता है, सॉफ्टवेयर का बुनियादी ढांचा बनाने में बहुत अच्छे हो गए हैं। वे बग्स को ठीक कर सकते हैं और नई विशेषताएं जोड़ सकते हैं। लेकिन वास्तव में कोई नहीं जानता था कि क्या ये एजेंट कोड की सफाई करने, वायरिंग को व्यवस्थित करने और पहले से चल रहे किसी भी हिस्से को तोड़े बिना स्पष्ट निर्देश लिखने जैसे उबाऊ लेकिन बेहद महत्वपूर्ण काम भी कर सकते हैं। यह वही सवाल है जिसका जवाब देने के लिए कनाडा, चीन और सिंगापुर के विश्वविद्यालयों के शोधकर्ताओं की एक टीम ने निर्णय लिया। वे देखना चाहते थे कि क्या ये डिजिटल सहायक केवल कार्यात्मक निर्माता होने के अलावा वास्तविक सॉफ्टवेयर देखभाल करने वाले (caretakers) भी बन सकते हैं।

यह पता लगाने के लिए, शोधकर्ताओं ने एक नया परीक्षण बनाया जिसे SWE-NFI कहा जाता है। इस परीक्षण को एक विशाल, स्वचालित निरीक्षक की चेकलिस्ट के रूप में समझें। केवल यह जांचने के बजाय कि क्या एक प्रोग्राम चलता है, इस चेकलिस्ट में 92 विशिष्ट नियम हैं कि कोड कैसा "दिखता" और "महसूस" होता है। ये नियम जांचते हैं जैसे: "क्या आपने इस फंक्शन के बारे में एक स्पष्ट विवरण लिखा है?" (डॉक्यूमेंटेशन), "क्या आपने त्रुटियों को सुरक्षित रूप से संभाला ताकि प्रोग्राम क्रैश न हो?" (एरर हैंडलिंग), और "क्या आपने पुराने, जंग लगे उपकरणों के बजाय आधुनिक उपकरणों का उपयोग किया है?" (लाइब्रेरी कंस्ट्रेंट्स)।

शोधकर्ताओं ने इस परीक्षण का निर्माण 188 वास्तविक उदाहरणों का उपयोग करके किया जो वास्तविक सॉफ्टवेयर प्रोजेक्ट्स से लिए गए थे जिन्हें मनुष्यों ने पहले ही ठीक कर दिया था। उन्होंने कोड का "पहले वाला" संस्करण लिया, उसे विभिन्न कोडिंग एजेंटों को दिया, और उनसे इसे बेहतर बनाने के लिए कहा बिना इसके कि यह वास्तव में क्या करता है उसे बदले। फिर, उन्होंने एजेंटों को ग्रेड देने के लिए अपने 92-नियमों वाली चेकलिस्ट का उपयोग किया। उनके पास एक "मानव संदर्भ" (human reference) स्कोर भी था, जो यह दर्शाता है कि एक वास्तविक मानव डेवलपर ने उसी कोड को वास्तविक दुनिया में कितनी अच्छी तरह सुधारा था।

परिणाम थोड़े वास्तविकता का अहसास कराने वाले थे। सर्वश्रेष्ठ कोडिंग एजेंट यह सुनिश्चित करने में काफी अच्छे थे कि कोड अभी भी काम करता है (70.0% पास रेट प्राप्त करना)। हालांकि, जब बात कोड को उन तरीकों से बेहतर बनाने की आई जो मनुष्यों के लिए मायने रखते हैं, तो एजेंट संघर्ष करते दिखे। वे लगभग हर श्रेणी में मानव डेवलपर्स से पीछे रह गए।

सबसे बड़ा अंतर "लॉजिक पैटर्न्स" (Logic Patterns) में था, जो कोड की संरचनात्मक अखंडता की तरह है। मनुष्यों ने इस क्षेत्र में औसतन 1.5 का स्कोर सुधार किया, लेकिन सर्वश्रेष्ठ कोडिंग एजेंट केवल 0.0 से 1.3 के बीच ही रह सके। यह ऐसा है जैसे रोबोट एक मजबूत दीवार तो बना सकते थे, लेकिन वे यह नहीं समझ पाए कि ईंटों को बिल्कुल सही ढंग से कैसे संरेखित किया जाए या एक सुंदर मेहराब (archway) कैसे जोड़ा जाए।

अध्ययन में कुछ दिलचस्प विचित्रताएं भी मिलीं:

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

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

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

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

Digest आज़माएँ →