Guiding Human Validation of LLM-Generated Code via Verifiable Literate Programming
यह शोध पत्र वेरीफिएबल लिटरेट प्रोग्रामिंग (VLP) का परिचय देता है, जो एक मानव-इन-द-लूप फ्रेमवर्क है जो स्पष्ट दस्तावेज़ीकरण के माध्यम से प्राकृतिक भाषा प्रॉम्प्ट और LLM-जनित कोड के बीच के अंतर को पाटता है, जिससे सभी कौशल स्तरों के उपयोगकर्ता सूक्ष्म-स्तर के विसंगति पता लगाने (mismatch detection) और औपचारिक सत्यापन (formal verification) के माध्यम से प्रभावी ढंग से कोड को मान्य और मरम्मत करने में सक्षम होते हैं, जिससे कोड की विश्वसनीयता में महत्वपूर्ण सुधार होता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक बहुत ही प्रतिभाशाली, लेकिन थोड़े अति-आत्मविश्वासी, AI शेफ से आपके द्वारा लिखे गए एक टेक्स्ट विवरण के आधार पर एक जटिल भोजन बनाने के लिए कहते हैं। आप कहते हैं, "चिकन के साथ एक स्पाइसी पास्ता डिश बनाओ।" AI शेफ आपके सामने खाने की एक प्लेट लेकर आता है। यह पास्ता जैसा दिखता है, इसमें चिकन भी है, लेकिन शायद यह बहुत नमकीन है, या इसने गलत तरह का पास्ता इस्तेमाल किया है, या यह पानी निकालना भूल गया है।
समस्या यह है कि आप एक पेशेवर शेफ नहीं हैं। आप गलतियों को पकड़ने के लिए कच्चे सामग्री की सूची या खाना पकाने के चरणों को देख नहीं सकते। आप बस इतना जानते हैं कि खाना सही स्वाद नहीं दे रहा है। यदि आप AI से पूछते हैं, "क्या यह सही है?" तो वह केवल यह कह सकता है, "हाँ, यह एकदम सही है!" क्योंकि वह आत्मविश्वासी है, भले ही वह गलत हो।
यह पेपर इस समस्या को ठीक करने का एक नया तरीका पेश करता है जिसे वेरिफिएबल लिटरेट प्रोग्रामिंग (VLP) कहा जाता है। इसे एक "अनुवाद और निरीक्षण" प्रणाली के रूप में समझें जो आपके अनुरोध और AI के कोड के बीच स्थित होती है।
यह कैसे काम करता है, इसके सरल उपमाओं का उपयोग करते हुए यहाँ दिया गया है:
1. "अनुवाद" चरण (मध्यवर्ती परत)
AI के कच्चे कोड (जो प्रतीकों से भरी एक विदेशी भाषा जैसा दिखता है) को दिखाने के बजाय, सिस्टम पहले उस कोड को एक साधारण अंग्रेजी कहानी में अनुवादित करता है।
- उपमा: कल्पना कीजिए कि AI शेफ रेसिपी को एक गुप्त कोड में लिखता है। VLP उस कोड को एक स्पष्ट, चरण-दर-चरण कहानी में अनुवादित करता है: "पहले, चिकन को काटें। फिर, पानी उबालें। यदि पानी उबल रहा है, तो पास्ता डालें। यदि बर्तन बहुत भरा हुआ है, तो कुछ पानी निकाल दें।"
- यह कैसे मदद करता है: आपको कहानी पढ़ने के लिए गुप्त कोड (प्रोग्रामिंग) जानने की आवश्यकता नहीं है। अब आप देख सकते हैं कि AI वास्तव में क्या कर रहा है।
2. "अंतर पहचानें" चरण (विसंगति ढूँढना)
सिस्टम फिर आपकी मूल रिक्वेस्ट ("एक स्पाइसी पास्ता डिश बनाओ") की तुलना अनुवादित कहानी से करता है। यह एक सुपर-स्मार्ट संपादक की तरह कार्य करता है जो उन चीजों को ढूंढता है जो मेल नहीं खातीं।
- उपमा: सिस्टम कहानी के विशिष्ट वाक्यों को हाइलाइट करता है और आपसे प्रश्न पूछता है।
- सिस्टम: "आपकी कहानी कहती है, 'यदि बर्तन बहुत भरा हुआ है, तो कुछ पानी निकाल दें।' लेकिन आपके मूल अनुरोध में कहा गया था, 'पानी को उबलकर बाहर न होने दें।' क्या आपका मतलब पानी निकालने का था, या आपका मतलब एक बड़ा बर्तन इस्तेमाल करने का था?"
- यह कैसे मदद करता है: पूरी कहानी पढ़ने के बजाय, यह सीधे भ्रमित करने वाले हिस्सों की ओर इशारा करता है। यह आपसे केवल उन छोटे स्थानों पर अपनी मंशा स्पष्ट करने के लिए कहता है।
3. "सुरक्षा जांच" चरण (स्वचालित सत्यापन)
एक बार जब आप पुष्टि कर लेते हैं कि कहानी सही है, तो सिस्टम आपके "हाँ, मेरा यही मतलब था" को वापस गुप्त कोड (वास्तविक प्रोग्राम) में अनुवादित कर देता है। लेकिन आपको अंतिम डिश देने से पहले, यह एक सख्त सुरक्षा जांच चलाता है।
- उपमा: भले ही आपने कहानी को मंजूरी दी हो, सिस्टम एक रोबोट निरीक्षक की तरह काम करता है जो जांचता है कि क्या वह कहानी वास्तव में वास्तविक दुनिया में समझ में आती है।
- रोबोट निरीक्षक: "कहानी कहती है 'नमक डालें,' लेकिन रेसिपी ने यह बताना छोड़ दिया कि कितना नमक डालना है। साथ ही, कहानी कहती है 'चिकन को काटें,' लेकिन कहानी में चाकू टूटा हुआ है। मैं इन छोटी-मोटी बारीकियों को स्वचालित रूप से ठीक कर दूँगा।"
- यह कैसे मदद करता है: यह उन उबाऊ, तकनीकी गलतियों (जैसे गलत उपकरण का उपयोग करना या कोई चरण भूल जाना) को पकड़ लेता है जिन्हें आप मिस कर सकते हैं, जिससे यह सुनिश्चित होता है कि अंतिम कोड वास्तव में काम करे।
उन्होंने क्या पाया?
शोधकर्ताओं ने इस प्रणाली का परीक्षण दो बड़े कोडिंग चुनौतियों पर किया:
- सामान्य कोडिंग: फ़ाइलें स्थानांतरित करने या डेटा व्यवस्थित करने जैसे कार्य।
- फाइनेंस कोडिंग: धन और सांख्यिकी से जुड़े बहुत जटिल कार्य।
परिणाम:
- इस प्रणाली के बिना, AI कोड को केवल 29% से 73% बार सही कर पाता था (कठिनाई के आधार पर)।
- इस प्रणाली के साथ (जहाँ मनुष्य केवल कहानी पढ़ते हैं और कुछ सवालों के जवाब देते हैं), सफलता दर बढ़कर 65% से 93% हो गई।
- यह अन्य तरीकों से बेहतर था जिन्होंने कोड को ठीक करने के लिए AI को टेस्ट लिखने या शुरू करने से पहले प्रॉम्प्ट को स्पष्ट करने के लिए कहा था।
मुख्य निष्कर्ष
यह पेपर तर्क देता है कि गैर-प्रोग्रामरों को कच्चा कोड पढ़ने के लिए कहना वैसा ही है जैसे किसी को कार का बोनट खोले बिना इंजन ठीक करने के लिए कहना। इसके बजाय, VLP उन्हें एक स्पष्ट आरेख (डायग्राम) देता है कि इंजन क्या कर रहा है।
कोड को एक पठनीय कहानी में अनुवादित करके, कहानी के बारे में विशिष्ट प्रश्न पूछकर, और फिर तकनीकी विवरणों को स्वचालित रूप से जांचकर, यह लोगों को बहुत कम प्रयास के साथ उच्च-गुणवत्ता वाला, विश्वसनीय कोड प्राप्त करने की अनुमति देता है। यह एक भ्रमित करने वाले "ब्लैक बॉक्स" को एक पारदर्शी, सहयोगात्मक प्रक्रिया में बदल देता है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।