CORVUS: Context Optimization and Reduction Via Underlying Synchronization for LLM Coding Agents
CORVUS LLM कोडिंग एजेंटों के लिए एक नवीन ट्रॅजेक्टरी आर्किटेक्चर पेश करता है जो वर्तमान फ़ाइल सामग्री की एक सिंक्रोनाइज़्ड रजिस्ट्री बनाए रखकर फ़ाइल-रीड क्रियाओं को उनके अवलोकनों से अलग करता है, जिससे पुराने स्नैपशॉट्स और अनावश्यक पुन: पठन को समाप्त किया जा सके ताकि प्रदर्शन को बनाए रखते हुए टोकन उपयोग और रीजनिंग चक्रों को महत्वपूर्ण रूप से कम किया जा सके।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि एक ऐसी दुनिया है जहाँ आपके पास एक सुपर-स्मार्ट रोबोट सहायक है जो कंप्यूटर कोड लिख सकता है, बग्स ठीक कर सकता है और आपसे बात करके पूरे सॉफ्टवेयर प्रोग्राम बना सकता है। यह विज्ञान कथा नहीं है; यह "LLM कोडिंग एजेंट्स" की वास्तविकता है। ये आर्टिफिशियल इंटेलिजेंस मॉडल जूनियर डेवलपर्स की तरह काम करते हैं: वे एक समस्या के बारे में सोचते हैं, फाइलों को देखते हैं, बदलाव करते हैं और अपने काम की जांच करते हैं। लेकिन यहाँ एक पेंच है: इन रोबोटों में अल्पकालिक स्मृति (short-term memory) की समस्या है। यह याद रखने के लिए कि उन्होंने क्या किया है, वे हर एक विचार, क्रिया और परिणाम की एक चलती हुई डायरी रखते हैं। काम जितना जटिल होता है, यह डायरी उतनी ही लंबी होती जाती है। अंततः, डायरी इतनी विशाल हो जाती है कि रोबोट भ्रमित हो जाता है, महत्वपूर्ण विवरण भूल जाता है, और मूर्खतापूर्ण गलतियाँ करने लगता है क्योंकि वह यह याद रखने के लिए कि उसने पाँच मिनट पहले क्या किया था, एक 500 पन्नों की किताब पढ़ने की कोशिश कर रहा है। यह घटना, जहाँ बहुत अधिक जानकारी AI को कम बुद्धिमान बना देती है, "कॉन्टेक्स्ट रॉट" (context rot) कहलाती है।
यहाँ आता है CORVUS, एक चतुर नया सिस्टम जिसे इस मेमोरी के झमेले को ठीक करने के लिए डिज़ाइन किया गया है। रोबोट की डायरी को पुराने, आउटडेटेड नोट्स के साथ अनियंत्रित रूप से बढ़ने देने के बजाय, CORVUS एक जादुई, जीवित लाइब्रेरी की तरह काम करता है। यह समझता है कि कोड समय के साथ बदलता रहता है। यदि रोबोट एक फ़ाइल पढ़ता है, फिर उसे संपादित करता है, और फिर से पढ़ता है, तो डायरी में पुराना नोट बेकार कचरा है। CORVUS रोबोट को हर बार फ़ाइल की सामग्री लिखने से रोकता है। इसके बजाय, यह उन फाइलों की एक "सिंक्ड लिस्ट" (synced list) रखता है जिनकी रोबोट को आवश्यकता है। इससे पहले कि रोबोट कोई नया निर्णय ले, CORVUS चुपचाप वास्तविक कंप्यूटर फाइलों की जांच करता है, उनका बिल्कुल नवीनतम संस्करण प्राप्त करता है, और उसे रोबोट को सौंप देता है। इस प्रकार, रोबोट के पास हमेशा ताज़ा, स्वच्छ जानकारी होती है और उसकी डायरी डुप्लिकेट, पुराने पन्नों से फूली हुई नहीं होती। परिणाम? रोबोट तेज़ी से काम करता है, इसे चलाने की लागत कम होती है, और यह कम गलतियाँ करता है, जबकि इसकी मेमोरी हल्की और केंद्रित रहती है।
समस्या: "स्टेल स्नैपशॉट" का जाल (The "Stale Snapshot" Trap)
यह समझने के लिए कि CORVUS क्यों बड़ी बात है, हमें पहले यह देखना होगा कि ये कोडिंग एजेंट आमतौर पर कैसे काम करते हैं। कल्पना कीजिए कि आप एक टपकते हुए नल को ठीक करने की कोशिश कर रहे हैं, लेकिन आप इसे आँखों पर पट्टी बांधकर कर रहे हैं, और आप केवल उन तस्वीरों के माध्यम से कमरे को देख सकते हैं जो आपने पहले ली थीं।
पारंपरिक विधि में, हर बार जब एजेंट (हमारा रोबोट) किसी फ़ाइल को देखता है, तो वह उस फ़ाइल का एक "स्नैपशॉट" लेता है और उसे अपने इतिहास लॉग (history log) में पेस्ट कर देता है। यदि फ़ाइल बाद में बदल जाती है—क्योंकि रोबोट ने इसे संपादित किया है, या किसी मानव डेवलपर ने इसमें बदलाव किया है—तो लॉग में वह पुराना स्नैपशॉट बिल्कुल वैसा ही रहता है। वह स्टेल (stale/पुराना) हो जाता है।
पेपर के लेखकों ने पाया कि यह दो प्रमुख सिरदर्द पैदा करता है:
- डुप्लिकेट रीड्स (Duplicate Reads): क्योंकि पुराना स्नैपशॉट लंबे इतिहास में दबा हुआ है, रोबोट अक्सर भूल जाता है कि उसने पहले ही फ़ाइल देख ली थी। वह फ़ाइल को फिर से पढ़ता है, एक और स्नैपशॉट लेता है, और उसे पेस्ट कर देता है। यह एक किताब के एक ही पन्ने को पाँच बार पढ़ने जैसा है क्योंकि आप अपना स्थान भूल गए हैं। अपने परीक्षणों में, उन्होंने पाया कि 26% बार, रोबोट उन फाइलों को दोबारा पढ़ रहा था जिन्हें वह पहले ही देख चुका था।
- स्टेल-कॉन्टेक्स्ट एरर्स (Stale-Context Errors): इससे भी बदतर, रोबोट एक पुराने स्नैपशॉट के आधार पर फ़ाइल को संपादित करने की कोशिश कर सकता है। कल्पना कीजिए कि रोबोट एक कोड लाइन देखता है जो कहती है "लाइन 10: लाइट चालू करें," लेकिन वास्तविक दुनिया में, वह लाइन पाँच मिनट पहले हटा दी गई थी। रोबोट "लाइन 10" को संपादित करने की कोशिश करता है, विफल होता है, भ्रमित हो जाता है, और यह समझने में अतिरिक्त समय और ऊर्जा खर्च करता है कि क्या गलत हुआ।
इसे ठीक करने का पुराना तरीका "रिएक्टिव" (प्रतिक्रियात्मक) था। यह ऐसा है जैसे अपने बैकपैक में इतने पत्थर भर जाने का इंतज़ार करना कि आप उसे उठा न सकें, और फिर कुछ पत्थर बाहर फेंकने की कोशिश करना। पेपर का तर्क है कि यह बहुत देर हो चुकी है। असली समाधान यह है कि बैकपैक में पत्थर डालने से ही रोका जाए।
समाधान: "लिविंग सिंक" (The "Living Sync")
लेखक CORVUS (Context Optimization and Reduction Via Underlying Synchronization) का प्रस्ताव देते हैं। CORVUS को एक डायरी के रूप में नहीं, बल्कि एक लाइव फीड के रूप में सोचें।
फ़ाइल की सामग्री को इतिहास लॉग में पेस्ट करने के बजाय, CORVUS sync_file नामक एक विशेष टूल का उपयोग करता है। जब रोबोट कहता है, "मुझे speech_recognition.py देखने की आवश्यकता है," तो CORVUS लॉग में टेक्स्ट कॉपी नहीं करता है। इसके बजाय, यह लॉग में एक छोटा, हल्का नोट डालता है: "Sync: speech_recognition.py।"
पर्दे के पीछे, CORVUS एक Synced File Set बनाए रखता है। यह उन फाइलों की एक विशेष सूची है जिन पर रोबोट वर्तमान में काम कर रहा है। रोबोट के किसी भी नए निर्णय (प्रत्येक रीजनिंग साइकिल) से पहले, CORVUS एक त्वरित "कॉन्टेक्स्ट सिंक" (Context Sync) करता है। यह वास्तविक कंप्यूटर पर जाता है, उस सूची की प्रत्येक फ़ाइल का वर्तमान, नवीनतम संस्करण प्राप्त करता है, और उसे रोबोट के प्रॉम्प्ट में इंजेक्ट कर देता है।
यह सब बदल देता है:
- कोई डुप्लिकेट नहीं: रोबोट कभी भी एक ही फ़ाइल के दो संस्करण नहीं देखता। वह केवल एक, वर्तमान संस्करण देखता है।
- कोई स्टेल डेटा नहीं: यदि कोई फ़ाइल बदलती है, तो अगली बार जब रोबक सोचता है, तो उसे स्वचालित रूप से नया संस्करण मिल जाता है। वह ऐसे कोड को संपादित करने की कोशिश नहीं करता जो अब मौजूद ही नहीं है।
- हल्का वजन: इतिहास लॉग छोटा रहता है क्योंकि इसमें केवल रोबोट के विचार और क्रियाएं होती हैं, न कि फ़ाइल के विशाल टेक्स्ट ब्लॉक्स।
उन्होंने क्या पाया: तेज़, सस्ता, स्मार्ट
शोधकर्ताओं ने दो कठिन कोडिंग चुनौतियों पर CORVUS का परीक्षण किया: SWE-POLYBENCH_VERIFIED (जिसमें Java, JavaScript और TypeScript कार्य शामिल हैं) और SWE-BENCH PRO (जिसमें जटिल, एंटरप्राइज-लेवल की समस्याएं हैं)। उन्होंने इन परीक्षणों को CLAUDE SONNET 4 और QWEN3-CODER-480B सहित चार अलग-अलग शक्तिशाली AI मॉडल पर चलाया।
परिणाम प्रभावशाली थे, जो दिखाते हैं कि कॉन्टेक्स्ट को ताज़ा रखना AI को काफी कुशल बनाता है:
- कम बर्बाद हुई रीडिंग: CORVUS ने डुप्लिकेट फ़ाइल रीड्स को 22% से 86% तक कम कर दिया। रोबोट ने उन फाइलों को दोबारा पढ़ने में समय बर्बाद करना बंद कर दिया जिन्हें वह पहले से जानता था।
- कम स्टेप्स: क्योंकि रोबोट पुराने डेटा से भ्रमित नहीं हो रहा था, इसलिए उसने कार्य तेजी से पूरे किए। रीजनिंग साइकिल (स्टेप्स) की संख्या 15% से 37% गिर गई। उदाहरण के लिए, एक मॉडल पर, स्टेप्स औसतन 45.03 से घटकर 28.22 हो गए।
- छोटे प्रॉम्प्ट्स: अंतिम "प्रॉम्ट" (AI को काम पूरा करने के लिए भेजा गया संदेश) 15% से 32% छोटा था।
- बचत हुई राशि: चूंकि AI की लागत इस बात पर निर्भर करती है कि वह कितना टेक्स्ट प्रोसेस करता है, इसलिए ये बचत जुड़ती गई। कुछ कार्यों पर, लागत में 50.28% तक की कमी आई। उदाहरण के लिए, एक कार्य जिसकी लागत 2.62 रह गई।
- गति: पूरी प्रक्रिया कुल समय के मामले में 40% तक तेज़ पूरी हुई।
महत्वपूर्ण रूप से, पेपर नोट करता है कि रोबोट ने कम टेक्स्ट पढ़ने के कारण अपनी बुद्धिमत्ता नहीं खोई। सफलता दर (वह कितनी बार बग को सही ढंग से ठीक करता है) पुराने तरीके के बराबर रही, और कुछ मामलों में, थोड़ा बेहतर भी हुई।
बड़ी तस्वीर
लेखकों ने यह भी जांचा कि क्या CORVUS अन्य तरीकों के साथ काम करता है जो अव्यवस्थित इतिहास को साफ करने की कोशिश करते हैं। उन्होंने पाया कि CORVUS और ये "रिएक्टिव" सफाई उपकरण सबसे अच्छे दोस्त हैं। CORVUS गड़बड़ी को स्रोत (upstream) पर ही रोकता है, जबकि अन्य उपकरण बचे हुए हिस्से को साफ करते हैं (downstream)। जब एक साथ उपयोग किए जाते हैं, तो वे और भी अधिक टोकन और पैसा बचाते हैं।
संक्षेप में, CORVUS सुझाव देता है कि AI कोडिंग एजेंट्स के लिए वास्तव में कुशल होने के लिए, उन्हें केवल अतीत को याद रखने में ही नहीं, बल्कि वर्तमान से जुड़े रहने में भी कुशल होना चाहिए। "फ़ाइल पढ़ने" की क्रिया को "फ़ाइल की सामग्री" से अलग करके, और इसके बजाय कोडबेस के साथ एक लाइव सिंक बनाए रखकर, हम ऐसे एजेंट बना सकते हैं जो तेज़, सस्ते और "कॉन्टेक्स्ट रॉट" के भ्रम से मुक्त हों। पेपर यह दावा नहीं करता कि यह AI की हर समस्या को हल कर देता है, लेकिन यह दिखाता है कि एक सरल संरचनात्मक परिवर्तन—एक स्थिर डायरी को लाइव फीड से बदलकर—यह बहुत बड़ा अंतर ला सकता है कि हमारे डिजिटल सहायक कितनी अच्छी तरह काम करते हैं।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।