बड़े पैमाने पर एजेंटिक विकास का सत्यापन

@ido_pesok
अंग्रेज़ी2 माह पहले · 29 मई 2026
210K
389
26
16
809

TL;DR

Cognition ने AI एजेंटों के लिए एंड-टू-एंड सत्यापन के अपने दृष्टिकोण का विवरण दिया है, जिसमें वर्चुअल मशीनों और कंप्यूटर-उपयोग क्षमताओं का उपयोग किया गया है, ताकि Devin एक मानव इंजीनियर की तरह अपने स्वयं के PRs का परीक्षण कर सके।

हमने Devin के वर्चुअल मशीन में एंड-टू-एंड टेस्टिंग क्षमताएँ बनाने के दौरान क्या सीखा।

3 महीने पहले, मैं सॉफ्टवेयर इंजीनियरिंग का भविष्य बनाने में मदद करने के लिए Cognition में शामिल हुआ। पहले AI सॉफ्टवेयर इंजीनियर के रूप में लॉन्च होने के बाद से Devin ने काफी प्रगति की है, और मैं यह देखकर हैरान रह गया कि इसके पीछे की टीम वास्तव में हर दिन Devin का उपयोग करती है।

एक चीज़ जो सबसे अलग थी, वह यह थी कि Devin अपने कंप्यूटर का उपयोग करके क्लाउड में स्वायत्त रूप से अपने काम को कैसे सत्यापित करता है। हमारे Slack इंटीग्रेशन को मान्य करने से लेकर जटिल Windsurf सुविधाओं के परीक्षण तक, टीम के पास हमेशा टेस्ट मोड में Devins की एक सेना होती है। इस पोस्ट में, मैं साझा करूँगा कि हम क्लाउड एजेंट सत्यापन पर इतना ध्यान क्यों केंद्रित कर रहे हैं और हम इसे बनाने के लिए कैसे दृष्टिकोण अपना रहे हैं।

एसिंक्रोनस सॉफ्टवेयर इंजीनियरिंग की ओर बदलाव

Cognition में, हमने हाल ही में एक नया माइलस्टोन हासिल किया। पहली बार, अधिक Devins को एसिंक्रोनस रूप से ट्रिगर किया जा रहा है, इवेंट्स, ऑटोमेशन, शेड्यूल और अन्य Devins के माध्यम से। हम उम्मीद करते हैं कि यह Auto-Triage के हमारे हालिया लॉन्च के साथ और तेज़ होगा।

जैसे-जैसे हम इस एसिंक्रोनस दुनिया में संक्रमण कर रहे हैं, यह महत्वपूर्ण है कि डेवलपर्स सत्यापित परिणामों पर वापस आने में सक्षम हों जो मर्ज होने के लिए तैयार हों। इस वर्ष की शुरुआत में हमने Devin Review लॉन्च किया, एक कोड रिव्यू टूल जो जटिल कोड डिफ्स की मानवीय समझ को बढ़ाता है। यह केवल बग्स को चिह्नित नहीं करता - Devin लूप को बंद करता है प्रत्येक निष्कर्ष को ठीक करके जब तक डिफ साफ नहीं हो जाता। लेकिन अकेला एक साफ रिव्यू अक्सर पर्याप्त नहीं होता - इंजीनियर बदलाव को एंड-टू-एंड परीक्षण देखना चाहते हैं, उसी तरह जैसे वे स्वयं इसका परीक्षण करेंगे।

यह एक शानदार एहसास है जब Devin एक उपयोगकर्ता की शिकायत को ठीक करने वाला PR डालता है, इससे पहले कि आपको बग चैनल में संदेश देखने का मौका भी मिले। जो इसे जादुई बनाता है वह यह है जब वह PR इस बात के प्रमाण के साथ आता है कि फिक्स वास्तव में काम करता है। और यह जादू जल्द ही एक आवश्यकता बन सकता है - जैसे-जैसे प्रोएक्टिव एजेंटों के उदय से अधिक PRs आते हैं, असत्यापित बदलाव जल्दी से अप्रबंधनीय हो जाएंगे।

शुरुआत से

Devin के लॉन्च के बाद से, यह हमेशा क्लाउड वर्चुअल मशीन पर अपना काम प्रदर्शित करने में सक्षम रहा है। लगभग 6 महीने पहले, हमने Devin के कंप्यूटर उपयोग क्षमताओं का विस्तार किया। व्यवहार में इसका मतलब है कि हमने Devin के हार्नेस में स्क्रीनशॉट लेने, माउस हिलाने, क्लिक करने, ड्रैग करने, टाइप करने, कीज़ दबाने, स्क्रॉल करने, प्रतीक्षा करने, ज़ूम करने और रिकॉर्डिंग शुरू/बंद करने के लिए टूल जोड़े। कंप्यूटर उपयोग कुछ समय से मौजूद है, लेकिन हमने महसूस किया कि फ्रंटियर लैब्स के मॉडलों के नवीनतम समूह ने वास्तव में इन टूल का उपयोग करने में अच्छा प्रदर्शन करना शुरू कर दिया है।

कंप्यूटर उपयोग ने Devin के लिए कुछ मजेदार नई क्षमताएं खोल दीं, जैसे डेस्कटॉप गेम बनाना और खेलना, या अपने ब्राउज़र का उपयोग करके Amazon पर उत्पाद ऑर्डर करना। लेकिन असली खुलासा जो हमने देखा वह था Devin की अपने काम का परीक्षण करने की क्षमता। Devin ऐप को स्पिन करेगा, उसके माध्यम से क्लिक करेगा, और पुष्टि करेगा कि उसके बदलाव वास्तव में काम करते हैं, ठीक उसी तरह जैसे कोई इंजीनियर करेगा। सब कुछ क्लाउड में चलता है और समानांतर में स्केल कर सकता है। यह वास्तव में मुझे तब हुआ जब मैंने इंजीनियरों को 10 से 20 Devins को समानांतर में चलाते देखा, प्रत्येक का अपना डेव सर्वर था, बदलावों पर काम कर रहे थे - यह एक ऐसी चीज़ है जो आप एक लैपटॉप पर बस नहीं कर सकते। स्वचालित क्लाउड टेस्टिंग ने हमारा भारी समय बचाना शुरू कर दिया, क्योंकि अब हमें स्थानीय रूप से कोड को चलाने और सत्यापित करने की आवश्यकता नहीं थी।

सच कहूं तो, यहाँ तक पहुँचना आसान नहीं था। हमने रास्ते में कई विफलता मोड मारे, जिनमें से प्रत्येक ने हमें कुछ सिखाया कि इस सिस्टम को अधिक विश्वसनीय बनाने के लिए क्या करना पड़ता है।

विश्वसनीयता बढ़ाना

शुरुआती संस्करणों में, परीक्षण के दौरान Devin का ट्रैक से भटकना बहुत आम था। यह सभी प्रकार के तरीकों से होता था: उत्पाद के असंबंधित भागों का अति-परीक्षण, सुविधा तक पहुँचने से पहले सेटअप में खो जाना, या बस उस मुख्य व्यवहार को अनदेखा करना जिसे PR वास्तव में बदलने वाला था।

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

जैसे-जैसे Devin योजना पर काम करता है, यह टाइमलाइन में अपनी खुद की एनोटेशन जोड़ता है। इनमें सेटअप नोट्स, प्रत्येक नामित परीक्षण की शुरुआत, और पास, फेल या अपरीक्षित के रूप में चिह्नित अभिकथन शामिल हैं। हमने पाया कि Devin अपने निष्कर्षों के बारे में कम झूठ बोलेगा यदि वह एक कार्रवाई करने से ठीक पहले अपेक्षित व्यवहार को एनोटेट करता है - टेस्ट-ड्रिवेन डेवलपमेंट की तरह, यदि आप पहले से अपेक्षा के लिए प्रतिबद्ध हैं तो एक अप्रत्याशित परिणाम को पास के रूप में तर्कसंगत बनाना बहुत कठिन हो जाता है।

परीक्षण प्रवाह के कुछ हिस्से लगभग हर रन में दोहराए जाते हैं। लॉग इन करना क्लासिक उदाहरण है: कंप्यूटर उपयोग के माध्यम से लॉगिन फॉर्म चलाने का मतलब अक्सर एक ईमेल टाइप करना, SSO पूरा करना, रीडायरेक्ट के माध्यम से क्लिक करना, और हर पेज लोड पर प्रतीक्षा करना, स्क्रीनशॉट दर स्क्रीनशॉट होता है। यह समय और टोकन दोनों में महंगा हो सकता है। इन क्रियाओं के लिए विश्वसनीयता और लागत में सुधार करने के लिए, Devin ने काम को एक नियतात्मक स्क्रिप्ट में निकाला जो हमारे रिपो में एक टेस्टिंग स्किल में रहती है। इस तरह, Devin स्क्रिप्ट चला सकता है और सेकंडों में एक प्रमाणित ब्राउज़र सत्र प्राप्त कर सकता है और परीक्षण के मुख्य भाग में कूद सकता है। इन स्क्रिप्ट की नियतात्मक प्रकृति ने अस्थिरता को नाटकीय रूप से कम करने में मदद की। हमने Devin को स्वयं इस लूप को बंद करने के लिए भी अपडेट किया। जब यह कठिन तरीके से एक सेटअप चरण का पता लगाता है, तो Devin उस ज्ञान को रिपो में एक टेस्टिंग स्किल के रूप में सहेजने और उपयोगकर्ता को एक-क्लिक PR के रूप में फिक्स प्रस्तावित करने का सुझाव दे सकता है।

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

आज Devin में स्वायत्त परीक्षण का उपयोग करना

Devin वर्तमान में दो तरीकों से टेस्ट मोड में प्रवेश करता है: एक बदलाव का परीक्षण करने के लिए एक स्पष्ट अनुरोध, या, Devin द्वारा PR बनाने के बाद यह यदि लागू हो तो बदलाव का परीक्षण करने की पेशकश करेगा। वहाँ से, यह टेस्ट प्लान बनाएगा और काम पर लग जाएगा।

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

आपको क्या वापस मिलता है

जब Devin परीक्षण समाप्त करता है, तो यह आपको केवल यह नहीं बताता कि ऐप ने काम किया या नहीं। एक कच्ची स्क्रीन रिकॉर्डिंग उपयोगी है लेकिन हमने महसूस किया कि यह अपने आप में पर्याप्त नहीं थी - आपको यह समझने की आवश्यकता है कि आप क्या देख रहे हैं, Devin ने प्रत्येक कार्रवाई क्यों की, और परीक्षण के कौन से हिस्से पास या फेल हुए।

त्वरित समीक्षा के लिए, Devin एक परीक्षण रिपोर्ट लौटाएगा जिसमें रन के प्रमुख क्षणों से लेबल किए गए स्क्रीनशॉट होंगे, ताकि आप जल्दी से देख सकें कि Devin ने क्या परीक्षण किया और रास्ते में ऐप कैसा दिखता था।

यदि आप गहन समीक्षा चाहते हैं, तो Devin एक समृद्ध प्लेयर UI के साथ एक टेस्ट वीडियो भी तैयार करता है जिसमें अध्याय होते हैं ताकि आप परीक्षण अनुभागों के बीच कूद सकें, पूरे रन को स्क्रब कर सकें, और एक कालानुक्रमिक सूची दृश्य में पास या फेल हुए अभिकथन का निरीक्षण कर सकें। पोस्ट प्रोसेसिंग में, क्रियाओं के बीच का मृत समय संपीड़ित होता है जबकि क्रियाओं के आसपास के क्षण सामान्य गति से चलते हैं। यह एक लंबे रन को एक रिकॉर्डिंग में संघनित कर देता है जिसे आप वास्तव में देख सकते हैं। ये कलाकृतियाँ हमारे वेब इंटरफ़ेस में उपलब्ध हैं और यदि Devin वहाँ से शुरू किया गया था तो Slack पर भी वितरित की जाती हैं।

कठिन किनारे

कंप्यूटर उपयोग में अभी भी कठिन किनारे हैं। एक उदाहरण समय है - यदि Devin एक टोस्ट नोटिफिकेशन का परीक्षण कर रहा है, तो बहुत जल्दी या बहुत देर से लिया गया स्क्रीनशॉट टोस्ट को पूरी तरह से मिस कर सकता है और मॉडल इस बारे में भ्रमित हो सकते हैं कि अपेक्षित व्यवहार वास्तव में हुआ या नहीं।

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

हम इन मुद्दों पर बेहतर मूल्यांकन, हार्नेस में कड़े गार्डरेल, और मॉडलों की प्रत्येक नई पीढ़ी के माध्यम से सक्रिय रूप से काम कर रहे हैं जो कंप्यूटर उपयोग में बेहतर होती जा रही है।

एसिंक्रोनस डेवलपमेंट का भविष्य सत्यापित है

पिछले कुछ महीनों में, Devin पर प्रति दिन अनुमोदित टेस्ट रन दोगुने से अधिक हो गए हैं। यह वृद्धि कुछ सरल दर्शाती है: एसिंक्रोनस एजेंट तभी उपयोगी होते हैं जब डेवलपर्स उन पर भरोसा कर सकें कि वे क्या लेकर लौटते हैं। अक्सर वह भरोसा अकेले कोड से नहीं आ सकता: कई बदलावों के लिए, आप यह जानना चाहते हैं कि ऐप वास्तव में चलाया गया था, महत्वपूर्ण प्रवाह का अभ्यास किया गया था, और परिणाम को इस तरह से कैप्चर किया गया था जिसका आप आसानी से निरीक्षण कर सकें।

यही है जो Devin में स्वायत्त परीक्षण प्रदान करने के लिए डिज़ाइन किया गया है। Devin परीक्षण की योजना बनाता है, ऐप संचालित करता है, जो हुआ उसे रिकॉर्ड और एनोटेट करता है, और अंत में ऐसी कलाकृतियाँ लौटाता है जो परिणाम को समीक्षा योग्य बनाती हैं। अभी भी बहुत कुछ सुधारना है, लेकिन हमें लगता है कि यह भविष्य का सही आकार है: एजेंट जो केवल एसिंक्रोनस रूप से काम पूरा नहीं करते, बल्कि प्रमाण के साथ लौटते हैं।

हम लगातार आश्चर्यचकित होते हैं कि Devin अपने स्वयं के काम का परीक्षण करके हमारा कितना समय बचाता है, और महसूस करते हैं कि कई ग्राहक अभी भी Devin की स्वचालित परीक्षण सुविधा का कम उपयोग करते हैं। प्रयोग का समर्थन करने के लिए, हम वर्तमान में टेस्ट मोड में सामान्य उपयोग लागत के 1/5 पर बिलिंग कर रहे हैं।

हमारा काम devin.ai या windsurf.com पर आज़माएं। और यदि इस तरह की समस्याओं पर काम करना मजेदार लगता है, तो ido [at] cognition.ai पर संपर्क करें।

एक क्लिक में सहेजें

YouMind में वायरल लेखों की AI गहन पढ़ाई

स्रोत सहेजें, केंद्रित सवाल पूछें, तर्क का सारांश बनाएँ और एक वायरल लेख को एक ही AI वर्कस्पेस में दोबारा इस्तेमाल करने लायक नोट्स में बदलें।

YouMind देखें
क्रिएटर्स के लिए

अपने Markdown को एक साफ़-सुथरे 𝕏 आर्टिकल में बदलें

जब आप अपना लंबा कंटेंट पब्लिश करते हैं, तो इमेज, टेबल और कोड ब्लॉक को 𝕏 के लिए फ़ॉर्मेट करना मुश्किल होता है। YouMind पूरे Markdown ड्राफ़्ट को एक साफ़-सुथरे, पोस्ट के लिए तैयार 𝕏 आर्टिकल में बदल देता है।

Markdown से 𝕏 आज़माएँ

समझने के लिए और पैटर्न

हाल के वायरल लेख

और वायरल लेख देखें