SkeletonGraph: A Zero-LLM Structural Retrieval Engine for Coding Agents, and Why Its Gains Land in the Cost Tail, Not the Median
यह शोधपत्र SkeletonGraph प्रस्तुत करता है, जो एक स्ट्रक्चरल रिट्रीवल इंजन है जो फंक्शन-लेवल कोड लोकलाइजेशन में महत्वपूर्ण सुधार करता है और टास्क डिस्ट्रीब्यूशन के महंगे टेल (tail) में कोडिंग एजेंट्स के लिए लागत कम करता है, फिर भी यह मेडियन लागत को कम करने या सॉल्व रेट को बढ़ाने में विफल रहता है क्योंकि इसकी प्रभावशीलता रिपॉजिटरी की परिचितता (familiarity) द्वारा सीमित है और यह कोड पढ़ने से एजेंट के अपने सीखने का स्थान नहीं ले सकता है।
मूल पेपर CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि अत्यधिक कुशल डिजिटल सहायकों की एक टीम है, जिनमें से प्रत्येक के पास कोड का एक विशाल पुस्तकालय और जटिल निर्देशों को समझने में सक्षम एक शक्तिशाली मस्तिष्क है। इन सहायकों को बड़े सॉफ्टवेयर प्रोजेक्ट्स में बग्स (bugs) ठीक करने का काम सौंपा गया है, एक ऐसा काम जिसके लिए यह ढूंढना आवश्यक है कि कोड का सटीक हिस्सा कहाँ टूटा है, यह पूरे सिस्टम में कैसे फिट बैठता है, और फिर उसे सही ढंग से फिर से लिखना है। लंबे समय तक, उद्योग का मानना था कि इन सहायकों के लिए सबसे बड़ी बाधा केवल सही फ़ाइल को ढूंढना था। प्रचलित सिद्धांत यह था कि यदि हम एक बेहतर मानचित्र या एक स्मार्ट सर्च इंजन बना सकें जो सहायक को तुरंत सही फ़ाइल सौंप दे, तो हम बहुत सारा समय और पैसा बचा लेंगे। यह तर्कसंगत लग रहा था: यदि सहायक को उस फ़ाइल को खोजने के लिए हजारों फ़ाइलों के माध्यम से भटकना नहीं पड़ता जिसे उसे ढूँढना है, तो वह काम को तेज़ी से और सस्ते में पूरा कर लेगा।
इस विश्वास ने संरचनात्मक रिट्रिवल इंजन (structural retrieval engines) के रूप में कार्य करने वाले नए उपकरणों की एक लहर को प्रेरित किया। इन उपकरणों को केवल टेक्स्ट को लाइन दर लाइन पढ़ने देने के बजाय, कोड की वास्तुकला (architecture) का विश्लेषण करने के लिए डिज़ाइन किया गया, यह समझना कि फंक्शन एक दूसरे को कैसे कॉल करते हैं, और ठीक वही फंक्शन सामने लाना जिसकी सहायक को संपादन करने की आवश्यकता है। इसका वादा नाटकीय था: कुछ डेवलपर्स ने दावा किया कि ये सिस्टम लागत को निन्यानवे प्रतिशत तक कम कर सकते हैं। लेकिन एक नया अध्ययन इस आशावादी दृष्टिकोण को चुनौती देता है, यह सुझाव देते हुए कि हालांकि ये उपकरण कोड को बेहतर तरीके से ढूंढते हैं, लेकिन वे आवश्यक रूप से औसत कार्य के लिए काम को सस्ता नहीं बनाते हैं। शोधकर्ताओं ने पाया कि बचत सभी नौकरियों में समान रूप से वितरित नहीं होती है; इसके बजाय, वे केवल सबसे कठिन, महंगे मामलों में दिखाई देती हैं, जिससे सामान्य कार्य पहले की तरह ही महंगा रह जाता है।
यह अध्ययन, स्वतंत्र शोधकर्ता यश डोक द्वारा किया गया था, जिसने वास्तविक दुनिया के परिवेश में इन दावों का परीक्षण करने के लिए बनाया गया था। टीम ने 'स्केलेटनग्राफ' (SkeletonGraph) नामक एक प्रणाली बनाई, जो कोडिंग एजेंटों के लिए एक विशेष लाइब्रेरियन के रूप में कार्य करती है। टेक्स्ट में कीवर्ड खोजने वाले मानक खोज उपकरणों के विपरीत, स्केलेटनग्राफ कोड की संरचना को समझता है। यह जानता है कि एक फंक्शन काम की एक विशिष्ट इकाई है और यह ट्रैक कर सकता है कि एक प्रोग्राम के विभिन्न भाग एक-दूसरे से कैसे जुड़ते हैं। इसकी प्रभावशीलता का परीक्षण करने के लिए, शोधकर्ताओं ने इस नई प्रणाली को एक अग्रणी कोडिंग एजेंट, 'क्लॉड कोड' (Claude Code) द्वारा उपयोग किए जाने वाले मानक, अंतर्निहित टेक्स्ट सर्च के विरुद्ध खड़ा किया। उन्होंने दोनों प्रणालियों को सौ वास्तविक दुनिया के कोडिंग कार्यों के माध्यम से चलाया, यह सुनिश्चित करते हुए कि प्रत्येक प्रस्तावित सुधार को वास्तव में प्रोजेक्ट के अपने सॉफ्टवेयर टेस्ट चलाकर परखा गया कि वह काम करता है या नहीं। यह महत्वपूर्ण था, क्योंकि इसका मतलब था कि वे केवल एक सर्च इंजन के प्रदर्शन को नहीं, बल्कि पूरी प्रक्रिया की वास्तविक लागत और सफलता को माप रहे थे।
परिणाम अपनी सटीकता में प्रभावशाली लेकिन अपने वित्तीय प्रभाव में आश्चर्यजनक थे। जब बात संपादित करने के लिए सही फ़ाइल खोजने की आई, तो नई संरचनात्मक प्रणाली काफी बेहतर थी। अपने पहले ही प्रयास में, इसने अस्सी छह प्रतिशत कार्यों के लिए सही फ़ाइल का पता लगा लिया, जबकि मानक टेक्स्ट सर्च केवल साठ छह प्रतिशत समय में सही फ़ाइल ढूंढ सका। जब फ़ाइल के भीतर उस विशिष्ट फंक्शन की पहचान करने की बात आई जिसे बदलने की आवश्यकता थी, तो अंतर और भी नाटकीय हो गया। नए सिस्टम ने लगभग अस्सी प्रतिशत समय में सही फंक्शन की पहचान की, जबकि मानक टेक्स्ट सर्च, जो तार्किक ब्लॉक्स के बजाय टेक्स्ट की लाइनों को मिलाने के लिए बनाया गया है, एक भी सही फंक्शन का नाम नहीं बता सका। इस अर्थ में, संरचनात्मक टूल अपने प्राथमिक कार्य में निर्विवाद रूप से श्रेष्ठ था: इसने सही पड़ोस ढूंढा और सीधे सही घर की ओर इशारा किया।
हालाँकि, जब शोधकर्ताओं ने लागत को देखा, तो कहानी बदल गई। उन्हें उम्मीद थी कि चूंकि नया सिस्टम कोड को बहुत तेज़ी से ढूंढ लेता है, इसलिए प्रत्येक कार्य के लिए कुल बिल काफी कम हो जाएगा। इसके बजाय, उन्होंने पाया कि मध्यम कठिनाई वाले सामान्य कार्य के लिए, लागत वास्तव में लगभग दो प्रतिशत बढ़ गई। भारी बचत बीच के कार्यों में नहीं दिखी; वे पूरी तरह से सबसे महंगे, कठिन कार्यों के अंत में छिपी हुई थीं। सबसे कठिन पच्चीस प्रतिशत कार्यों के लिए, नए सिस्टम ने लागत को लगभग सोलह प्रतिशत कम कर दिया, और सबसे कठिन पाँच प्रतिशत कार्यों के लिए, इसने लागत को बयालीस प्रतिशत तक घटा दिया। सभी कार्यों में औसत बचत लगभग पंद्रह प्रतिशत थी, लेकिन यह संख्या भ्रामक थी क्योंकि यह लगभग पूरी तरह से उन कुछ अत्यधिक कठिन मामलों द्वारा संचालित थी जहाँ मानक सिस्टम भटक गया था और बहुत अधिक खर्च कर दिया था। अधिकांश कार्यों के लिए, नए सिस्टम ने काम को सस्ता नहीं बनाया; वास्तव में, सबसे आसान कार्यों के लिए, इसने काम को थोड़ा और महंगा बना दिया।
शोधकर्ताओं ने इस विसंगति के कारण का पता लगाने के लिए कि कोडिंग एजेंट वास्तव में कैसे काम करते हैं, इसका विश्लेषण किया। उन्होंने पाया कि एजेंट को किसी भी एक समय में अपनी मेमोरी में कितनी जानकारी रखनी होती है, वह लगभग बिल्कुल समान रहती है, चाहे वह नए संरचनात्मक टूल का उपयोग करे या पुराने टेक्स्ट सर्च का। एजेंट को समाधान लिखने के लिए अभी भी उसी मात्रा में संदर्भ (context) को समझने की आवश्यकता होती है। नया सिस्टम केवल उस संदर्भ को प्रक्रिया के पहले चरण में ही उपलब्ध करा देता है। चूंकि एजेंट को हर नए कदम के साथ अब तक एकत्र की गई सारी जानकारी फिर से भेजनी पड़ती थी, इसलिए सही फ़ाइल को जल्दी उपलब्ध कराने से संसाधित डेटा की कुल मात्रा कम नहीं हुई; इसने केवल एजेंट द्वारा लिए गए चरणों की संख्या को कम किया। एजेंट को अभी भी कोड लिखने और टेस्ट चलाने में समय बिताना पड़ता था, जो कि काम का मुख्य हिस्सा था। नए सिस्टम ने भटकने में लगने वाला समय बचाया, लेकिन वह समाधान बनाने में लगने वाले समय को नहीं बचा सका।
इससे इन एजेंटों के सीखने के बारे में एक विरोधाभासी निष्कर्ष निकला। जब मानक टेक्स्ट सर्च सिस्टम को स्वयं खोजने और फ़ाइलें पढ़ने की अनुमति दी गई, तो अक्सर इसने संरचनात्मक सिस्टम की तुलना में अधिक फ़ाइलें पढ़ीं, लेकिन ऐसा करते हुए इसने उस विशेष कोडबेस की विशिष्ट शब्दावली और पैटर्न को सीख लिया। इस "करके सीखने" (learning by doing) ने इसे कार्य के दौरान अधिक प्रभावी ढंग से खोजने में सक्षम बनाया। संरचनात्मक सिस्टम, तुरंत फ़ाइलों की एक रैंक की गई सूची सौंपकर, कभी-कभी एजेंट को कोड की अनूठी भाषा को खोजने और सीखने से रोक देता था। परीक्षण की गई चार में से तीन स्थितियों में, मानक सिस्टम अंततः कार्य के अंत तक सही फ़ाइलों को उतनी ही बार ढूंढ लेता था जितना कि संरचनात्मक सिस्टम, क्योंकि इसने अधिक अन्वेषण किया था। संरचनात्मक सिस्टम शुरुआती रेखा तक पहुँचने में तेज़ था, लेकिन फिनिश लाइन (समाप्ति रेखा) वही थी।
अध्ययन ने यह भी परीक्षण किया कि क्या समस्या के विवरण की गुणवत्ता मायने रखती है। उन्होंने त्रुटि लॉग (error logs) और कोड स्निपेट्स जैसे तकनीकी विवरणों को हटा दिया, जिससे केवल साधारण अंग्रेजी स्पष्टीकरण ही शेष रहे। उन्हें उम्मीद थी कि इससे संरचनात्मक सिस्टम संघर्ष करेगा, लेकिन ऐसा नहीं हुआ। संरचनात्मक सिस्टम की सही कोड खोजने की क्षमता स्थिर रही, जिससे पता चलता है कि यह विशिष्ट विवरणों के बजाय कोड की संरचना पर निर्भर करता है। हालाँकि, उन्होंने पाया कि जब कोडबेस पूरी तरह से नया और मॉडल के लिए अपरिचित था, तो सिस्टम काफी खराब प्रदर्शन करता था, जिसकी सफलता दर लगभग अठासी प्रतिशत से गिरकर लगभग उनसठ प्रतिशत रह गई। इससे पता चला कि सिस्टम की सफलता मॉडल के पूर्व ज्ञान पर बहुत अधिक निर्भर करती है, न कि केवल खोज उपकरण की गुणवत्ता पर।
अंततः, पेपर यह निष्कर्ष निकालता है कि संरचनात्मक रिट्रिवल एक आपदा को रोकने का उपकरण है, न कि औसत को अनुकूलित करने का। यह एक सुरक्षा जाल (safety net) के रूप में कार्य करता है जो सबसे महंगे, कठिन कार्यों को नियंत्रण से बाहर होने से रोकता है, लेकिन यह नियमित कार्यों को सस्ता नहीं बनाता है। शोधकर्ताओं का तर्क है कि उद्योग गलत चीज़ को माप रहा है। एक एकल खोज में कितने टोकन बचते हैं, इस पर ध्यान केंद्रित करके, डेवलपर्स इस तथ्य को अनदेखा कर रहे हैं कि कुल लागत इस बात से निर्धारित होती है कि एजेंट कितने कदम लेता है और उसे कितना संदर्भ ले जाना पड़ता है। नया सिस्टम उत्तर तक पहुँचने का रास्ता छोटा करता है, लेकिन यह उत्तर के आकार को छोटा नहीं करता है। विशिष्ट उपयोगकर्ता के लिए, बिल कम नहीं होगा; उस उपयोगकर्ता के लिए जो एक जटिल, टूटे हुए सिस्टम का सामना कर रहा है, बिल काफी कम होगा। इस तकनीक का मूल्य आसान कामों को सस्ता बनाने में नहीं है, बल्कि कठिन कामों को असंभव होने से बचाने में है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।