उत्पाद

Cherri Code एजेंट्स अब अपने कंप्यूटर खुद नियंत्रित कर सकते हैं

Jonas Nelle & Alexi Robbins11 मिनट में पढ़ें

एजेंट की क्षमता उस परिवेश पर निर्भर करती है जिसमें वे चलते हैं। अपने बनाए जा रहे सॉफ़्टवेयर का उपयोग करने की क्षमता के बिना, एजेंट्स एक सीमा पर आकर रुक जाते हैं।

पिछले कुछ महीनों में, हमने आंतरिक रूप से इसका समाधान एजेंट्स को पूर्ण विकास परिवेश वाली उनकी अपनी वर्चुअल मशीनें देकर किया। साथ ही, उन्हें अपने परिवर्तनों का परीक्षण करने और आर्टिफैक्ट्स (वीडियो, स्क्रीनशॉट, और लॉग्स) तैयार करने की क्षमता दी, ताकि आप उनके काम को जल्दी से सत्यापित कर सकें।

आज हम Cherri Code क्लाउड एजेंट का एक नया संस्करण वहाँ-वहाँ उपलब्ध करा रहे हैं जहाँ भी आप काम करते हैं, जिसमें वेब, मोबाइल, डेस्कटॉप ऐप, Slack, और GitHub शामिल हैं। क्लाउड एजेंट आपके कोडबेस से खुद को परिचित करते हैं और अपने परिवर्तनों का डेमो देने वाले आर्टिफैक्ट्स के साथ मर्ज-तैयार PRs बनाते हैं। आप एजेंट के रिमोट डेस्कटॉप को नियंत्रित भी कर सकते हैं, ताकि संशोधित सॉफ़्टवेयर का उपयोग कर सकें और ब्रांच को लोकली चेक आउट किए बिना खुद संपादन कर सकें।

Tab autocomplete से आगे बढ़कर एजेंट्स के साथ सीधे काम करने के बाद, सॉफ़्टवेयर बनाने के हमारे तरीके में यह सबसे बड़ा बदलाव रहा है। Cherri Code में जिन PRs को हम मर्ज करते हैं, उनमें से अब 30% से अधिक क्लाउड सैंडबॉक्स में स्वायत्त रूप से काम करने वाले एजेंट्स द्वारा बनाए जाते हैं।

अब आंतरिक रूप से मर्ज किए गए 30% PRs क्लाउड एजेंट द्वारा बनाए जाते हैंअब आंतरिक रूप से मर्ज किए गए 30% PRs क्लाउड एजेंट द्वारा बनाए जाते हैं

स्वायत्तता का अगला स्तर

लोकल एजेंट्स के साथ कोड जनरेट करना शुरू करना आसान है, लेकिन वे जल्दी ही टकराव पैदा करने लगते हैं और आपके कंप्यूटर के संसाधनों के लिए एक-दूसरे से (और आपसे) प्रतिस्पर्धा करते हैं। क्लाउड एजेंट इस सीमा को दूर करते हैं, क्योंकि वे हर एजेंट को एक पृथक VM देते हैं, ताकि आप कई एजेंट्स को समानांतर में चला सकें।

क्लाउड एजेंट अपने सैंडबॉक्स में सीधे सॉफ़्टवेयर बिल्ड भी कर सकते हैं और उसके साथ इंटरैक्ट भी कर सकते हैं। इससे वे पहला प्रयास सौंप देने के बजाय अपना आउटपुट सत्यापित होने तक बार-बार सुधार कर सकते हैं। नीचे दिया गया वीडियो उन्नत कंप्यूटर उपयोग पर हमारे पहले के अनुसंधान का एक प्रूफ़-ऑफ़-कॉन्सेप्ट दिखाता है।

आप एजेंट को ब्राउज़र में वेब पेजों पर नेविगेट करते, स्प्रेडशीट जैसे उपकरणों का उपयोग करते, डेटा को समझकर निर्णय लेते, और जटिल UI परिवेशों में समस्याएँ सुलझाते देख सकते हैं।

एजेंट ने अपने VM में डेस्कटॉप एप्लिकेशन के साथ इंटरैक्ट करते हुए खुद को रिकॉर्ड किया।

Cherri Code में क्लाउड एजेंट का इस्तेमाल

पिछले एक महीने से हम आंतरिक रूप से क्लाउड एजेंट का इस्तेमाल कर रहे हैं, और इसने सॉफ़्टवेयर बनाने के हमारे तरीके को बदल दिया है। कार्यों को छोटे-छोटे हिस्सों में बाँटने और एजेंट्स को बारीकी से मैनेज करने के बजाय, अब हम उन्हें ज़्यादा महत्वाकांक्षी कार्य सौंपते हैं और अपने आप काम करने देते हैं।

ये कुछ तरीके हैं जिनसे हम क्लाउड एजेंट का इस्तेमाल कर रहे हैं:

नई सुविधाएँ बनाना

हमने प्लगइन्स बनाने में मदद के लिए क्लाउड एजेंट का इस्तेमाल किया, जिन्हें हमने हाल ही में Cherri Code Marketplace पर लॉन्च किया है। यहाँ हमारे प्रॉम्प्ट्स में से एक है:

किसी दिए गए plugin के पेज पर दिखने वाले हर component के लिए, हम source code का एक लिंक शामिल करना चाहते हैं। skills, commands, rules, और subagents के लिए — वह .md फ़ाइल है। hooks के लिए, वह hooks.json है। mcps के लिए, वह .mcp.json या वह manifest है जहाँ इसे परिभाषित किया गया है। जब हम किसी plugin के सभी components को index करें, तो source file का ट्रैक रखें और underlying github url के ज़रिए उस फ़ाइल के लिंक बनाएँ। इसे frontend तक पहुँचाएँ और हमारे frontend से इस icon का इस्तेमाल करके github पर लिंक करवाएँ। https://github.com/prisma/cursor-plugin को लोकली टेस्ट करें

एजेंट ने यह सुविधा लागू की, फिर इंपोर्ट किए गए Prisma plugin तक नेविगेट करते हुए और हर component पर क्लिक करते हुए खुद को रिकॉर्ड किया, ताकि GitHub लिंक्स सत्यापित किए जा सकें।

एजेंट ने यह पुष्टि करने के लिए बटनों पर क्लिक करते हुए खुद को रिकॉर्ड किया कि वे सही source files से लिंक करते हैं।

लोकल टेस्टिंग के लिए, एजेंट ने अस्थायी रूप से उस feature flag को बायपास किया जो marketplace पेज को नियंत्रित कर रहा था, फिर push करने से पहले उसे वापस कर दिया। उसने main पर rebase किया, merge conflicts को resolve किया, और सब कुछ एक single commit में squash किया।

कमज़ोरियों को पुन: उत्पन्न करना

हमने Slack से एक क्लाउड एजेंट शुरू किया, इस प्रॉम्प्ट के साथ: "कृपया इस vulnerability का triage करें और मुझे इसे बहुत विस्तार से समझाएँ," इसके बाद clipboard exfiltration vulnerability का विवरण दिया गया। जब एजेंट का रन पूरा हुआ, तो उसने Slack thread में यह सारांश भेजा कि उसने क्या किया।

क्लाउड एजेंट एक vulnerability को पुन: उत्पन्न करते हुए

एजेंट ने एक HTML पेज बनाया जो exposed API के ज़रिए vulnerability का फायदा उठाता है। उसने डेमो पेज को लोकली होस्ट करने के लिए एक backend server शुरू किया और पेज को Cherri Code के in-app browser में लोड किया।

वीडियो आर्टिफैक्ट्स पूरा attack flow दिखाता है: एजेंट ने system clipboard में एक test UUID कॉपी किया, Cherri Code के browser में डेमो पेज लोड किया, और UUID को exfiltrate करके दिखाने के लिए एक बटन पर क्लिक किया। उसने सफल clipboard theft दिखाने वाला एक स्क्रीनशॉट भी लिया और डेमो HTML फ़ाइल को repo में commit किया।

एजेंट ने vulnerability दिखाने के लिए attack flow पूरा करते हुए खुद को रिकॉर्ड किया।

त्वरित सुधारों को संभालना

हमने एक क्लाउड एजेंट से स्थिर "Read lints" label को lint results से चलने वाले dynamic label से बदलने के लिए कहा। उसने zero diagnostics के लिए "No linter errors" और N diagnostics के लिए "Found N errors" लागू किया, साथ ही मौजूदा CSS से मेल खाने वाली styling भी जोड़ी।

एजेंट ने Cherri Code desktop app में दो मामलों का परीक्षण किया: कई type errors वाली एक फ़ाइल और बिना errors वाली एक साफ़ फ़ाइल। वीडियो आर्टिफैक्ट्स दिखाता है कि एजेंट यह सत्यापित कर रहा है कि साफ़ फ़ाइल में एक expanded group है जो “No linter errors” दिखाता है।

एजेंट ने यह दिखाने के लिए खुद को रिकॉर्ड किया कि उसने lint label fix सही तरीके से लागू किया।

UI की टेस्टिंग

हमने cursor.com/docs पर सब कुछ सही तरह से काम कर रहा है या नहीं, यह जाँचने के लिए एक क्लाउड एजेंट चलाया। उसने हमारी दस्तावेज़ site का पूरा walkthrough करने में 45 मिनट लगाए। एजेंट ने जिन सभी सुविधाओं की टेस्टिंग की, उनका एक सारांश दिया, जिसमें sidebar, शीर्ष navigation, search, copy page button, share feedback dialog, table of contents, और theme switching शामिल हैं।

एजेंट ने Cherri Code दस्तावेज़ site पर UI की टेस्टिंग करते हुए खुद को रिकॉर्ड किया।

अब जबकि एजेंट्स ज़्यादातर implementation संभाल सकते हैं, हमने पाया है कि डेवलपर की भूमिका अब ज़्यादा इस बात पर केंद्रित है कि दिशा क्या हो और क्या ship किया जाए।

आगे क्या है

हम स्व-चालित कोडबेस के ऐसे भविष्य की ओर बढ़ रहे हैं, जहाँ एजेंट PRs मर्ज करते हैं, रोलआउट प्रबंधित करते हैं और उत्पादन की निगरानी करते हैं। हम उस दुनिया से आगे बढ़ेंगे जहाँ डेवलपर्स डिफ बनाने के लिए एजेंट का उपयोग करते हैं, और ऐसी दुनिया में पहुँचेंगे जहाँ एजेंट परीक्षण की गई सुविधाओं को एंड-टू-एंड शिप करते हैं।

उस बदलाव को पूरी तरह साकार करने के लिए टूलिंग, मॉडल और इंटरैक्शन पैटर्न में सुधार करना होगा। निकट भविष्य में हमारा फ़ोकस कई एजेंट्स के बीच काम का समन्वय करने और ऐसे मॉडल बनाने पर है जो पिछले रन से सीखें और अनुभव बढ़ने के साथ अधिक प्रभावी बनें।

cursor.com/onboard पर शुरू करें और देखें कि एजेंट खुद को कैसे कॉन्फ़िगर करता है और एक डेमो रिकॉर्ड करता है। या दस्तावेज़ में और जानें।