Break Later or Never: Prefix-Preserving Context Compaction for Coding Agents
यह शोध पत्र "बैच्ड ऑब्जर्वेशन मास्किंग" और "ObsDrop" को पेश करके कोडिंग एजेंटों में कॉन्टेक्स्ट कॉम्पैक्शन (context compaction) और प्रीफ़िक्स कैशिंग (prefix caching) के बीच के संघर्ष को संबोधित करता है, जो एक KV-कैश-स्तरीय तकनीक है जो तार्किक टोकन प्रीफ़िक्स को सुरक्षित रखते हुए पुराने टूल-ऑब्जर्वेशन डेटा को मुक्त करती है, जिससे कार्य की गुणवत्ता से समझौता किए बिना थ्रूपुट और लेटेंसी में महत्वपूर्ण सुधार होता है।
मूल पेपर CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
एक ऐसे कंप्यूटर प्रोग्राम की कल्पना करें जिसे कोड लिखने, सॉफ़्टवेयर बग्स को ठीक करने या जटिल इंजीनियरिंग समस्याओं को हल करने के लिए डिज़ाइन किया गया है। ये "कोडिंग एजेंट" एक ही बार में काम पूरा नहीं करते; वे एक बड़े लैंग्वेज मॉडल के साथ एक लंबे, लूपिंग संवाद (conversation) में काम करते हैं। प्रत्येक चरण में, एजेंट सोचता है, किसी टूल (जैसे कोई फ़ाइल खोलना या टेस्ट चलाना) को कमांड जारी करता है, और फिर परिणाम पढ़ता है। इसके बाद वह प्रक्रिया को दोहराता है, और नए परिणाम को अपने इतिहास में जोड़ देता है। समय के साथ, यह इतिहास एक विशाल दस्तावेज़ बन जाता है जिसमें दसियों हज़ार शब्द होते हैं। इस सिस्टम को चालू रखने के लिए, कंप्यूटर को वर्तमान चरण को समझने हेतु इस बातचीत के हर एक शब्द को याद रखना पड़ता है। यह मेमोरी की आवश्यकता एक भारी बोझ पैदा करती है, जिससे सिस्टम धीमा हो जाता है और इसे चलाना महंगा हो जाता है।
इस बढ़ते हुए टेक्स्ट को प्रबंधित करने के लिए, इंजीनियरों ने इतिहास को सिकोड़ने के तरीके विकसित किए हैं, जिसे 'कॉन्टेक्स्ट कॉम्पैक्शन' (context compaction) कहा जाता है। सबसे आम तरीका बातचीत के पुराने हिस्सों को बस हटा देना या उन्हें एक छोटे सारांश से बदल देना है। हालाँकि, इस दृष्टिकोण में एक छिपा हुआ जाल है। आधुनिक कंप्यूटर पहले से किए गए काम को पुन: उपयोग करने में अविश्वसनीय रूप से कुशल होते हैं। यदि कोई नया अनुरोध पिछले वाले के समान शब्दों के साथ शुरू होता है, तो कंप्यूटर भारी काम को छोड़कर सीधे नए हिस्से पर कूद सकता है। लेकिन यदि आप बातचीत की शुरुआत को थोड़ा भी हटा देते या फिर से लिखते हैं, तो कंप्यूटर अतीत की अपनी स्मृति खो देता है और उसे शून्य से ही सारी भारी गणना फिर से शुरू करनी पड़ती है। इस अध्ययन के पीछे के शोधकर्ताओं ने पाया कि टेक्स्ट को छोटा करने या संपादित करने का प्रयास अक्सर कंप्यूटर को बहुत अधिक काम करने के लिए मजबूर कर देता है, जिससे होने वाली बचत खत्म हो जाती है और कभी-कभी सिस्टम और भी धीमा और महंगा हो जाता है।
पेंसिल्वेनिया स्टेट यूनिवर्सिटी के इस दल ने बचत करने वाले स्थान और समय बचाने के बीच के इस संघर्ष को समझने के लिए काम किया। उन्होंने देखा कि कोडिंग एजेंट स्वाभाविक रूप से अपनी बातचीत के लगभग पूरे इतिहास को हर चरण में दोहराते हैं। क्योंकि इतिहास मुख्य रूप से केवल उसमें नई चीज़ें जोड़ी जा रही हैं, जैसे कि एक डायरी जहाँ आप केवल नीचे नई प्रविष्टियाँ लिखते हैं, कंप्यूटर अपने पिछले गणनाओं का लगभग पूरी तरह से पुन: उपयोग कर सकता है, जिससे 98 से 99 प्रतिशत की पुन: उपयोग दर (reuse rate) प्राप्त होती है। इस मेमोरी लागत का सबसे बड़ा हिस्सा एजेंट के विचारों से नहीं, बल्कि उसके द्वारा प्राप्त कच्चे डेटा से आता है, जैसे कि फ़ाइलों की सामग्री या सॉफ़्टवेयर टेस्ट के लॉग। शोधकर्ताओं ने पाया कि जब उन्होंने पुराने फ़ाइलों को हटाने या सारांशित करने के लिए मानक तरीकों का उपयोग किया, तो उन्होंने पुन: उपयोग की श्रृंखला को तोड़ दिया। कंप्यूटर को उस विलोपन (deletion) के बाद आने वाले हर हिस्से को फिर से पढ़ने और पुन: गणना करने के लिए मजबूर होना पड़ा, जिससे एक त्वरित कार्य एक धीमे और महंगे कार्य में बदल गया।
इसे हल करने के लिए, शोधकर्ताओं ने सबसे पहले इस बात का परीक्षण किया कि विलोपन कैसे होता है। हर एक चरण के बाद पुरानी जानकारी को हटाने के बजाय, उन्होंने इसे हर कुछ चरणों में एक बार हटाने का प्रयास किया। यह एक छोटा सा बदलाव, जिसे वे "बैच्ड मास्किंग" (batched masking) कहते हैं, कंप्यूटर को लंबे समय तक अपनी स्मृति बनाए रखने की अनुमति देता है। इसने एजेंट द्वारा ले जाने वाले टेक्स्ट की मात्रा को आधा तक कम कर दिया, जबकि कंप्यूटर की मेमोरी पुन: उपयोग दर को 95 और 98 प्रतिशत के बीच उच्च बनाए रखा। इस दृष्टिकोण ने एजेंट को चलाने की लागत को 18 प्रतिशत तक कम कर दिया और कार्यों को पूरा करने की गति को 21 प्रतिशत तक बढ़ा दिया। यह एक व्यावहारिक समाधान था जिसके लिए मूल कंप्यूटर सॉफ़्टवेयर में किसी बदलाव की आवश्यकता नहीं थी, केवल विलोपन को शेड्यूल करने का एक स्मार्ट तरीका था।
हालाँकि, टीम को एहसास हुआ कि इस सुधार में भी टेक्स्ट को फिर से लिखना शामिल था, जो अनिवार्य रूप से पुन: उपयोग की श्रृंखला को विलोदन के समय तोड़ देता है। इसके बाद उन्होंने ObsDrop नामक एक अधिक उन्नत समाधान विकसित किया। एजेंट द्वारा देखे जाने वाले टेक्स्ट से शब्दों को हटाने के बजाय, ObsDrop कंप्यूटर की मेमोरी के भीतर ही काम करता है। यह टेक्स्ट को बिल्कुल वैसा ही रखता है जैसा वह है, ताकि कंप्यूटर पैटर्न को पहचान सके और अपनी पिछली गणनाओं का पुन: उपयोग कर सके। लेकिन बैकग्राउंड में, यह चुपचाप उन मेमोरी स्लॉट्स को मुक्त कर देता है जिनमें पुराना, अप्रासंगिक डेटा होता है, जैसे कि वे फ़ाइलें जिनकी अब आवश्यकता नहीं है। यह कंप्यूटर को गति के लिए तार्किक इतिहास (logical history) को बरकरार रखने की अनुमति देता है, जबकि भौतिक रूप से उस स्थान को खाली कर देता है जिसकी आवश्यकता एक साथ अधिक एजेंटों को चलाने के लिए होती है।
शोधकर्ताओं ने इस नए सिस्टम का परीक्षण शक्तिशाली सर्वरों पर किया जो एक साथ कई एजेंटों को चला रहे थे। उन्होंने पाया कि जैसे-जैसे एजेंटों की संख्या बढ़ी, मानक तरीके संघर्ष करने लगे, और जैसे ही मेमोरी खत्म हुई या उन्हें लगातार पुन: गणना करनी पड़ी, सिस्टम की गति नाटकीय रूप से धीमी हो गई। इसके विपरीत, ObsDrop सिस्टम ने अपनी गति और दक्षता बनाए रखी। भारी लोड के तहत, इसने सर्वरों को पहले की तुलना में 2.45 से 2.85 गुना अधिक काम करने की अनुमति दी, और कुछ विशिष्ट कॉन्फ़िगरेशन में, सुधार मूल गति से पांच गुना से भी अधिक रहा। सिस्टम ने काम की गुणवत्ता खोए बिना दबाव को संभाला।
यह कार्य कृत्रिम बुद्धिमत्ता (AI) के भविष्य के लिए एक महत्वपूर्ण सबक देता है: एक स्मार्ट एजेंट की मेमोरी को प्रबंधित करना केवल इस बारे में नहीं है कि आप कितना टेक्स्ट रखते हैं, बल्कि यह इस बारे में है कि आप उसे कैसे रखते हैं। यह समझते हुए कि कंप्यूटर की पिछले काम को पुन: उपयोग करने की क्षमता नाजुक है, शोधकर्ताओं ने दिखाया कि प्रभावी प्रबंधन के लिए डेटा को त्यागने के साथ-साथ बातचीत की संरचना को सुरक्षित रखना आवश्यक है। उनका नया तरीका, ObsDrop, दोनों चीजें प्रदान करता है: एक हल्का मेमोरी फुटप्रिंट और एक तेज़, अधिक उत्तरदायी सिस्टम, यह सुनिश्चित करता है कि ये शक्तिशाली कोडिंग उपकरण अपने स्वयं के इतिहास में उलझने के बजाय कल की जटिल समस्याओं को संभालने के लिए बड़े पैमाने पर विस्तार कर सकें।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।