LLM2SMT: Building an SMT Solver with Zero Human-Written Code
यह शोध पत्र LLM2SMT प्रस्तुत करता है, जो एक केस स्टडी के रूप में यह प्रदर्शित करता है कि कैसे एक LLM कोडिंग एजेंट बिना किसी मानव-लिखित कोड के, Nieuwenhuis-Oliveras कॉंग्रुएंस क्लोजर एल्गोरिदम और Lean प्रूफ एमिशन सहित, QF_UF के लिए एक पूर्ण, प्रतिस्पर्धी DPLL(T)-शैली का SMT सॉल्वर स्वायत्त रूप से बना सकता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक सॉफ्टवेयर कंपनी के सीईओ हैं। एक नया उत्पाद शून्य से बनाने के लिए इंजीनियरों की एक टीम को काम पर रखने के बजाय, आप एक अत्यंत प्रतिभाशाली, लेकिन थोड़े सनकी AI प्रशिक्षु (AI apprentice) को काम पर रखते हैं।
आपका लक्ष्य है? एक लॉजिक डिटेक्टिव (Logic Detective) (जिसे SMT सॉल्वर कहा जाता है) बनाना। इस जासूस का काम है नियमों और सुरागों के एक जटिल सेट को देखना और एक सरल प्रश्न का उत्तर देना: "क्या इन सभी सुरागों का एक ही समय में सत्य होना संभव है, या इसमें कोई विरोधाभास है?"
यहाँ ट्विस्ट है: आपने, यानी इंसान ने, कोड की एक भी लाइन नहीं लिखी। आपने एक भी if स्टेटमेंट या for लूप टाइप नहीं किया। इसके बजाय, आपने AI को निर्देशों का एक सेट दिया, और इसने पूरा डिटेक्टिव एजेंसी, फाइलिंग सिस्टम और रीजनिंग इंजन खुद बनाया।
मिशन: एक लॉजिक मशीन बनाना
शोधकर्ताओं (मिकोलास जानोटा और मिरेक ओल्शाक) ने अपने AI प्रशिक्षु को एक मिशन दिया: "एक लॉजिक डिटेक्टिव बनाओ जो अनइंटरप्रिटेड फंक्शन्स (Uninterpreted Functions) (एक फैंसी तरीका यह कहने का कि 'रहस्यमय बक्से' जहाँ हम समानता के नियमों को जानते हैं लेकिन विशिष्ट सामग्री को नहीं) से जुड़े पहेलियों को हल कर सके।"
उन्होंने उसे निर्देश दिए:
- ब्लूप्रिंट: "'कॉन्ग्रुएंस क्लोजर' (Congruence Closure) नामक एक विशिष्ट एल्गोरिदम का उपयोग करें (इसे एक तरह से समान वस्तुओं को एक साथ समूहबद्ध करने के तरीके के रूप में समझें)।"
- टूल्स: "भारी काम के लिए इस विशिष्ट लाइब्रेरी (CaDiCaL) का उपयोग करें और अंतिम रिपोर्ट के लिए इस भाषा (Lean) का उपयोग करें।"
- भाषा: "C++20 में बोलें।"
यात्रा: अराजकता से सक्षमता तक
1. "नाइव" (Naive) शुरुआत
शुरुआत में, AI ने एक डिटेक्टिव बनाने की कोशिश की लेकिन उसने एक क्लासिक नौसिखिया गलती की। उसने एक ऐसा जासूस बनाया जो केवल एकल सुराग देख सकता था लेकिन यह नहीं समझ पाता था कि सुराग कैसे जुड़ते हैं (जैसे "AND" या "OR")। यह एक ऐसे जासूस को काम पर रखने जैसा था जो उंगली के निशान तो पढ़ सकता है लेकिन अपराध स्थल की अवधारणा को नहीं समझता।
- सुधार: शोधकर्ताओं ने बस उस गायब हिस्से की ओर इशारा किया। AI को एहसास हुआ, "ओह, सही बात है! तर्क (Logic) को कनेक्टर्स की आवश्यकता होती है!" और उसने कोड को फिर से लिखा।
2. "स्व-शिक्षित" बग फिक्सर
जैसे-जैसे डिटेक्टिव काम करने लगा, उससे गलतियाँ होने लगीं। कभी-कभी वह कहता था कि एक पहेली असंभव है जबकि वास्तव में उसका एक समाधान मौजूद था।
- मानवीय स्पर्श: कोड को खुद ठीक करने के बजाय, शोधकर्ताओं ने AI को एक "फज़िंग" (fuzzing) टूल दिया। कल्पना कीजिए कि एक मशीन है जो डिटेक्टिव पर हजारों रैंडम, अजीब पहेलियाँ फेंकती है। जब डिटेक्टिव कोई गलती करता है, तो AI विफलता का विश्लेषण करता है, बग का पता लगाता है, और खुद को ठीक करता है।
- उपमा: यह एक छात्र की तरह है जो अभ्यास परीक्षा देता है, एक प्रश्न गलत करता है, स्पष्टीकरण पढ़ता है, और बिना शिक्षक द्वारा पूरा अध्याय दोबारा पढ़ाने के तुरंत अपने अध्ययन नोट्स को ठीक कर लेता है।
3. "डायमंड" समस्या (एक पेचीदा पहेली)
वहाँ एक विशेष प्रकार की पहेली थी जिसे "इक्वेशनल डायमंड" (Equational Diamond) कहा जाता है। एक भूलभुलैया की कल्पना करें जहाँ आपके पास दो रास्ते हैं जो अलग दिखते हैं लेकिन एक ही जगह ले जाते हैं। एक मानक डिटेक्टिव हर रास्ते पर चलने की कोशिश करेगा, जिसमें बहुत अधिक समय लगता है (एक्सपोनेंशियल टाइम)।
- ब्रेकथ्रू: शोधकर्ताओं ने AI को एक संकेत दिया: "चलना शुरू करने से पहले शॉर्टकट खोजें।" AI ने एक प्रीप्रोसेसिंग (Preprocessing) तकनीक का आविष्कार किया। इसने भूलभुलैया को देखा, शॉर्टकटों को पहचाना, और पूरी भूलभुलैया को एक सीधी रेखा में बदल दिया। अचानक, वे पहेलियाँ जिन्हें हल करने में घंटों लगते थे, मिलीसेकंड में हल होने लगीं।
4. "अदालत" (प्रमाणन/Certification)
सबसे प्रभावशाली हिस्सा क्या था? AI ने न केवल पहेलियों को हल किया; बल्कि उसे Lean (एक ऐसी भाषा जिसका उपयोग गणितज्ञ प्रमाणों को सत्यापित करने के लिए करते हैं) में यह भी सिद्ध करना था कि उसने उन्हें सही ढंग से हल किया है।
- चुनौती: AI को अपने आंतरिक तर्क को एक औपचारिक कानूनी तर्क में अनुवाद करना था जिसे एक "जज" (Lean प्रूफ चेकर) स्वीकार करे।
- संघर्ष: AI बार-बार ऐसे जटिल तर्क लिखने की कोशिश कर रहा था जो बहुत लंबे थे। शोधकर्ताओं को उसे सिखाना पड़ा: "उपन्यास न लिखें; बस मुख्य बिंदु लिखें।" एक बार जब उन्होंने उसे एक आदर्श प्रमाण का टेम्पलेट दे दिया, तो AI ने अपने स्वयं के कानूनी दस्तावेज़ (legal briefs) पूरी तरह से लिखना सीख लिया।
परिणाम: AI डिटेक्टिव कितना अच्छा है?
शोधकर्ताओं ने अपने AI-निर्मित डिटेक्टिव का दुनिया के सर्वश्रेष्ठ मानव-निर्मित डिटेक्टिव्स (Z3 और cvc5) के विरुद्ध परीक्षण किया।
- स्कोर: AI डिटेक्टिव ने 7,500 में से 7,468 पहेलियों को हल किया।
- तुलना: यह मानव चैंपियनों के लगभग बराबर था, जिसने लगभग उतनी ही समस्याओं को हल किया।
- कमी: कुछ पहेलियों पर यह थोड़ा धीमा था क्योंकि इसके पास वे "सहज ज्ञान" (optimizations) नहीं थे जिन्हें मानव इंजीनियर दशकों तक परिष्कृत करते हैं। लेकिन एक ऐसी मशीन के लिए जिसने शून्य से अपना कोड खुद लिखा है, यह एक बड़ी सफलता है।
बड़े सबक (कहानी की "नैतिक शिक्षा")
- AI शक्तिशाली है लेकिन "ऊबड़-खाबड़" (Jagged) है: AI जटिल कार्यों में प्रतिभाशाली है लेकिन साधारण चीजों में विफल हो सकता है (जैसे यह भूल जाना कि
x = xहमेशा सत्य होता है)। यह एक ऐसे जीनियस की तरह है जो एक सिम्फनी लिख सकता है लेकिन अपने जूतों के फीते बांधना भूल जाता है। - आपको एक सुरक्षा जाल (Safety Net) की आवश्यकता है: आप AI को बेतहाशा नहीं छोड़ सकते। आपको "टाइमआउट" सीमाओं (ताकि वह अनंत काल तक न फंसा रहे) और "फज़िंग" (रैंडम टेस्टिंग) की आवश्यकता है ताकि त्रुटियों को पकड़ा जा सके।
- भविset सहयोग का है: AI ने इंसान की जगह नहीं ली; इंसान वास्तुकार (Architect) और शिक्षक बन गया। इंसान ने नियम निर्धारित किए, उदाहरण प्रदान किए और सुरक्षा जाल बनाए, जबकि AI ने कोड लिखने का भारी काम किया।
संक्षेप में: यह पेपर यह सिद्ध करता है कि सही मार्गदर्शन के साथ, एक AI शून्य से एक परिष्कृत तर्क उपकरण (reasoning tool) बना सकता है, जो प्रभावी रूप से एक "स्व-लेखन सॉफ्टवेयर इंजीनियर" के रूप में कार्य करता है। यह अभी भी पूर्ण नहीं है, लेकिन यह इस बात की दिशा में एक बड़ी छलांग है कि मशीनें अपने लिए क्या बना सकती हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।