Coding with Eyes: Visual Feedback Unlocks Reliable GUI Code Generating and Debugging
यह शोध पत्र GUI इंटरैक्शन और विज़ुअल स्ट्रक्चर के मूल्यांकन के लिए एक नया बेंचमार्क, InteractGUI Bench पेश करता है, और VF-Coder का प्रस्ताव देता है, जो एक विज़न-फीडबैक-आधारित मल्टी-एजेंट सिस्टम है जो मानव जैसी विज़ुअल धारणा और इंटरैक्शन का अनुकरण करके GUI कोड जनरेशन और डिबगिंग सफलता दर में महत्वपूर्ण सुधार करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक बहुत ही बुद्धिमान, लेकिन थोड़े अंधे रोबोट को एक जटिल वीडियो गेम या डेस्कटॉप एप्लिकेशन बनाना सिखाने की कोशिश कर रहे हैं।
अतीत में, आप रोबोट को कहते: "मेरे लिए एक लाल बटन वाली विंडो बनाओ।" रोबोट कोड लिखता, उसे चलाता, और फिर यह देखने के लिए कि क्या यह काम कर गया, स्क्रीन पर मौजूद टेक्स्ट को पढ़ता। वह "बटन नहीं मिला" या "सिंटैक्स एरर" जैसे एरर मैसेज पढ़ता। यदि रोबोट कोई गलती करता, तो वह टेक्स्ट के आधार पर अनुमान लगाता कि क्या गलत हुआ होगा, कोड को ठीक करता, और फिर से प्रयास करता।
समस्या:
यह सरल टेक्स्ट प्रोग्रामों के लिए बहुत अच्छा काम करता है। लेकिन ग्राफिकल यूजर इंटरफेस (GUIs) के लिए—जैसे कि आपके कंप्यूटर पर दिखने वाली विंडोज़, बटन और मेनू—टेक्स्ट पर्याप्त नहीं है।
- "अंधेपन" की समस्या: यदि रोबोट एक ऐसी विंडो बनाता है जहाँ "लाल बटन" वास्तव में नीला है, या यदि वह किसी तस्वीर के पीछे दब गया है, तो टेक्स्ट लॉग आपको यह नहीं बताएगा। रोबोट सोचेगा, "मैंने लाल बटन के लिए कोड लिखा है, इसलिए यह लाल ही होगा!"
- "इवेंट" की समस्या: GUIs जीवित चीजों की तरह होते; वे प्रतिक्रिया देते हैं जब आप क्लिक करते हैं, ड्रैग करते हैं या टाइप करते हैं। एक रोबोट जो केवल टेक्स्ट लॉग पढ़ सकता है, वह यह "महसूस" नहीं कर पाएगा कि क्लिक करने पर बटन वास्तव में कुछ करता है या नहीं।
यह पेपर एक नया तरीका पेश करता है जिससे आप रोबोट को सिखा सकते हैं: उसे आँखें दें।
समाधान: "आँखों के साथ कोडिंग" (VF-Coder)
लेखकों ने VF-Coder (विजुअल फीडबैक कोडर) नामक एक सिस्टम बनाया। केवल एरर लॉग पढ़ने के बजाय, यह सिस्टम स्क्रीन की एक तस्वीर लेता है, उसे देखता है, और कहता है, "हे, वह बटन नीला है, लाल नहीं! और जब मैंने उस पर क्लिक किया, तो कुछ नहीं हुआ!"
यहाँ बताया गया है कि उन्होंने इसे कैसे किया, जिसे तीन सरल भागों में विभाजित किया गया है:
1. नया टेस्ट ड्राइव: "इंटरैक्टGUI बेंच" (InteractGUI Bench)
इससे पहले कि वे रोबोट को ठीक कर पाते, उन्हें एक बेहतर ड्राइविंग टेस्ट की आवश्यकता थी।
- पुराना टेस्ट: वे रोबोट को साधारण वेब पेजों (जैसे स्थिर पोस्टर) पर टेस्ट करते थे।
- नया टेस्ट: उन्होंने 984 वास्तविक दुनिया के डेस्कटॉप ऐप्स (जैसे फोटो एडिटर, चैट ऐप्स और डेटाबेस टूल्स) की एक विशाल लाइब्रेरी बनाई।
- ट्विस्ट: उन्होंने केवल रोबोट से ऐप को "बनाने" के लिए नहीं कहा। उन्होंने एक विशेष स्क्रिप्ट बनाई जो एक आभासी मानव हाथ की तरह कार्य करती है। यह स्क्रिप्ट बटन क्लिक करती है, टेक्स्ट टाइप करती है, और मेनू में नेविगेट करती है ताकि यह देखा जा सके कि ऐप वास्तव में काम कर रहा है या नहीं, न कि केवल यह कि वह कैसा दिखता है।
2. तीन सिरों वाली रोबोट टीम (VF-Coder)
इस समस्या को हल करने के लिए, उन्होंने केवल एक रोबोट को अपग्रेड नहीं किया; उन्होंने मिलकर काम करने वाले तीन विशिष्ट एजेंटों की एक टीम बनाई:
- आर्किटेक्ट (टास्क प्लानर): यह बॉस है। यह निर्देशों को पढ़ता है ("एक चैट ऐप बनाओ") और काम को छोटे चरणों में तोड़ देता है। यह तय करता है कि कौन क्या करेगा।
- इंस्पेक्टर (GUI ऑपरेटर): यह आँखों वाला रोब सहित है। यह एक सुरक्षित सैंडबॉक्स में ऐप चलाता है, स्क्रीनशॉट लेता है, और वास्तव में बटनों पर क्लिक करता है। यदि यह लेआउट की त्रुटि या ऐसा बटन देखता है जो काम नहीं कर रहा है, तो यह बग की एक तस्वीर खींचता है और कहता है, "बॉस, इसे देखो!"
- मैकेनिक (कोड फिक्सर): यह औजारों वाला रोबोट है। यह आर्किटेक्ट की योजना और इंस्पेक्टर द्वारा दिखाए गए बग की फोटो को लेता है। यह कोड को देखता है, गलती ढूंढता है (जैसे, "मैंने बटन को नीला बताया था, लाल नहीं"), और उसे ठीक करता है।
जादुई लूप (The Magic Loop):
- मैकेनिक कोड लिखता है।
- इंस्पेक्टर इसे चलाता है और एक तस्वीर लेता है।
- इंस्पेक्टर एक समस्या देखता है (जैसे, "मेन्यू गायब है!")।
- इंस्पेक्टर तस्वीर आर्किटेक्ट को दिखाता है।
- आर्किटेक्ट मैकेनिक को बताता है: "मेन्यू को ठीक करो, और यहाँ इसकी एक तस्वीर है कि यह कैसा दिखना चाहिए।"
- मैकेनिक इसे ठीक करता है, और लूप तब तक दोहराया जाता है जब तक कि ऐप परफेक्ट न हो जाए।
परिणाम: यह क्यों मायने रखता है
शोधकर्ताओं ने इस नए "आँखों वाले" सिस्टम का परीक्षण पुराने "अंधे" टेक्स्ट-ओनली सिस्टम के मुकाबले किया।
- अंधा रोबोट: केवल लगभग 21% जटिल ऐप्स को सही ढंग से ठीक कर सका। वह विजुअल गलतियाँ करता रहा क्योंकि वह उन्हें "देख" नहीं सकता था।
- आँखों वाला रोबोट (VF-Coder): इसने 28% कार्यों को हल किया। हालांकि यह संख्या बहुत बड़ी नहीं लग सकती है, लेकिन AI कोडिंग की दुनिया में, 6.6% की छलांग एक बहुत बड़ी उपलब्धि है। इसने ऐप्स को मूल डिज़ाइन के बहुत करीब भी बनाया।
बड़ा चित्र एनालॉजी (The Big Picture Analogy)
घर बनाने के बारे में सोचें:
- पुरानी विधि: आप आर्किटेक्ट हैं। आप योजनाएँ बनाते हैं। बिल्डर (AI) घर बनाता है। आपको केवल एक रिपोर्ट मिलती है कि "दरवाजे का फ्रेम 2 इंच छोटा है।" बिल्डर अनुमान लगाता है कि क्यों और उसे ठीक करता है, लेकिन वे दरवाजे को गलत रंग में पेंट कर सकते हैं क्योंकि रिपोर्ट में रंग का उल्लेख नहीं था।
- नई विधि (VF-Coder): आप आर्किटेक्ट हैं। बिल्डर घर बनाता है। फिर, एक सुरक्षा निरीक्षक कैमरा लेकर घर का निरीक्षण करता है। वह घर की फोटो लेता है, उसकी तुलना आपकी योजनाओं से करता है, और कहता है, "दरवाजा छोटा है, और पेंट नीला है जबकि लाल होना चाहिए था।" बिल्डर फिर तुरंत दोनों समस्याओं को ठीक करता है।
निष्कर्ष
यह पेपर यह साबित करता है कि AI को वास्तव में वह सॉफ्टवेयर बनाने में महारत हासिल करने के लिए जिसे इंसान उपयोग करते हैं, उसे केवल एरर लॉग पढ़ना बंद करना होगा और स्क्रीन को देखना शुरू करना होगा। AI एजेंटों को विजुअल दुनिया को देखने के लिए "आँखें" देकर, हम ऐसा सॉफ्टवेयर बना सकते हैं जो न केवल कार्यात्मक है, बल्कि वैसा ही दिखता और महसूस होता है जैसा हम उम्मीद करते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।