Connect with us

Itamar Friedman, рд╕реАрдИрдУ рдФрд░ CodiumAI рдХреЗ рд╕рд╣-рд╕рдВрд╕реНрдерд╛рдкрдХ – рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╢реНрд░реГрдВрдЦрд▓рд╛

рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░

Itamar Friedman, рд╕реАрдИрдУ рдФрд░ CodiumAI рдХреЗ рд╕рд╣-рд╕рдВрд╕реНрдерд╛рдкрдХ – рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╢реНрд░реГрдВрдЦрд▓рд╛

mm

Itamar Friedman, CodiumAI के सीईओ और सह-संस्थापक हैं। CodiumAI कोड जनरेशन के “कोड अखंडता” पक्ष पर केंद्रित है – स्वचालित परीक्षण, कोड व्याख्या, और समीक्षा उत्पन्न करना। उन्होंने प्रतिस्पर्धी प्रोग्रामिंग चुनौतियों के लिए कोड समाधान उत्पन्न करने पर शोध जारी किया है जो Google DeepMind को पीछे छोड़ देता है।

जब और कैसे आप पहली बार एआई में रुचि लेने लगे?

2009 में, मैं Mellanox (Acq. by NVIDIA) में काम कर रहा था और इलेक्ट्रिकल इंजीनियरिंग का अध्ययन कर रहा था। यह महसूस करते हुए कि Mellanox में कई उबाऊ विकास प्रक्रियाओं को मशीन-लर्निंग अल्गोरिदम द्वारा स्वचालित किया जा सकता है, मैंने अपने प्रमुख को अनुकूलन और मशीन लर्निंग में बदल दिया और इस क्षेत्र में एमएससी पूरा किया। 2010 तक, मैं पहले से ही एक गहरे शिक्षण परियोजना (3 परतें गहरे तंत्रिका नेटवर्क) पर काम कर रहा था, जो मेरे अलीबाबा में समय के लिए आधार तैयार कर रहा था, जहां मैंने तंत्रिका आर्किटेक्चर खोज, मॉडल प्रशिक्षण, और डेवलपर्स के लिए AutoML टूल्स में विशेषज्ञता वाले एक शोध समूह का नेतृत्व किया। 2021 के आसपास, मैं अपने काम को “एआई” कहलाने से नहीं हिचकिचाता था, क्योंकि बड़े भाषा मॉडल शक्तिशाली उपकरण बन गए थे, और मेरी कल्पना में यह हो सकता है कि वे इसके साथ क्या हासिल कर सकते हैं।

आपका पिछला कंप्यूटर विजन फोकस्ड स्टार्टअप Visualead अलीबाबा ग्रुप द्वारा अधिग्रहित किया गया था, यह स्टार्टअप क्या था, और आपको इस अनुभव से कुछ महत्वपूर्ण बातें क्या मिलीं?

Visualead लोगो, क्यूआर कोड, और बीच में सब कुछ स्कैन करने में माहिर था, जिसमें छवियों में जानकारी सुरक्षित और छुपाना शामिल था ताकि सुरक्षित पी2पी लेनदेन और जुड़ाव को सक्षम किया जा सके। Visualead में, हम 2012 से मोबाइल डिवाइस पर अल्गोरिदम चला रहे थे, जिसमें मॉडल शामिल थे। यह उन दिनों में ऐसा करना चुनौतीपूर्ण और चालाकी भरा था, और हमने कुशल मॉडल और इन सांख्यिकीय जीवों के आसपास गार्डरेल्स बनाने के बारे में बहुत कुछ सीखा।

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

क्या आप CodiumAI लॉन्च करने की उत्पत्ति कहानी साझा कर सकते हैं?

अलीबाबा में, मैंने पहले हाथ से देखा कि कोड में एक बग कैसे एक मिलियन-डॉलर की समस्या का कारण बन सकता है और विकासकर्ताओं को कोड जनरेशन के साथ गुणवत्ता या अखंडता की बलिदान किए बिना रखने के लिए कौन सी चुनौतियों का सामना करना पड़ा। यह समस्या बनी हुई है, और आज कम गुणवत्ता वाले कोड को एक ट्रिलियन-डॉलर की समस्या के लिए जिम्मेदार ठहराया गया है जो बढ़ती जा रही है।

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

क्या आप बता सकते हैं कि CodiumAI कोड पर किस प्रकार का गैर-मामूली विश्लेषण करता है, और यह विकासकर्ताओं को कोड गुणवत्ता में सुधार करने में कैसे समर्थन करता है?

हाल तक, विकासकर्ताओं के लिए उपलब्ध उपकरणों ने बहुत कम मूल्य प्रदान किया – लेकिन एलएलएम (ChatGPT, Copilot, आदि) की क्षमताओं के आगमन के साथ, क्षमताएं अब अपेक्षाओं से अधिक होने लगी हैं, और विकासकर्ताओं के लिए उपलब्ध समर्थन अब तुच्छ नहीं है।

CodiumAI द्वारा विकसित Codiumate Coding-Agent विकासकर्ताओं को अपने कार्यप्रवाह में सुधार और कोड जनरेशन को बढ़ाने के लिए विशिष्ट उपकरण प्रदान करता है। Codiumate विकास प्रक्रिया को स्वचालित सहायता प्रदान करके विकास प्रक्रिया को सुव्यवस्थित करता है। मानव विकासकर्ता द्वारा उनके पर्यावरण में हाइलाइट किए गए मौजूदा कोड स्निपेट का उपयोग करके, एजेंट स्वचालित रूप से एक आसान-से-अनुसरण और सुसंगत विकास योजना तैयार कर सकता है, योजना के अनुसार कोड लिख सकता है, डुप्लिकेट कोड की पहचान कर सकता है जिसे विकासकर्ता उपयोग या हटाना चाहते हैं, दस्तावेज़ तैयार कर सकता है, और यह सुनिश्चित करने के लिए परीक्षण का सुझाव दे सकता है कि कोड लाइव वातावरण में तैनात किए जाने से पहले ठीक से काम करता है।

Codiumate विकासकर्ताओं को गहराई से व्यवहार विश्लेषण प्रदान करता है – संभावित व्यवहार और शाखाओं को रोशन करता है जो कोड-टेस्ट में शामिल हैं। यह विकासकर्ताओं को उत्पन्न कोड की जांच करने और सभी व्यवहारों को कवर करने वाले परीक्षण बनाने की अनुमति देता है, जिससे कोड को और भी अधिक सुधारा जा सकता है जैसा कि विकासकर्ता ने स्वयं सभी संभावित मामलों के लिए खाता है।

पीआर-एजेंट पुल अनुरोध विश्लेषण के लिए कौन सी विशिष्ट कार्यक्षमता प्रदान करता है, और यह गिटहब और गिटलैब जैसे प्लेटफ़ॉर्म पर समीक्षा प्रक्रिया को कैसे सुव्यवस्थित करता है?

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

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

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

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

कोडियमएआई कैसे अर्थपूर्ण परीक्षण उत्पन्न करता है, और ये परीक्षण मानक यूनिट परीक्षणों की तुलना में अधिक प्रभावी क्यों हैं?

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

उपयोगकर्ता प्रतिक्रिया के आधार पर, कोडियमएआई की सबसे मूल्यवान विशेषताएं क्या हैं, और इन विशेषताओं ने विकासकर्ताओं की उत्पादकता को कैसे प्रभावित किया है?

उपयोगकर्ता प्रतिक्रिया के आधार पर, हम देखते हैं कि कोडियमेट एजेंट की /ask with code block context और /test generation सुविधाएं अत्यधिक मांग वाली और विकासकर्ता कार्यप्रवाह को बढ़ाने वाली हैं।

/ask with code block context (दस्तावेज़ीकरण यहाँ देखें: /ask) विकासकर्ताओं को अपने कोड के बारे में खुले प्रश्न पूछने, कोड सुधार का अनुरोध करने, या एक मुफ्त चैट सत्र के दौरान समीक्षा का अनुरोध करने की अनुमति देता है। यह सुविधा विशेष रूप से लाभदायक है क्योंकि यह कोडबेस की गहरी समझ प्राप्त करने में मदद करती है, क्योंकि मॉडल परियोजना के पूर्ण संदर्भ को बनाए रखता है, जिससे यह विस्तृत और विशिष्ट प्रश्नों का समाधान करने में सक्षम होता है।

/test generation (दस्तावेज़ीकरण यहाँ देखें: /test) उपकरण विकासकर्ताओं को एक क्लिक के साथ अपने कोड के लिए व्यापक परीक्षण सूट उत्पन्न करने की अनुमति देता है। कोड व्यवहार का अन्वेषण करना, बग को तुरंत पहचानना और हल करना, और तेजी से कोड कवरेज बढ़ाना उत्पादकता के लिए एक बड़ा संपत्ति है।

पीआर एजेंट /review (दस्तावेज़ीकरण यहाँ देखें – /review) कार्य पीआर कोड परिवर्तनों को स्कैन करता है और स्वचालित रूप से एक पीआर समीक्षा उत्पन्न करता है ताकि विकासकर्ता उत्पादन में धकेलने से पहले संभावित मुद्दों की पहचान कर सकें।

/describe (दस्तावेज़ीकरण यहाँ देखें – /describe) कार्य पीआर कोड परिवर्तनों को स्कैन करता है और पीआर के लिए एक विवरण उत्पन्न करता है – शीर्षक, प्रकार, सारांश, वॉकथ्रू, और लेबल – जो विकासकर्ताओं को समय और ऊर्जा बचाता है जिसे वे अधिक मांग वाली या रचनात्मक कार्यों पर बेहतर ढंग से लागू कर सकते हैं।

कोडियमएआई कोड में एज केस और संदिग्ध व्यवहारों की पहचान कैसे करता है?

हमारे उपकरण विकासकर्ता के रिपॉजिटरी को स्कैन करते हैं जो कोड-टेस्ट से संबंधित प्रासंगिक कोड स्निपेट्स के लिए, और चेन-ऑफ-थॉट प्रॉम्प्ट्स का उपयोग करके हम सभी संभावित कोड व्यवहारों को मैप करते हैं और उन्हें विकासकर्ता को प्रदर्शित करते हैं। कोडियमएआई सीधे संदिग्ध व्यवहारों (परीक्षण पीढ़ी की परवाह किए बिना) की पहचान कर सकता है, कोड स्निपेट्स के बीच या कोड स्निपेट्स और साथ आने वाले दस्तावेज़ के बीच विसंगतियों या असंगतताओं की पहचान करके।

कोडियमएआई प्रमुख प्रोग्रामिंग भाषाओं का समर्थन करता है; क्या आप बता सकते हैं कि यह कोड विश्लेषण और परीक्षण पीढ़ी में भाषा-विशिष्ट बारीकियों को कैसे संभालता है?

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

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

कोडियमएआई के लिए भविष्य के सुधार क्या हैं ताकि यह विकासकर्ताओं के कार्यों को और अधिक समर्थन और सरल बना सके?

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

साक्षात्कार के लिए धन्यवाद, पाठक जो अधिक जानना चाहते हैं उन्हें कोडियमएआई पर जाना चाहिए।

рдПрдВрдЯреЛрдиреА рдПрдХ рджреВрд░рджрд░реНрд╢реА рдиреЗрддрд╛ рдФрд░ Unite.AI рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рднрд╛рдЧреАрджрд╛рд░ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдПрдЖрдИ рдФрд░ рд░реЛрдмреЛрдЯрд┐рдХреНрд╕ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдФрд░ рдмрдврд╝рд╛рд╡рд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЯреВрдЯ рдЬреБрдиреВрди рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИрдВред рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЙрджреНрдпрдореА, рд╡рд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдПрдЖрдИ рд╕рдорд╛рдЬ рдХреЗ рд▓рд┐рдП рдЙрддрдирд╛ рд╣реА рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рд╣реЛрдЧрд╛ рдЬрд┐рддрдирд╛ рдХрд┐ рдмрд┐рдЬрд▓реА, рдФрд░ рдЕрдХреНрд╕рд░ рд╡рд┐рдШрдЯрдирдХрд╛рд░реА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдФрд░ рдПрдЬреАрдЖрдИ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдПрдХ рдлреНрдпреВрдЪрд░рд┐рд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд╣ рдЗрди рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣рдорд╛рд░реА рджреБрдирд┐рдпрд╛ рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреА рдЦреЛрдЬ рдореЗрдВ рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╣ рд╕рд┐рдХреНрдпреЛрд░рд┐рдЯреАрдЬрд╝.io рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рд╣реИрдВ, рдПрдХ рдордВрдЪ рдЬреЛ рднрд╡рд┐рд╖реНрдп рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЖрдХрд╛рд░ рджреЗрдиреЗ рд╡рд╛рд▓реА рдЕрддреНрдпрд╛рдзреБрдирд┐рдХ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдореЗрдВ рдирд┐рд╡реЗрд╢ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред