हमारे लंबे समय तक चलने वाले एजेंट अनुसंधान पूर्वावलोकन का विस्तार
Cursor का लंबे समय तक चलने वाले एजेंट का अनुसंधान पूर्वावलोकन अब सभी Ultra, Teams, और Enterprise उपयोगकर्ताओं के लिए cursor.com/agents पर उपलब्ध है।
लंबे समय तक चलने वाला एजेंट उन एजेंट पर हमारे अनुसंधान का परिणाम है, जो अधिक महत्वाकांक्षी प्रोजेक्ट्स पर स्वायत्त रूप से काम करते हैं। इसमें पिछले महीने साझा किया गया हमारा काम भी शामिल है कि Cursor ने एक वेब ब्राउज़र कैसे बनाया।
उस प्रयोग के दौरान, हमने देखा कि फ्रंटियर मॉडल्स दीर्घ-क्षितिज कार्यों पर अनुमानित तरीकों से विफल हो जाते हैं। हमने इन सीमाओं को दूर करने के लिए एक कस्टम उपयोग में लाने का तरीका बनाया, जो एजेंट को अधिक कठिन काम करने और उन्हें पूरा करने में सक्षम बनाता है।
पिछले सप्ताह हमने इस उपयोग में लाने के तरीके का एक संस्करण अनुसंधान पूर्वावलोकन के हिस्से के रूप में जारी किया। नतीजे दिखाते हैं कि लंबे समय तक चलने वाले एजेंट ने काफी बड़े PRs तैयार किए, जिनकी मर्ज दरें दूसरे एजेंट के बराबर थीं।


हमारे अनुसंधान पूर्वावलोकन में भाग लेने वालों से बातचीत में हमने सुना कि लंबे समय तक चलने वाले एजेंट ने सफलतापूर्वक ऐसे कई कार्य पूरे किए, जो पहले एजेंट की पहुंच से बाहर थे। अनुसंधान पूर्वावलोकन से कुछ उदाहरण रन इस प्रकार हैं:
- किसी मौजूदा ओपन-सोर्स टूल के साथ एकीकृत एक बिल्कुल नया चैट प्लेटफ़ॉर्म बनाना (रनटाइम: 36 घंटे)
- किसी मौजूदा वेब ऐप के आधार पर एक मोबाइल ऐप बनाना (रनटाइम: 30 घंटे)
- एक प्रमाणीकरण और RBAC सिस्टम को रीफैक्टर करना (रनटाइम: 25 घंटे)
मॉडल्स को अधिक सक्षम बनाना
कठिन कार्यों को सफलतापूर्वक पूरा करने के लिए अत्याधुनिक इंटेलिजेंस और सही ढांचे की आवश्यकता होती है। हर अत्याधुनिक मॉडल के साथ काम करके और हर एक के लिए कस्टम उपयोग में लाने का ढांचा तैयार करके, हम ऐसे सर्वश्रेष्ठ सहायक ढांचे बनाने की विशिष्ट स्थिति में हैं जो अलग-अलग मॉडल्स की खूबियों का पूरा लाभ उठाते हैं। हमने पाया कि कुछ सामान्य सिद्धांत हैं जो हमें बेहतर प्रदर्शन हासिल करने में सहायता करते हैं।
निष्पादन से पहले योजना बनाना
जब आप किसी मॉडल के साथ सीधे काम को दोहराव के साथ आगे बढ़ाते हैं, तो तेज़ प्रॉम्प्ट-प्रतिक्रिया लूप आपको एजेंट की निगरानी करने और ज़रूरत पड़ने पर उसे फिर से सही दिशा में लाने में मदद करते हैं। लेकिन जब एजेंट किसी बड़े कार्य पर स्वायत्त रूप से काम करने लगता है, तो शुरुआत की एक छोटी-सी गलत धारणा अंत तक पूरी तरह गलत समाधान में बदल सकती है।
Cursor में लंबे समय तक चलने वाले एजेंट तुरंत निष्पादन शुरू करने के बजाय पहले एक योजना प्रस्तावित करते हैं और स्वीकृति की प्रतीक्षा करते हैं, क्योंकि वे समझते हैं कि शुरुआत में स्पष्ट तालमेल होने से अनुवर्ती की आवश्यकता घटती है।
कार्यों को पूरा करना
अत्याधुनिक मॉडल्स बेहतरीन कोड लिख सकते हैं, लेकिन वे अक्सर अपने कार्य के व्यापक संदर्भ को भूल जाते हैं, यह खो देते हैं कि वे क्या कर रहे हैं, या काम अधूरा छोड़कर रुक जाते हैं।
लंबे समय तक चलने वाले एजेंट बड़े और अधिक जटिल कार्यों को पूरा करने के लिए योजना का उपयोग करते हैं, और कई अलग-अलग एजेंट एक-दूसरे के काम की जाँच भी करते हैं।
अब तक के निष्कर्ष
अनुसंधान पूर्वावलोकन के शुरुआती प्रतिभागियों ने लंबे समय तक चलने वाले एजेंट का उपयोग बड़े फ़ीचर्स लागू करने, जटिल सिस्टमों को रीफ़ैक्टर करने, चुनौतीपूर्ण बग्स ठीक करने, प्रदर्शन में बड़े सुधार करने, और उच्च-कवरेज परीक्षण तैयार करने के लिए किया।
मैंने दो आर्किटेक्चर ओवरहॉल शिप किए। "मुझे नहीं पता यह संभव भी है या नहीं, लेकिन मैं देखना चाहता हूँ" जैसे कामों के लिए यह एक अविश्वसनीय टूल है। मैं पाँच को समानांतर में चला सकता हूँ—Mac विंडो मैनेजर बनाने से लेकर CEF को Tauri में डालने तक हर चीज़ के लिए।
एजेंट्स अक्सर एक दिन से भी ज़्यादा समय तक चलते थे और ऐसे PRs तैयार करते थे जो बहुत कम अनुवर्ती काम के साथ मर्ज हो जाते थे। उपयोगकर्ता उनसे हटकर दूसरे काम पर ध्यान केंद्रित कर सकते थे, अपना लैपटॉप बंद कर सकते थे, और फिर वापस आकर काम करने वाले समाधान पा सकते थे।
मैंने सोचा था कि इस प्रोजेक्ट को पूरा करने में पूरी एक तिमाही लग जाएगी। Cursor के लंबे समय तक चलने वाले एजेंट के साथ, वही समय-सीमा सिमटकर सिर्फ़ कुछ दिनों की रह गई। और मैं दो या तीन अतिरिक्त प्रोजेक्ट भी कर सका। मैं 52 घंटे का एक कार्य शुरू कर सकता हूँ, जिसकी मुझे लगातार निगरानी नहीं करनी पड़ती, और वापस आकर 151k लाइनों के कोड वाला एक बड़ा PR देख सकता हूँ।
सिंक्रोनस एजेंट्स की तुलना में, लंबे समय तक चलने वाले एजेंट अपने तरीके में अधिक गहन थे और ऐसा कोड लिखते थे जो ज़्यादा प्रोडक्शन-रेडी होता था।
नए उपयोग में लाने के तरीके की जादुई बात यह है कि यह उसी मॉडल से किसी चीज़ को प्रोडक्शन-रेडी बनवा सकता है। मैंने Codex 5.3 के साथ उसी bug-fix प्रॉम्प्ट को लोकली और एक लंबे समय तक चलने वाले एजेंट के साथ परीक्षण किया। लोकल एजेंट ने इसे काफ़ी जल्दी ठीक कर दिया, लेकिन लंबे समय तक चलने वाला एजेंट उससे आगे गया—उसने एज केस खोजे, मिलते-जुलते मामलों को ठीक किया, और उच्च-कवरेज परीक्षण बनाए।
Cursor में लंबे समय तक चलने वाले एजेंट का उपयोग
पिछले एक महीने से, हम आंतरिक रूप से लंबे समय तक चलने वाले एजेंट की सीमाओं की टेस्टिंग कर रहे हैं। हमने उनका इस्तेमाल प्रयोगों में यह देखने के लिए किया कि हम उन्हें कितनी दूर तक ले जा सकते हैं, साथ ही Cursor के अपने उत्पादन कार्य में भी किया। यहाँ कुछ कार्य हैं जो हमने लंबे समय तक चलने वाले एजेंट को दिए थे और जिन्हें बाद में मर्ज कर दिया गया।
वीडियो रेंडरर ऑप्टिमाइज़ेशन
हमने एक एजेंट से ऐसे वीडियो रेंडरर को ऑप्टिमाइज़ करने के लिए कहा, जिसका प्रदर्शन परिनियोजन में बाधा बन रहा था। उसने Rust में पूरा माइग्रेशन किया और कस्टम कर्नेल लागू किए, और सिर्फ़ मूल लॉजिक के आधार पर काम करते हुए बिल्कुल वही विज़ुअल आउटपुट दोबारा तैयार किया।
सैंडबॉक्स्ड कोड के लिए नीति-आधारित नेटवर्क एक्सेस
हमें JSON-आधारित नेटवर्क नीति नियंत्रण और सैंडबॉक्स्ड प्रक्रियाओं के लिए एक लोकल HTTP प्रॉक्सी की आवश्यकता थी। प्रॉक्सी को अलग-अलग प्रोटोकॉल में सही तरह से काम करना था, नीति को सुसंगत रूप से लागू करना था, और ब्लॉक किए गए ट्रैफ़िक को अनुमति दिए बिना सुरक्षित रूप से विफल होना था। लंबे समय तक चलने वाले एजेंट ने दस हज़ार पंक्तियों वाला एक PR बनाया, जिसमें बहुत कम समस्याएँ थीं, जब हमने उस पर एक बड़ा टेस्ट सूट चलाया। अनुवर्ती कार्य में ज़्यादातर ऐसे परिवर्तन शामिल थे जिन्हें हमने अपने प्रारंभिक अनुरोध में निर्दिष्ट नहीं किया था।
Cursor CLI में sudo समर्थन
कुछ कार्य sudo तक पहुँचते ही CLI एजेंट्स को रोक देते हैं, खासकर सिस्टम एडमिनिस्ट्रेशन या ops से जुड़े कार्य। हमने एक लंबे समय तक चलने वाले एजेंट से सुरक्षित sudo पासवर्ड प्रॉम्प्टिंग लागू करने के लिए कहा, जिसके लिए कई सबसिस्टम को एक साथ जोड़ना और Unix auth flows को समझकर तर्क करना आवश्यक था। उसने एक काम करने वाला इम्प्लीमेंटेशन तैयार किया, जिसका उपयोग अब Cursor CLI करता है।
स्व-चालित कोडबेस की ओर
Cursor में लंबे समय तक चलने वाले एजेंट स्व-चालित कोडबेस की ओर बढ़ने की दिशा में एक शुरुआती मील का पत्थर हैं, जहाँ एजेंट कम मानव हस्तक्षेप के साथ अधिक काम संभाल सकते हैं। अब बड़े कार्य सौंपना और घंटों या दिनों बाद लौटकर काम करते हुए समाधान पाना संभव है।
हम लंबे समय तक चलने वाले एजेंट के बीच सहयोग बेहतर बनाने पर काम कर रहे हैं, ताकि वे बड़े प्रोजेक्ट्स को समानांतर कार्य-धाराओं में बाँट सकें और कम मानव हस्तक्षेप के साथ और भी अधिक महत्वाकांक्षी प्रोजेक्ट्स संभाल सकें।
हम उस कोड की मात्रा को संभालने के लिए नए उपकरण विकसित करने पर भी काम कर रहे हैं, जो अब जनरेट किया जा रहा है। जैसे-जैसे कोड जनरेशन की लागत घटती जा रही है, हमें उस कोड को सुरक्षित रूप से उत्पादन में परिनियोजित करने के लिए नए तरीकों की आवश्यकता होगी।
आज ही लंबे समय तक चलने वाले एजेंट आज़माएँ: cursor.com/agents.