What Makes a Programming Problem Hard for a Language Model? An Empirical Study of Item Difficulty Across Code LLMs on Two Benchmarks
यह शोध पत्र एक अनुभवजन्य अध्ययन प्रस्तुत करता है जो यह प्रदर्शित करता है कि कोड जनरेशन बेंचमार्क में समस्या की कठिनाई एक स्थिर, हस्तांतरणीय मीट्रिक है जो HumanEval पर स्पेसिफिकेशन फीचर्स (जैसे उदाहरण और प्रॉम्प्ट की लंबाई) और MBPP पर समाधान की जटिलता द्वारा संचालित होती है, जो मॉडल स्कोर के संतृप्त होने पर बेंचमार्किंग, ऑटोग्रेडिंग और शैक्षिक उपकरण डिजाइन में सुधार के लिए महत्वपूर्ण अंतर्दृष्टि प्रदान करती है।
मूल पेपर CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास पहेलियों का एक विशाल, जादुई पुस्तकालय है, और आपने विभिन्न प्रकार के AI "सुलझाने वालों" (solvers) के एक पूरे चिड़ियाघर को उन्हें सुलझाने के लिए आमंत्रित किया है। कुछ सुलझाने वाले बड़े दिमाग वाले छोटे हैम्स्टर (छोटे मॉडल) हैं, और कुछ विशाल, सुपर-इंटेलिजेंट हाथी (जैसे GPT-4) हैं। आमतौर पर, जब हम जाँचते हैं कि ये AI कितने स्मार्ट हैं, तो हम उन्हें केवल एक एकल स्कोर देते हैं, जैसे स्कूल में अंतिम ग्रेड। लेकिन यह पेपर तर्क देता है कि एक एकल ग्रेड उबाऊ और भ्रामक है। यह ऐसा ही है जैसे यह कहना कि गणित का टेस्ट "कठिन" है क्योंकि आपको 'C' मिला, बिना यह पूछे कि: कौन से प्रश्न कठिन थे? क्या वे लंबे शब्द वाले सवाल थे, या वे जिनमें कोई उदाहरण नहीं दिए गए थे?
लेखक, तंजीम इस्लाम खान ने केवल अंतिम ग्रेड देखने के बजाय पहेलियों को देखना शुरू करने का निर्णय लिया। उन्होंने दो प्रसिद्ध कोडिंग पहेलियों (जिन्हें HumanEval और MBPP कहा जाता है) को लिया और उन्हें एक विशाल प्रयोग के माध्यम से चलाया। उन्होंने 31 अलग-अलग AI मॉडलों (छोटे 1-बिलियन-पैरामीटर वाले मॉडलों से लेकर विशाल GPT-4 तक) के जवाबों को पकड़ा और हर एक जवाब को वास्तव में काम करता है या नहीं, यह देखने के लिए एक सुरक्षित, अलग सैंडबॉक्स में फिर से चलाया। यह पूरे 13,400 निष्पादन (executions) हैं!
बड़ी खोज: एक पहेली को कठिन क्या बनाता है?
पेपर ने कुछ आश्चर्यजनक पाया जो "कठिनाई" के बारे में हमारी सोच को बदल देता है।
HumanEval सेट पर (वे पहेलियाँ जिनमें लंबे विवरण और बहुत सारे उदाहरण उत्तर दिए गए हैं), कठिनाई इस बात पर निर्भर नहीं थी कि समाधान कोड कितना जटिल था। यह पूरी तरह से इस पर निर्भर था कि पहेली कैसे लिखी गई थी।
- जादुई सुराग: यदि पहेली में काम करने वाले उदाहरण शामिल थे (जैसे AI को यह दिखाना: "यहाँ इनपुट A है, यहाँ आउटपुट B है"), तो AI ने इसे आसानी से हल कर लिया। जितने अधिक उदाहरण, उतना ही आसान।
- जाल: यदि प hanya पहेली लंबी और शब्द प्रधान थी, या यदि उसमें वे सहायक उदाहरणों की कमी थी, तो AI संघर्ष करता था, भले ही उसे हल करने के लिए आवश्यक वास्तविक कोड सरल हो।
- प्रमाण: लेखकों ने एक भविष्यवाणी मशीन बनाई। जब उन्होंने इसमें केवल पहेली का टेक्स्ट (प्रॉम्ट) डाला, तो वह भविष्यवाणी कर सका कि पहेली कितनी कठिन थी, जिसका क्रॉस-वैलिडेटेड 0.45 था, जो पूर्ण मॉडल के प्रदर्शन से मेल खाता था। लेकिन जब उन्होंने इसे केवल समाधान कोड की जटिलता (जैसे लूप या वेरिएबल्स गिनना) के साथ डाला, तो उसे लगभग कुछ भी पता नहीं चला ( 0.11)।
ट्विस्ट: दूसरा पहेली संग्रह
फिर उन्होंने MBPP सेट को देखा। ये पहेलियाँ अलग हैं; ये बहुत छोटी हैं, जैसे एक-वाक्य की फुसफुसाहट, जिसमें कोई उदाहरण नहीं है।
- यहाँ, नियम पलट गए! चूंकि हर पहेली एक जैसी (छोटी और अस्पष्ट) दिखती थी, इसलिए टेक्स्ट ने AI को यह नहीं बताया कि क्या करना है। इसके बजाय, कठिनाई इस बात पर निर्भर थी कि समाधान वास्तव में कितना कठिन था।
- यदि कोड के लिए जटिल तर्क (logic) की आवश्यकता थी, तो AI विफल रहा। यदि कोड सरल था, तो AI सफल रहा।
- सबक: एक समस्या AI के लिए कठिन होती है यदि निर्देश का वह हिस्सा सबसे अधिक परिवर्तनशील (variable) है जो निर्देशों के हिस्से में सबसे अधिक बदलाव लाता है। यदि निर्देश बहुत अधिक बदलते हैं (जैसे HumanEval में), तो निर्देश शासन करते हैं। यदि निर्देश सभी एक जैसे हैं (जैसे MBPP में), तो उत्तर की जटिलता शासन करती है।
यह पेपर क्या स्पष्ट करता है
यह पेपर इस विचार के खिलाफ स्पष्ट रूप से तर्क देता है कि "कठिन कोड हमेशा एक कठिन समस्या होता है।"
- उन्होंने संदर्भ समाधानों की जटिलता को मापा (जैसे "साइक्लोमैटिक कॉम्प्लेक्सिटी" और "हल्डस्टैड वॉल्यूम" का उपयोग करके) और पाया कि HumanEval पर, ये संख्याएँ कठिनाई के बहुत कमजोर संकेतक थे। एक जटिल समाधान आवश्यक रूप से कठिन नहीं था यदि निर्देश स्पष्ट थे और उदाहरणों से भरे हुए थे।
- उन्होंने इस विचार को भी खारिज कर दिया कि कठिनाई केवल इस बात का संयोग है कि आप किन AI मॉडलों का परीक्षण कर रहे हैं। उन्होंने साबित किया कि कठिनाई समस्या का एक स्थिर गुण (stable property) है। चाहे आप हैम्स्टर के आकार के AI का परीक्षण करें या हाथी के आकार के AI का, वही पहेलियाँ सबसे कठिन और सबसे आसान बनी रहती हैं। उन्होंने एक बार में एक मॉडल को हटाकर भी इसकी जाँच की, और रैंकिंग नहीं बदली (सहसंबंध )।
हम कितने आश्वस्त हैं?
लेखक बहुत आश्वस्त हैं, लेकिन वे अपने शब्दों के प्रति सावधान हैं।
- उन्होंने इसे एक सैंडबॉक्स में कोड को 13,400 बार चलाकर सीधे तौर पर मापा।
- उन्होंने "कठोर" संस्करणों (जिनमें HumanEval के लिए 80 गुना अधिक और MBPP के लिए 35 गुना अधिक जाँचें हैं) के विरुद्ध परीक्षण करके स्थिरता को सिद्ध किया। इन कठिन परीक्षणों के साथ भी, कठिन बनाम आसान समस्याओं की रैंकिंग लगभग समान रही (सहसंबंध )।
- उन्होंने अलग-अलग सेटिंग्स (जैसे AI को अधिक रैंडम बनाने के लिए "टेम्परेचर" बदलना) के साथ परिणामों को सिम्युलेट (या यूँ कहें कि फिर से चलाया) किया और पाया कि कठिनाई रैंकिंग सुसंगत रही ()।
- उन्होंने सुझाव दिया कि जैसे-जैसे AI स्मार्ट होता जाएगा और लगभग सब कुछ हल करने लगेगा (सैचुरेशन), उन विशिष्ट समस्याओं को देखना कि वे अभी भी कठिन क्यों हैं, और भी महत्वपूर्ण हो जाएगा।
भविष्य का संदर्भ
यह पेपर "भविष्य" की ओर भी एक नज़र डालता है (पेपर की टाइमलाइन के अनुसार जून 2026)। यह नोट करता है कि नवीनतम, अत्यंत शक्तिशाली AI (जैसे GPT-5.x और Claude Opus 4.8) ने मूल रूप से इन पुराने पहेलियों का उपयोग करना बंद कर दिया है क्योंकि वे अब उनके लिए बहुत आसान हैं। सीमा अब बहुत कठिन, वास्तविक दुनिया के कोडिंग कार्यों की ओर बढ़ गई है। लेकिन सबक वही रहता है: जैसे-जैसे आसान समस्याएं गायब होती हैं, जो बची हुई कठिन समस्याएं हैं, वे क्यों कठिन हैं इसे समझना बेहतर उपकरण बनाने की कुंजी बन जाता है।
संक्षेप में
यदि आप जानना चाहते हैं कि कोडिंग की समस्या AI के लिए कठिन है या नहीं, तो केवल उस कोड को न देखें जिसे इसे लिखना है। निर्देशों को देखें!
- उदाहरणों के साथ समृद्ध निर्देश? AI इसमें आसानी से पार कर लेगा, चाहे कोड कितना भी जटिल क्यों न हो।
- अस्पष्ट निर्देश या उदाहरणों की कमी? AI संघर्ष करेगा, भले ही कोड सरल हो।
- छोटे, एक-वाक्य के निर्देश? तो कोड की जटिलता ही वह चीज़ है जो इसे कठिन बनाती है।
यह पेपर हमें बिना AI चलाए इस संघर्ष की भविष्यवाणी करने का एक नक्शा देता, केवल समस्या विवरण को पढ़कर। यह शिक्षकों के लिए बेहतर अभ्यास बनाने और इंजीनियरों के लिए बेहतर बेंचमार्क बनाने के लिए एक उपकरण है, यह सुनिश्चित करने के लिए कि हम केवल यह नहीं देख रहे हैं कि क्या एक AI उत्तर का अनुमान लगा सकता है, बल्कि यह कि क्या वह वास्तव में पहेली को समझ सकता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।