Benchmarking Requirement-to-Architecture Generation with Hybrid Evaluation
यह शोध पत्र R2ABench प्रस्तुत करता है, जो PRDs और विशेषज्ञ PlantUML आरेखों के साथ वास्तविक दुनिया की परियोजनाओं वाला एक नया बेंचमार्क है, साथ ही एक हाइब्रिड मूल्यांकन ढांचा भी प्रदान करता है जो यह प्रकट करता है कि जबकि LLMs सिंटैक्स और एंटिटी एक्सट्रैक्शन में उत्कृष्ट हैं, वे सॉफ्टवेयर आर्किटेक्चर जनरेशन में रिलेशनल रीजनिंग (संबंधात्मक तर्क) के साथ मौलिक रूप से संघर्ष करते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक स्टार्टअप के CEO हैं। आपके पास एक विशाल, अस्त-व्यस्त नोटबुक है जिसमें आपके एक नए ऐप के लिए आपके सबसे अनोखे विचार भरे हुए हैं: "इसे उपयोगकर्ताओं से बात करनी चाहिए," "इसे फोटो स्टोर करना चाहिए," "इसे तेज़ बनाना चाहिए," और "इसे फोन पर काम करना चाहिए।" यह आपकी आवश्यकता का दस्तावेज़ (Requirement Document) है।
अब, कल्पना कीजिए कि आपको एक ब्लूप्रिंट (नक्शा) बनाने के लिए एक आर्किटेक्ट को काम पर रखना है। पुराने दिनों में, आप एक मानव आर्किटेक्ट को काम पर रखते जो आपकी अस्त-व्यस्त नोटबुक को पढ़ता, गहराई से सोचता, और एक सटीक, विस्तृत ब्लूप्रिंट बनाता। लेकिन इसमें समय लगता है, पैसा खर्च होता है, और यदि आप बाद में अपना विचार बदलते हैं, तो आर्किटेक्ट को सब कुछ फिर से बनाना पड़ता है।
यहाँ AI (लार्ज लैंग्वेज मॉडल्स) की एंट्री होती है। आप सोचते हैं, "अरे, AI कोड और कहानियाँ लिखने में बहुत अच्छा है। क्या यह मेरे नोटबुक को पढ़कर तुरंत एक सटीक ब्लूप्रिंट नहीं बना सकता?"
यह शोध पत्र, R2ABench, AI के लिए एक कठोर "ड्राइविंग टेस्ट" की तरह है, यह देखने के लिए कि क्या वह वास्तव में वह काम कर सकता है। यहाँ इसका सरल विवरण दिया गया है:
1. समस्या: "खाली कैनवास" का अंतर (The "Blank Canvas" Gap)
शोधकर्ताओं ने देखा कि जबकि AI कोड लिखने (जैसे एक अकेली ईंट बनाना) में अद्भुत है, इसे अस्त-व्यस्त, वास्तविक दुनिया के नोट्स से पूरे भवन का डिज़ाइन (आर्किटेक्चर) बनाने के लिए अच्छी तरह से परखा नहीं गया है।
- अंतर: मौजूदा परीक्षणों में "एक दरवाज़े वाला घर बनाओ" जैसे सटीक, छोटे वाक्यों का उपयोग किया जाता था। वास्तविक जीवन अस्त-व्यस्त होता है: "हमें एक ऐसा घर चाहिए जो एक महल जैसा महसूस करे लेकिन कार्डबोर्ड से बना हो, जिसमें एक गुप्त सुरंग हो, और दरवाज़ा नीला होना चाहिए लेकिन केवल मंगलवार को।"
- समाधान: उन्होंने R2ABench बनाया। इसे एक विशाल, मानकीकृत "परीक्षा कक्ष" के रूप में समझें जिसमें 17 वास्तविक दुनिया के सॉफ्टवेयर प्रोजेक्ट शामिल हैं। प्रत्येक प्रोजेक्ट के लिए, उनके पास अस्त-व्यस्त "CEO की नोटबुक" (आवश्यकताएं) और एक गोल्ड स्टैंडर्ड ब्लूप्रिंट (मानव विशेषज्ञों द्वारा बनाया गया सटीक आरेख) है।
2. परीक्षण: हम AI को ग्रेड कैसे देते हैं?
आप केवल AI से यह नहीं पूछ सकते कि, "क्या मैंने अच्छा किया?" क्योंकि AI झूठ बोल सकता है (Hallucination)। आप केवल शब्दों की तुलना नहीं कर सकते, क्योंकि एक ब्लूप्रिंट एक संरचना है, न कि एक कहानी।
इसलिए, उन्होंने एक तीन-स्तरीय ग्रेडिंग प्रणाली बनाई:
लेयर 1: संरचनात्मक जाँच (The "क्या यह गिर गया?" टेस्ट)
- वे AI के चित्र को एक ग्राफ (बिंदुओं और रेखाओं) में बदल देते हैं।
- क्या यह कंपाइल हुआ? (क्या चित्र वैध है?)
- क्या इसने बिंदुओं को सही पहचाना? (क्या इसने "डेटाबेस" और "यूज़र" को पहचाना?)
- क्या इसने रेखाओं को सही पकड़ा? (यह कठिन हिस्सा है। क्या इसने यूज़र को डेटाबेस से सही ढंग से जोड़ा, या इसने यूज़र को चंद्रमा से जोड़ दिया?)
- उपमा: यह यह जाँचने जैसा है कि क्या लेगो (LEGO) के महल में सही संख्या में टावर हैं और क्या दीवारें वास्तव में आधार से जुड़ी हुई हैं।
लेयर 2: मानव-तुल्य निर्णायक (The "क्या यह समझ में आता है?" टेस्ट)
- वे एक बहुत ही बुद्धिमान AI (एक अन्य AI) का उपयोग करते हैं जो एक शिक्षक के रूप में कार्य करता है। यह अस्त-व्यस्त नोट्स और AI के चित्र को पढ़ता है और इसे निम्नलिखित पर स्कोर देता है:
- पूर्णता (Completeness): क्या यह रसोई भूल गया?
- सटीकता (Accuracy): क्या इसने बिना मांगे स्विमिंग पूल बना दिया?
- तार्किकता (Rationality): क्या रसोई बाथरूम के बगल में है? (शायद यह अच्छा विचार नहीं है)।
- पठनीयता (Readability): क्या चित्र अव्यवस्थित है या व्यवस्थित है?
- वे एक बहुत ही बुद्धिमान AI (एक अन्य AI) का उपयोग करते हैं जो एक शिक्षक के रूप में कार्य करता है। यह अस्त-व्यस्त नोट्स और AI के चित्र को पढ़ता है और इसे निम्नलिखित पर स्कोर देता है:
लेयर 3: "एंटी-पैटर्न" डिटेक्टर (The "खराब डिज़ाइन" अलार्म)
- यह सामान्य वास्तुशिल्प गलतियों की जाँच करता है।
- अनाथ घटक (Orphaned Components): क्या इसने एक कमरा बनाया जिसका कोई दरवाज़ा नहीं है? (बेकार)।
- "गॉड कंपोनेंट" (The "God Component"): क्या इसने एक विशाल कमरा बनाया जिसके माध्यम से हर किसी को बाथरूम तक जाने के लिए गुजरना पड़ता है? (यह एक बाधा है; एक बुरा डिज़ाइन)।
3. परिणाम: AI बना तो सकता है, पर जोड़ नहीं सकता
उन्होंने सबसे स्मार्ट AI (जैसे GPT-5, Claude, और विशेष कोडिंग AI) और कुछ "एजेंट" सिस्टम (AI टीमें जो एक साथ काम करने की कोशिश करती हैं) का परीक्षण किया। यहाँ उन्हें क्या मिला:
- अच्छी खबर: AI चीजों को नाम देने में बहुत अच्छा है। यदि आप "डेटाबेस" मांगते हैं, तो यह लगभग हमेशा "डेटाबेस" लेबल वाला एक बॉक्स बनाता है। यह शब्दावली को समझता है।
- बुरी खबर: AI चीजों को जोड़ने में बहुत खराब है। यह अक्सर बॉक्स तो बनाता है लेकिन उनके बीच की रेखाएं बनाना भूल जाता है, या रेखाएं गलत दिशा में खींच देता है।
- उपमा: यह एक ऐसे बच्चे की तरह है जो पहेली (puzzle) के हर टुकड़े का नाम तो पूरी तरह से जानता है, लेकिन यह नहीं समझ पाता कि वे एक दूसरे में कैसे फिट होते हैं। परिणाम एक तस्वीर नहीं, बल्कि पहेली के टुकड़ों का ढेर है।
- "एजेंट" का आश्चर्य: उन्होंने "एजेंट फ्रेमवर्क" (जहाँ एक AI योजना लिखता है, दूसरा उसकी जाँच करता है, तीसरा उसे बनाता है) का परीक्षण किया। उन्हें उम्मीद थी कि यह आर्किटेक्ट्स की एक टीम की तरह काम करेगा।
- परिणाम: एक बेहतर टीम के बजाय, यह एक अराजक बैठक की तरह था जहाँ हर कोई एक-दूसरे की बात काट रहा था। "एजेंट्स" ने वास्तव में चित्रों को और भी बदतर और अस्थिर बना दिया।
4. "गायब जानकारी" का प्रयोग
उन्होंने परीक्षण किया कि यदि वे AI को कम जानकारी देते हैं तो क्या होता है।
- परिदृश्य: आप AI को कहते हैं, "एक घर बनाओ," लेकिन आप उसे यह नहीं बताते कि उसमें कितने कमरे होंगे या उसकी छत कैसी होगी।
- परिणाम: AI कमरों का अनुमान लगाने में बहुत अच्छा हो जाता है (यह अभी भी एक रसोई और एक बेडरूम बनाता है), लेकिन कनेक्शन पूरी तरह से बिखर जाते हैं। कमरे आपस में जुड़े बिना अलग-थलग द्वीपों की तरह रह जाते हैं।
- सबक: चीजों को कैसे जोड़ा जाए, इसके लिए AI को स्पष्ट निर्देशों की आवश्यकता होती है। यह केवल एक अस्पष्ट विवरण पढ़कर सिस्टम के जटिल संबंधों का "अनुमान" नहीं लगा सकता।
5. निष्कर्ष: आगे क्या है?
यह शोध पत्र निष्कर्ष निकालता है कि हालांकि AI एक शक्तिशाली उपकरण है, लेकिन यह जटिल प्रणालियों के लिए मानव आर्किटेक्ट की जगह लेने के लिए अभी तैयार नहीं है।
- यह कमरों की सूची (घटक) जल्दी से तैयार कर सकता है।
- लेकिन यह प्लंबिंग और वायरिंग (संबंध और डेटा प्रवाह) को डिज़ाइन करने में संघर्ष करता है।
- सामान्य चैटबॉट्स की तुलना में विशेष "कोडिंग" AI इस मामले में थोड़े बेहतर हैं, लेकिन वे फिर भी गलतियाँ करते हैं।
मुख्य बात: AI को एक बहुत तेज़, बहुत जानकार ड्राफ्ट्समैन (रेखाचित्रकार) के रूप में देखें जो दीवारों को तुरंत बना सकता है। लेकिन आपको अभी भी एक मानव आर्किटेक्ट की आवश्यकता है जो ड्राइंग को देखकर कह सके, "रुको, रसोई छत पर है, और दरवाज़ा शून्य (void) की ओर खुलता है। कनेक्शन ठीक करो।"
R2ABench अब किसी के लिए भी उपयोग के लिए उपलब्ध है ताकि वे अपने स्वयं के AI आर्किटेक्ट्स का परीक्षण कर सकें, जिससे यह सुनिश्चित हो सके कि हम कमजोर नींव पर सॉफ्टवेयर का निर्माण न करें।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।