Can Coding Agents Solve Repository-Level Issues with Rendered Code? An Exploratory Study of Visual Representations
यह अध्ययन रिपॉजिटरी-स्तरीय कोडिंग एजेंटों के लिए एक टोकन-संपीड़न रणनीति के रूप में रेंडर किए गए कोड इमेजेस के उपयोग का मूल्यांकन करता है, जिसमें यह पाया गया है कि हालांकि यह प्रॉम्प्ट लागत को प्रभावी ढंग से कम करता है और मरम्मत सटीकता को बनाए रखता है, इसके लाभ सशर्त हैं और अंतर्निहित मॉडल की क्षमताओं और मरम्मत वर्कफ़्लो के विशिष्ट चरणों द्वारा सीमित हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि एक ऐसी दुनिया है जहाँ कंप्यूटर अविश्वसनीय रूप से तेज़, सुपर-स्मार्ट लाइब्रेरियन (पुस्तकालयाध्यक्ष) की तरह हैं जो एक सेकंड में लाखों किताबें पढ़ सकते हैं। इन "AI एजेंटों" को विशाल सॉफ़्टवेयर प्रोजेक्ट्स में टूटे हुए कोड को ठीक करने के लिए सिखाया जा रहा है, जो इंटरनेट के लिए डिजिटल मैकेनिक के रूप में कार्य करते हैं। लेकिन इसमें एक पेंच है: यदि आप उन्हें एक साथ पूरी लाइब्रेरी थमा देते हैं, तो ये लाइब्रेरियन घबरा जाते हैं। उन्हें टेक्स्ट को लाइन-दर-लाइन पढ़ना पड़ता है, और उन्हें जितना अधिक टेक्स्ट प्रोसेस करना होगा, उसमें उतना ही अधिक समय और पैसा खर्च होगा। हाल ही में, वैज्ञानिकों ने एक तरकीब खोजी: उन्हें कोड का पूरा टेक्स्ट देने के बजाय, आप कोड की एक फोटो ले सकते हैं। यह एक लंबे उपन्यास को एक एकल, सघन चित्र में बदलने जैसा है। यह "विजुअल कंप्रेशन" (दृश्य संपीड़न) जगह तो बचाता है, लेकिन क्या यह वास्तव में लाइब्रेरियन को किताब ठीक करने में मदद करता है, या यह सिर्फ एक ऐसा काम है जो बहुत धुंधला होने पर पढ़ने में असमर्थ हो जाता है?
यह प्रश्न हॉन्गकॉन्ग यूनिवर्सिटी ऑफ साइंस एंड टेक्नोलॉजी और बाइटडांस (ByteDance) के शोधकर्ताओं के एक नए अध्ययन के केंद्र में है। वे यह जानना चाहते थे कि क्या कोड को छवियों (images) में बदलना AI एजेंटों के लिए सॉफ़्टवेयर की मरम्मत करने का एक जादुई शॉर्टकट है, या यह सिर्फ एक चतुर तरकीब है जो वास्तविक काम आने पर विफल हो जाती है। उन्होंने न केवल AI को तस्वीर "देखने" के लिए कहा; बल्कि उन्होंने AI को एक वास्तविक परिदृश्य में रखा जहाँ उसे एक अस्त-व्यस्त डिजिटल गोदाम में घुसपैठ करनी थी, टूटे हुए हिस्से को खोजना था, उसे ठीक करना था, और यह साबित करना था कि वह काम कर रहा है। उनके निष्कर्ष बताते हैं कि हालांकि कोड की फोटो लेना बहुत पैसा बचाता है, लेकिन यह AI को स्मार्ट नहीं बनाता, और कभी-कभी, यदि आप फोटो को बहुत अधिक सिकोड़ देते हैं, तो AI भ्रमित हो जाता है।
प्रयोग: टेक्स्ट से पिक्सेल तक
इसकी जांच करने के लिए, शोधकर्ताओं ने SWE-bench Verified नामक एक प्रसिद्ध बेंचमार्क का उपयोग करके एक डिजिटल बाधा दौड़ (obstacle course) तैयार की। इसे एक विशाल, वास्तविक दुनिया के वीडियो गेम लेवल के रूप में समझें जहाँ AI को वास्तविक सॉफ़्टवेयर प्रोजेक्ट्स में वास्तविक बग्स (खोट) को ठीक करना होता है। AI एजेंट को तीन मुख्य कार्य करने थे:
- खोजना (Search): एक विशाल कोडबेस में सही फ़ाइल ढूँढना (जैसे घास के ढेर में सुई ढूँढना)।
- संपादन (Edit): बग को ठीक करने के लिए कोड में बदलाव करना।
- सत्यापन (Verify): यह सुनिश्चित करने के लिए परीक्षण चलाना कि सुधार वास्तव में काम कर गया और उसने कुछ और नहीं बिगाड़ा।
शोधकर्ताओं ने AI को "सुराग" देने के दो तरीकों की तुलना की:
- टेक्स्ट का तरीका: AI कोड को लाइन-दर-लाइन पढ़ता है, ठीक वैसे ही जैसे कोई इंसान किताब पढ़ता है।
- विजुअल (दृश्य) तरीका: कोड को एक छवि (एक रेंडर किया गया स्क्रीनशॉट) में बदल दिया जाता है, और AI कोड को समझने के लिए उस तस्वीर को देखता है।
उन्होंने इसे विभिन्न स्तरों के "कंप्रेशन" (संपीड़न) के साथ टेस्ट किया। कल्पना कीजिए कि आप टेक्स्ट के एक पन्ने की फोटो ले रहे हैं। आप जगह बचाने के लिए फोटो को छोटा (कंप्रेस) कर सकते हैं। शोधकर्ताओं ने यह देखने के लिए फोटो को छोटा और छोटा बनाया (कंप्रेशन अनुपात 1, 3, 5, और 7) कि वे कितनी जगह बचा सकते हैं इससे पहले कि AI कोड को समझना बंद कर दे।
परिणाम: बचत और संघर्षों का मिला-जुला रूप
अध्ययन ने एक दिलचस्प और थोड़ा जटिल चित्र प्रस्तुत किया। उन्होंने क्या पाया, यहाँ देखें:
1. पैसा बचाने वाला (लेकिन कोई जादुई छड़ी नहीं)
कोड को छवियों में बदलना निश्चित रूप से पैसा बचाता है। शोधकर्ताओं ने पाया कि विजुअल रिप्रेजेंटेशन का उपयोग करने से लगातार उन "टोकन्स" (डेटा की इकाइयाँ जिन्हें AI प्रोसेस करता है) की संख्या कम हो गई जिन्हें AI को पढ़ना पड़ता था। कुछ मामलों में, इसने कच्चे टेक्स्ट की तुलना में डेटा की मात्रा को 2.8 गुना तक कम कर दिया। हालाँकि, यह बचत एक सीधी रेखा में नहीं थी। आप सोच सकते हैं कि यदि आप इमेज को 7 गुना कंप्रेस करते हैं, तो आप 7 गुना पैसा बचाएंगे। लेकिन ऐसा नहीं है। बचत बहुत जल्दी एक "फ्लोर" (न्यूनतम स्तर) पर पहुँच जाती है। कोड के छोटे टुकड़ों के लिए, इमेज का आकार कितना भी कंप्रेस करने पर बहुत कम नहीं होता, क्योंकि इमेज को पढ़ने योग्य होने के लिए पर्याप्त बड़ा होना चाहिए। यह एक डाक टिकट को सिकोड़ने की कोशिश करने जैसा है; अंततः, आप उसे बिना अपठनीय बनाए और छोटा नहीं कर सकते।
2. सटीकता का जाल (Accuracy Trap)
सबसे महत्वपूर्ण निष्कर्ष यह था कि पैसा बचाने से AI स्मार्ट नहीं बना। AI की बग्स को वास्तव में ठीक करने की क्षमता (सटीकता) लगभग वैसी ही रही, चाहे वह टेक्स्ट पढ़े या तस्वीरें देखे।
- जब AI को शुरू से पूरा काम करना था (खोजना, पढ़ना, ठीक करना), तो विजुअल तरीका टेक्स्ट विधि के समान ही प्रभावी था, लेकिन सस्ता था।
- हालाँकि, यदि शोधकर्ताओं ने AI को बहुत अधिक कंप्रेस करने के लिए मजबूर किया (आक्रामक कंप्रेशन), तो AI अधिक गलतियाँ करने लगा। तस्वीरें बहुत धुंधली या भीड़भाड़ वाली हो गईं, और AI को कोड ठीक करने के लिए आवश्यक विवरण दिखाई नहीं दिए।
3. "खोज" बनाम "ठीक करना" की समस्या
शोधकर्ताओं ने यह देखने के लिए AI के काम को दो अलग-अलग चरणों में विभाजित किया कि विजुअल ट्रिक कहाँ मदद करती है:
- लोकेटर (खोजने वाला): यह AI का वह हिस्सा है जो देखता है कि बग कहाँ है। यहाँ, विजुअल इमेज बहुत मददगार थीं। चूंकि AI को घास के ढेर में सुई खोजने के लिए बहुत सारा कच्चा कोड पढ़ना था, इसलिए उस कोड को एक कॉम्पैक्ट इमेज में बदलने से भारी मात्रा में डेटा की बचत हुई।
- एडिटर (ठीक करने वाला): एक बार जब बग मिल जाता है, तो AI को वास्तव में कोड को बदलना होता है और परीक्षण चलाना होता है। यहाँ, विजुअल ट्रिक ज्यादा मदद नहीं करती। शोधकर्ताओं ने पाया कि भले ही AI को पता हो कि बग कहाँ है, सबसे कठिन काम उसे ठीक करने का "ट्रायल एंड एरर" (प्रयास और त्रुटि) था। AI को एडिट करना पड़ता, टेस्ट करना पड़ता, फेल होना पड़ता, फिर से एडिट करना पड़ता और फिर से टेस्ट करना पड़ता। यह प्रक्रिया बातचीत और परीक्षणों के उतार-चढ़ाव से भरी है, जिसे शुरुआती कोड इमेज को कंप्रेस करने से ज्यादा फायदा नहीं मिलता। वास्तव में, इन "फिक्सिंग" चरणों के लिए, लागत परीक्षण और संपादन द्वारा नियंत्रित थी, न कि पढ़ने द्वारा।
निष्कर्ष: एक उपयोगी उपकरण, लेकिन पूर्ण समाधान नहीं
तो, क्या कोडिंग एजेंट रेंडर किए गए कोड के माध्यम से रिपॉजिटरी-स्तर की समस्याओं को हल कर सकते हैं? हाँ, लेकिन कुछ शर्तों के साथ।
अध्ययन बताता है कि कोड को छवियों में बदलना लागत कम करने के लिए एक व्यवहार्य रणनीति है, विशेष रूप से जब AI बहुत अधिक मात्रा में टेक्स्ट को केवल पढ़ने और खोजने में समय बिता रहा हो। यह लाइब्रेरी के इंडेक्स की फोटो देने जैसा है बजाय पूरे बुक के, ताकि पेज नंबर मिल सके। यह तेज़ और सस्ता है।
हालाँकि, यह कोई जादुई समाधान नहीं है जो AI को अनंत रूप से बेहतर बनाता है।
- यह AI की अंतर्निहित बुद्धिमत्ता को ठीक नहीं करता है; यदि AI बग ठीक करने में बुरा है, तो वह बुरा ही रहेगा चाहे वह तस्वीर देखे।
- इसकी एक सीमा है। यदि आप और भी अधिक पैसा बचाने के लिए इमेज को बहुत छोटा करने की कोशिश करते हैं, तो AI भ्रमित हो जाता है, और सटीकता गिर जाती है।
- यह "खोज" चरण में सबसे अधिक मदद करता है। एक बार जब AI जान जाता है कि समस्या कहाँ है, तो उसे ठीक करने का असली काम (संपादन और परीक्षण) मुख्य बाधा बन जाता है, और विजुअल कंप्रेशन वहाँ ज्यादा मदद नहीं करता।
संक्षेप में, शोधकर्ता निष्कर्ष निकालते हैं कि विजुअल कोड एक बेहतरीन "कंडीशनल" (शर्तों पर आधारित) टूल है। यह कोड को पढ़ने के उबाऊ और भारी काम में पैसा बचाने का एक स्मार्ट तरीका है, लेकिन यह वास्तव में मरम्मत कार्य करने के लिए एक स्मार्ट, सावधानीपूर्वक संपादक की जगह नहीं ले सकता। भविष्य के AI कोडिंग के बारे में केवल इनपुट को छोटा करना नहीं है; बल्कि यह जानना है कि कब एक तस्वीर का उपयोग करना है और कब टेक्स्ट पर टिके रहना है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।