Combining Mechanical and Agentic Specification Inference for Move
यह शोध पत्र मूव प्रोवर (Move Prover) के लिए एक स्पेसिफिकेशन इन्फरेंस टूल प्रस्तुत करता है जो वेरिफिकेशन स्पेसिफिकेशन्स को स्वचालित रूप से उत्पन्न करने और परिष्कृत करने के लिए साउंड वीकेस्ट-प्रीकंडीशन (weakest-precondition) विश्लेषण को एक एजेंटिक कोडिंग CLI के साथ समन्वित करता है, जो लूप इनवैरिएंट्स (loop invariants) और स्ट्रक्चरल इनवैरिएंट्स (structural invariants) जैसी जटिल प्रॉपर्टीज को संभालते हुए मैन्युअल बॉयलरप्लेट को प्रभावी ढंग से कम करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक जटिल घर बना रहे हैं (एक सॉफ्टवेयर जिसे "Move स्मार्ट कॉन्ट्रैक्ट" कहा जाता है)। आप यह सुनिश्चित करना चाहते हैं कि घर सुरक्षित हो: दरवाजे केवल सही चाबी से ही खुलें, छत कभी न गिरे, और अंदर की बैंक तिजोरी पैसे को सुरक्षित रखे।
इस घर को सुरक्षित साबित करने के लिए, आपको एक विस्तृत "नियम पुस्तिका" (जिसे स्पेसिफिकेशन कहा जाता है) लिखनी होगी जो यह समझा सके कि घर का हर हिस्सा वास्तव में कैसे काम करना चाहिए। इस नियम पुस्तिका को हाथ से लिखना अविश्वीय रूप से थकाऊ, उबाऊ और मानवीय त्रुटियों से भरा होता है। यह घर की हर एक ईंट के लिए कानूनी अनुबंध लिखने जैसा है।
यह शोध पत्र एक नए उपकरण का वर्णन करता है जो इस नियम पुस्तिका को स्वचालित रूप से लिखने में मदद करने के लिए एक सुपर-स्मार्ट निर्माण सहायक के रूप में कार्य करता है। यह दो बहुत ही अलग प्रकार के सहायकों को जोड़ता है: एक कठोर रोबोट और एक रचनात्मक मानव।
दो सहायक
कठोर रोबोट (मैकेनिकल एनालिसिस):
इसे एक अत्यंत सटीक कैलकुलेटर के रूप में समझें। यह ब्लूप्रिंट (कोड) को देखता है और घर को खड़ा रखने के लिए आवश्यक न्यूनतम नियमों की गणना करता है। यह स्पष्ट चीजों को खोजने में माहिर है, जैसे "यदि आप इस लीवर को खींचते हैं, तो दरवाजा खुल जाता है।" हालांकि, यह जटिल, लूपिंग कार्यों (जैसे सुरक्षा गार्ड द्वारा गश्त करने के मार्ग) पर अटक जाता है। इसे यह नहीं पता कि गार्ड क्यों गोल-गोल घूम रहा है या पैटर्न क्या है; यह केवल गति को देखता है और भ्रमित हो जाता है।रचनात्मक मानव (AI एजेंट):
यह "Claude Code" AI है। यह पैटर्न, इडियम (मुहावरों) और उच्च-स्तरीय अवधारणाओं को समझने में अच्छा है। यह उस सुरक्षा गार्ड को देख सकता है और कह सकता है, "आह, मैं समझ गया! गार्ड क्रमवार हर दरवाजे की जांच कर रहा है, और चेक किए गए दरवाजों की संख्या हमेशा बढ़ती जा रही है।" यह उन "लूप इनवेरिएंट्स" (दोहराए जाने वाले कार्यों के नियम) को लिखने में सक्षम है जिन्हें रोबोट नहीं समझ पाता। लेकिन, AI कभी-कभी गलत तरीके से रचनात्मक हो सकता है और ऐसे नियम बना सकता है जो वास्तव में ब्लूप्रिंट से मेल नहीं खाते।
वे मिलकर कैसे काम करते हैं
यह टूल इन दोनों को एक लूप में रखता है, जो एक "मॉडल कॉन्टेक्स्ट प्रोटोकॉल" (MCP) का उपयोग करता है—जो निर्माण स्थल से उन्हें जोड़ने वाले वॉकी-टॉकी सिस्टम की तरह है।
- रोबोट शुरुआत करता है: यह कोड को स्कैन करता है और बुनियादी, कठोर तथ्य ( "वीकेस्ट प्री-कंडीशन्स") लिखता है। यह कहता है, "ठीक है, हम जानते हैं कि यदि आपके पास चाबी है तो दरवाजा खुल जाएगा।"
- मानव रिक्त स्थान भरता है: AI, रोबोट के काम को देखता है और कहता है, "मैं यहाँ एक लूप देख रहा हूँ। मुझे पैटर्न का अनुमान लगाने दें: काउंटर हर बार एक से बढ़ जाता है।" यह उच्च-स्तरीय नियम जोड़ता है।
- रेफरी जाँच करता है: "Move Prover" एक सख्त बिल्डिंग इंस्पेक्टर की तरह कार्य करता है। यह संयुक्त नियम पुस्तिका लेता है और यह सिद्ध करने की कोशिश करता है कि वह सत्य है।
- यदि नियम काम करते हैं, तो बहुत अच्छा!
- यदि नियम विफल होते हैं (उदाहरण के लिए, AI ने गलत पैटर्न का अनुमान लगाया), तो इंस्पेक्टर AI को एक "काउंटर-एग्जांपल" (प्रति-उदाहरण) वापस भेजता है।
- सुधार: AI इंस्पेक्टर के नोट को पढ़ता है, अपनी गलती महसूस करता है, और नियम को फिर से लिखता है। यह तब तक बार-बार होता रहता है जब तक कि इंस्पेक्टर संतुष्ट न हो जाए।
शोध पत्र से वास्तविक दुनिया के उदाहरण
परीक्षणकर्ताओं ने इसे तीन प्रकार के "घरों" पर परखा:
- सर्च इंजन: एक फंक्शन जो सूची में एक विशिष्ट आइटम को खोजता है। रोबोट ने बुनियादी तर्क को समझा, लेकिन AI को यह अनुमान लगाना पड़ा कि "अब तक चेक किए गए आइटमों की संख्या हमेशा कुल आइटमों से कम होती है।"
- गणित की समस्या: एक फंक्शन जो घात (जैसे ) की गणना करता है। रोब는 गणित को संभाला, लेकिन लूप पेचीदा था। AI को गुणा के पैटर्न को समझाने के लिए एक "हेल्पर फंक्शन" बनाना पड़ा, और फिर टीम को यह साबित करने के लिए एक विशेष "प्रूफ हिंट" (इंस्पेक्टर के लिए चीट शीट की तरह) जोड़ना पड़ा कि गणित अनियंत्रित न हो जाए।
- बैंक ट्रांसफर: एक फंक्शन जो दो लोगों के बीच पैसे को विभाजित करता है। इसमें "ग्लोबल स्टेट" (बैंक के लेजर) को बदलना शामिल था। AI को ठीक से ट्रैक करना था कि पैसा एक खाते से दूसरे खाते में कैसे स्थानांतरित हुआ, यह सुनिश्चित करते हुए कि बीच में कोई पैसा बनाया या नष्ट नहीं किया गया है।
यह क्यों महत्वपूर्ण है
इससे पहले, इन नियम पुस्तिकाओं को लिखना एक बड़ी बाधा थी। यह घर की हर एक कील के लिए वकील को अनुबंध लिखने के लिए नियुक्त करने जैसा था।
- रोबोट वह उबाऊ, यांत्रिक गणित करता है जिसे इंसान करना नापसंद करते हैं।
- AI पैटर्न पहचानने का काम करता है जिसमें रोबोट कमजोर होते हैं।
- इंस्पेक्टर यह सुनिश्चित करता है कि उनमें से कोई भी झूठ न बोले।
परिणामस्वरूप, एक ऐसा सिस्टम बनता है जहाँ एक डेवलपर AI से पूछ सकता है, "इस कोड के लिए सुरक्षा नियम लिखें," और AI, रोबोट द्वारा निर्देशित और इंस्पेक्टर द्वारा जांचा गया, एक सत्यापित, सुरक्षित नियम पुस्तिका एक अकेले इंसान की तुलना में बहुत तेज़ी से तैयार करता है।
मुख्य निष्कर्ष
यह अभी तक सब कुछ पूरी तरह से हल करने वाली कोई जादुई छड़ी नहीं है। AI को अभी भी शॉर्टकट लेने से बचने के लिए विशिष्ट "कौशल" (व्यवहार करने के निर्देश) के माध्यम से निर्देशित करने की आवश्यकता होती है। लेकिन यह एक बड़ा कदम है: एक ऐसी साझेदारी जहाँ एक मशीन तर्क संभालती है, एक AI अंतर्ज्ञान संभालता है, और एक फॉर्मल वेरिफायर सत्य सुनिश्चित करता है, जो सभी डेवलपर के अपने कोडिंग वातावरण के भीतर मिलकर काम करते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।