या साइटवरील सामग्री कृत्रिम बुद्धिमत्ता (AI) किंवा मशीन भाषांतर तंत्रज्ञानाचा वापर करून भाषांतरित केली आहे आणि त्यात त्रुटी असू शकतात.

Skip to content

रॉब्लॉक्स अभियंत्यांसारखे विचार करण्यास मॉडेल्सना शिकवून आम्ही AI कोड स्वीकृती दुप्पट कशी केली

डोमेन-जागरूक कोड बुद्धिमत्ता

BuilderAI Figure 2.webp

सर्वजण पुढील क्रांतिकारी AI मॉडेलबद्दल उत्साहित असतात, परंतु Roblox मधील अंतर्गत AI साधनांची कार्यक्षमता दुप्पट करण्याचे रहस्य नवीन मॉडेलमध्ये नव्हते. हे आमच्या कोडबेसच्या इतिहासातच दडले होते. आमच्या क्षेत्रातील तज्ञांकडून मिळालेल्या वर्षांच्या कोड आणि पुनरावलोकनांचा लाभ घेऊन, आम्ही AI-निर्मित पुल रिक्वेस्ट (PR) सुचनांच्या स्वीकार दर सुमारे 30% वरून 10,000 PR संचात 60% पेक्षा जास्त केला आणि त्याच कालावधीत एजंटिक कोड स्वच्छता प्रकल्पाची मूल्यांकन अचूकता 90% पेक्षा वर नेली.

AI गुणवत्ता अंतर मिटवणे

उद्योगात, कोडिंग वेळेपैकी 50% ते 60% वेळ सॉफ्टवेअर देखभालीवर खर्च होतो.1 Roblox देखील वेगळे नाही. 

कागदावर, चांगल्या प्रकारे परिभाषित आवश्यकता आणि मर्यादित समस्या क्षेत्र असलेली पुनरावृत्ती होणारी देखभाल कामे AI स्वयंचलनासाठी उत्तम उमेदवार असतात. प्रत्यक्षात, आमच्या AI सहाय्यकांना मूल्यांकन अचूकता आणि अभियांत्रिकी स्वीकृतीमध्ये अडचणी आल्या.

Roblox मध्ये, समस्या क्षमता नसणे नाही; तर संदर्भ आहे. एक सामान्य मॉडेल Roblox अभियांत्रिकीतील दोन दशकांचा अनुभव घेतलेला नाही. त्याने गेल्या तीन वर्षांत आम्ही विलीन केलेल्या ७,००,००० पुल रिक्वेस्ट्स पाहिलेले नाहीत, किंवा आमच्या सर्वात अनुभवी अभियंत्यांनी आमच्या कोडिंग मानकांची व्याख्या आणि बचाव करणाऱ्या १७,००,००० कोड पुनरावलोकन टिप्पण्यांमधून शिकलेले नाही.

हा इतिहास दुर्लक्षित करणारे AI सहाय्यक जागतिक दर्जाच्या अभियंत्यांचा विश्वास जिंकण्यात अपयशी ठरतात. जरी Roblox मधील अर्ध्या अभियंत्यांनी AI-संचालित सहाय्यक स्वीकारले असले तरी, मानवी पुनरावलोकनानंतर फक्त सुमारे 20% AI-निर्मित सूचना स्वीकारल्या जातात. आमच्या तिमाही अभियांत्रिकी उत्पादकता सर्वेक्षणातही ही वास्तविकता प्रतिध्वनित होते. इंजिनिअर्सनी उत्पादकतेवर AI च्या परिणामाला 5 पैकी 4.02 गुण दिले, परंतु AI कोड गुणवत्तेवरील आत्मविश्वास फक्त 5 पैकी 3.09 इतकाच आहे. थोडक्यात, AI मदत करते, परंतु विश्वास मर्यादितच राहतो, विशेषतः जुन्या C++ आणि अधिक जटिल कोड क्षेत्रांमध्ये.

हा संदर्भ अंतर मिटवण्यासाठी, आम्ही Roblox च्या स्वतःच्या अभियांत्रिकी इतिहासावर आधारित, तज्ज्ञ आदर्शानुसार सुसंगत आणि कठोर मूल्यांकनाद्वारे प्रमाणित एजंटिक कोड इंटेलिजन्स प्लॅटफॉर्ममध्ये गुंतवणूक केली आहे. हा कोड इंटेलिजन्स प्लॅटफॉर्म फक्त कोड सूचना तयार करण्यासाठी नव्हे, तर Roblox अभियंत्याच्या संस्थात्मक खोलीसह पुनरावृत्ती करण्यासाठी डिझाइन केलेला आहे.

Roblox अभियांत्रिकी अनुभवातील सर्वोत्तम गोष्टींपासून शिकणे

Roblox चे अभियांत्रिकी कॉर्पस सुमारे 20 वर्षांच्या कमिट्स, डिझाईन डॉक्स आणि प्रोडक्शन टेलिमेट्रीपर्यंत पसरलेले आहे, हा एक अद्वितीय समृद्ध डेटासेट आहे जो आमच्या प्रणाली कशा विकसित झाल्या आणि आमच्या अभियंत्यांनी कठीण समस्या कशा सोडवल्या हे टिपतो.

कोड इंटेलिजन्स प्लॅटफॉर्मचे उद्दिष्ट त्या डेटाचे संरचित ज्ञान ग्राफमध्ये रूपांतर करणे आहे, जी एक महत्त्वपूर्ण अभियांत्रिकी आव्हान आहे. एका प्रचंड बहुभाषिक वातावरणात, कोड म्हणजे फक्त टेक्स्ट फाइल्स नसतात. तो बिल्ड टार्गेट्स, C++ टेम्पलेट इन्स्टँशिएशन्स आणि डायनॅमिक Lua डिपेंडन्सीजचा एक गुंतागुंतीचा जाळ आहे. फक्त टेक्स्ट पार्स करणे अपुरे आहे; सिस्टमने आमच्या अद्वितीय आर्किटेक्चरसाठी विशिष्ट असलेल्या कोडबेसमध्ये दडलेले खोल अर्थपूर्ण संबंध समजून घ्यावे लागतात. 

दुसरे आव्हान म्हणजे ट्रेसिंग आणि कालांतरातील संरेखन. परस्पर जोडलेल्या प्रणालींमध्ये तर्क करण्यासाठी, एजंट-आधारित प्रणालीला स्थिर कोड रिपॉझिटरींना अस्वस्थ रनटाइम टेलिमेट्रीशी जोडणे आणि लाखो उत्पादन संकेतांना त्यांना तयार करणाऱ्या कोडच्या अचूक आवृत्तीशी मॅप करणे आवश्यक आहे, जरी कोडबेस सतत विकसित होत असला तरीही.

undefined

या समस्येचे निराकरण करण्यासाठी, आमची धोरण आवृत्ती नियंत्रण, ग्राफ तयार करणे आणि रनटाइम टेलिमेट्री यांना सिंटॅक्स, अर्थ आणि संबंध जपणाऱ्या संकरित प्रतीकात्मक-वेक्टर प्रतिनिधित्वात एकत्र करणे आहे. यामुळे कोड बुद्धिमत्ता प्लॅटफॉर्मला कोड वरिष्ठ अभियंत्यांप्रमाणे समजू शकते: डिझाइन रॅशनल, ट्रेड-ऑफ आणि कामगिरी डेटाने आकारलेल्या परस्परसंबंधित प्रणाली म्हणून, स्वतंत्र टेक्स्ट फाइल्स म्हणून नव्हे.

उदाहरणात्मक संरेखनाद्वारे तज्ज्ञ संकेत काढणे

खऱ्या कौशल्याचे रहस्य नमुन्यांमध्ये, पुनरावलोकन टिप्पण्यांमध्ये, कमिट इतिहासात आणि सूक्ष्म कोड idioms मध्ये दडलेले असते. कोड इंटेलिजन्स हे अप्रत्यक्ष ज्ञान एक्झॅम्प्लर अलाईनमेंट इंजिनद्वारे समोर आणते, जे अभियंत्यांना आदर्श अंमलबजावणीचे किंवा पुनरावलोकन तर्काचे "गोल्ड" उदाहरणे संकलित करण्याची परवानगी देते.

यापूर्वी, एक अनुभवी अभियंता प्रत्येक आठवड्यात पीआर (PR) चे पुनरावलोकन करण्यात तासे घालवू शकतो, उच्च-वारंवारता लूपमध्ये ब्लॉकिंग FetchData कॉलच्या वापरावर वारंवार ध्वनीकरण करतो, हा एक असा नमुना आहे जो अर्थदृष्ट्या बरोबर दिसतो परंतु Roblox स्तरावर तीव्र विलंब निर्माण करतो. जर तज्ञ शहराबाहेर असेल किंवा एखादी त्रुटी चुकवली, तर त्यांचे ज्ञान लागू होणार नाही, आणि एक अँटी-पॅटर्न प्रोडक्शनमध्ये शिरून आमच्या समुदायासाठी आउटेज होऊ शकतो.

अलाइनमेंट इंजिन वापरून, तो अभियंता आपले निर्णय नैसर्गिक भाषेतील उदाहरणात रूपांतरित करू शकतो. ही एक संरचित व्याख्या आहे जी कोड नमुना ("काय") आणि तर्क ("का") यांचा संगम करते. आता, प्रणाली स्वयंचलितपणे ब्लॉकिंग कॉल ओळखते, त्यावर ध्वनीकरण करते, विलंबाचा धोका स्पष्ट करते, आणि असिंक्रोनस सर्वोत्तम पद्धतींवरील अंतर्गत दस्तऐवजीकरणाशी थेट दुवा देते:

उच्च-आवृत्तीच्या लूपमध्ये ब्लॉकिंग केल्यामुळे विलंब वाढतो आणि थ्रेड्सचा वापर खूप वाढतो. जेव्हा एखाद्या असिंक्रोनस टास्कमध्ये `FetchData` कॉल केला जातो, तेव्हा लेखकाला विलंब आणि थ्रेड्सच्या वापराबद्दल चेतावणी द्या. `FetchData` तेव्हाच सुरक्षित आहे जेव्हा टास्कवर आधीच प्रतीक्षा (await) केलेली असेल. असिंक्रोनस सर्वोत्तम पद्धतींसाठी थेट दुवा द्या: internal_guidance/async.

हे प्रभावीपणे अभियंत्याच्या अनेक वर्षांच्या अनुभवातून मिळवलेल्या कष्टाने मिळवलेल्या ज्ञानाचे संकलन करते. ही प्रणाली एकदाची पुनरावलोकन टिप्पणी कायमची, स्वयंचलित मार्गदर्शक रेषा बनवते.

"अलाइनमेंट इंजिनला सामर्थ्यशाली बनवणारी गोष्ट फक्त कोडची गुणवत्ता वाढवणे नाही—तर ती मार्गदर्शनाची क्षमताही वाढवते. आम्ही आमच्या सर्वात अनुभवी तज्ञांची कौशल्ये आणि अंतर्ज्ञान प्लॅटफॉर्ममध्येच समाविष्ट करतो. हे अगदी असेच आहे जणू एक वरिष्ठ Roblox डोमेन तज्ञ दिवसभर, दररोज तुमच्यासोबत जोडीने प्रोग्रामिंग करत असेल." —टॉम क्न्यच, वरिष्ठ तांत्रिक संचालक

पण आमच्या तज्ञांकडेही बरेच काम असतं, आणि त्यांच्या सर्व मुख्य अंतर्दृष्टी आठवून लिहून काढायला सांगणं ही सर्वोत्तम परिस्थितीतही वेळखाऊ आणि माहिती गमावणारी प्रक्रिया आहे. तर, Roblox मध्ये त्यांच्या संपूर्ण कार्यकाळात त्यांनी दिलेली सर्वोत्तम सल्ले कसे गोळा करून ठेवू?

हे आधीच तिथेच आहे, त्यांच्या काटेकोर कोड पुनरावलोकन टिप्पण्यांमध्ये लिहिलेले आणि प्रॉडक्शनमध्ये पोहोचणाऱ्या प्रत्येक PR मध्ये संचित केलेले:

BuilderAI Figure 2.webp

आम्ही ऐतिहासिक PR टिप्पण्या एका पाइपलाइनमधून पाठवतो जी Roblox अनुभवातून उच्चतम मूल्य असलेल्या थीम स्वच्छ करून काढते. सुरुवातीला, गोंधळलेला डेटा प्रशंसा किंवा टायपोग्राफी दुरुस्तीसारख्या अकार्यक्षम टिप्पण्यांनी भरलेला असतो, तर मौल्यवान अभिप्राय अनेकदा संदर्भावर अवलंबून संक्षिप्त स्वरूपात लिहिला जातो. उदाहरणार्थ, "येथे नवीन पॅटर्न वापरा" अशी नोंद विशिष्ट फाइल आणि डिफ (diff) समजल्याशिवाय निरर्थक असते. प्रणालीला या विशिष्ट संवादांचे पुनर्वापरयोग्य, सामान्यीकरणक्षम नियमांमध्ये रूपांतर करणे आवश्यक आहे.

हे सोडवण्यासाठी, आम्ही एक बहु-चरणी अल्गोरिदम वापरतो जो मानवी हस्तक्षेपाशिवाय हजारो PRs मधील पुनरावृत्ती होणाऱ्या थीमचा शोध घेतो. ही प्रणाली ऐतिहासिक टिप्पण्या व्हेक्टर स्पेसमध्ये एम्बेड करते, संबंधित अभिप्रायाच्या परिसंस्था शोधण्यासाठी ग्रीडी क्लस्टरिंगचा वापर करते, आणि त्यांना उच्च-मूल्यवान नमुन्यांमध्ये विलीन करण्यासाठी LLM-मार्गदर्शित परिष्करण लागू करते.

याचा परिणाम म्हणजे उमेदवार उदाहरणांची (किंवा शिकवणींची) एक क्रमवारीबद्ध यादी तयार होते, जी त्यांच्या दिसण्याच्या वारंवारतेनुसार आणि विविध पुनरावलोककांनी किती व्यापकपणे उद्धृत केले आहे यानुसार प्राधान्यक्रमित असते, तसेच मूळ टिप्पण्यांचे संदर्भही त्यात समाविष्ट असतात. यानंतर आमचे डोमेन तज्ञ या उमेदवारांचे पुनरावलोकन करतात, आवश्यकतेनुसार संपादन करतात आणि ज्ञानभांडारात मुख्य सर्वोत्तम पद्धती म्हणून कोणत्या गोष्टींना बढती द्यायची हे ठरवतात. या पाइपलाइनच्या पहिल्या पूर्वावलोकनांनंतर, रिपॉझिटरीचे नेते त्यांच्या आवडत्या विषयांना मुख्य मार्गदर्शक तत्त्वे म्हणून वर येताना पाहून उत्साहित झाले आणि त्यांनी ताबडतोब त्यांच्या रिपॉझिटरींचे विश्लेषणासाठी नाव नोंदवायचे ठरवले.   

undefined

शेवटचा टप्पा म्हणजे संरेखण एजंट, जो मानवी अभियंते आणि AI कोडिंग एजंट्स यांना सर्व बदलांची तपासणी करून आदर्श ज्ञानभांडाराशी जुळवून घेण्यास मदत करतो. हे लवचिक मूल्यमापन सॉफ्टवेअर विकास जीवनचक्रात सर्वत्र लागू केले जाऊ शकते: कोडिंग करताना, मर्ज करताना, आणि सतत सुधारणा करणाऱ्या एजंटसह जे ज्ञानभांडार वाढत असताना स्वयंचलितपणे Roblox कोडबेसची देखभाल करते.  

या इन-कॉन्टेक्स्ट लर्निंगचा वापर करून AI वर्तनाला Roblox मानकांशी जोडल्यामुळे, एका AI कोडिंग एजंटची गोल्डन मूल्यांकन डेटासेटवरील पास रेट 84% वरून 100% पर्यंत वाढली. आम्ही फक्त Roblox AI ला कोड कसे लिहायचे ते शिकवत नाही; आम्ही आमच्या AI ला Roblox अभियंते कसे विचार करतात ते शिकवत आहोत.

नकारात्मक संकेतांकडून शिकणे

उदाहरणात्मक संरेखनाने कोडबेस गुणवत्तेसाठी आमची मूलभूत पातळी लक्षणीयरीत्या वाढवली असली तरी, आमचे अंतिम ध्येय असे आहे की AI-सुचविलेल्या कोडचा पहिला प्रयत्न आमच्या सर्वात अनुभवी अभियंत्यांच्या कामाइतकाच विश्वासार्ह असावा. म्हणूनच आम्ही प्रत्येक नाकारलेली AI सूचना, अयशस्वी रिफॅक्टर, किंवा रिग्रेशन-प्रवृत्त करणारा मर्ज यांचा वापर उच्च-मूल्य असलेल्या संकेत म्हणून करतो, जे आम्ही प्रणालीमध्ये परत फीड करू शकतो. हे एजंट्सना सातत्याने सुधारण्यासाठी आणि त्यांच्या चुकांमधून शिकण्यासाठी एक पाइपलाइन तयार करते.

नकारात्मक परिणामांना डोमेन तज्ञांद्वारे सविस्तर तर्क, विचारप्रक्रिया (chain of thought) आणि अपयशाभोवतालच्या अतिरिक्त संदर्भासह फिल्टर आणि लेबल केले जाऊ शकते. नंतर हा डेटा अर्थपूर्ण (semantically) पद्धतीने एम्बेड केला जातो आणि पुनर्प्राप्तीसाठी निर्देशित (indexed) केला जातो. जेव्हा आमचे कोड इंटेलिजन्स प्लॅटफॉर्म नवीन आउटपुट सुचवते, तेव्हा ते या डेटाद्वारे अर्थपूर्ण शोध (semantic search) करते, मागील चुका आणि पुनरावलोककांचा अभिप्राय आठवून त्या पुन्हा होऊ नयेत याची काळजी घेते.

हा बंद फीडबॅक लूप प्रत्येक कोड-समीक्षणाला संरचित शिक्षण डेटा मध्ये रूपांतरित करतो, आणि विरोधी (adversarial) व टीका-आधारित प्रशिक्षणाद्वारे भविष्यातील एजंटच्या वर्तनाला सातत्याने सुधारतो.

एक मजबूत मूल्यांकन चौकट तयार करणे

मापन यापासून सुरू होणाऱ्या विश्वासार्ह, पूर्वानुमेय वर्तनाद्वारे विश्वास निर्माण होतो. आम्ही कालांतराने आमच्या एजंट्सच्या कामगिरीवर लक्ष ठेवण्यासाठी एक समर्पित मूल्यांकन प्रणाली तयार केली आहे.

undefined

फ्रेमवर्कमध्ये समाविष्ट आहे:

  • कार्य-स्तरीय बेंचमार्क: रिफॅक्टरिंग, टेस्टिंग आणि बग-फिक्स सारख्या हजारो Roblox अभियांत्रिकी क्रियाकलापांमध्ये अचूकता आणि पुनर्प्राप्ती.
  • सिमुलेशन हार्नेसेस: पुनरुत्पादित स्कोरिंगसाठी निश्चित परिणामांसह कृत्रिम PRs.
  • मानव-इन-द-लूप पॅनेल्स: AI आउटपुट आणि गोल्ड-स्टँडर्ड अंमलबजावणी यांची तज्ज्ञ तुलना.
  • अंमलबजावणी फ्रेमवर्क: एजंट सुधारणा मर्ज करताना, संबंधित मूल्यांकने समांतरित केली जातात आणि प्री-मर्ज सतत एकत्रीकरण (CI) सुइटचा भाग म्हणून चालवली जातात, ज्यामुळे अभियंत्यांना त्यांच्या बदलांबद्दल उच्च आत्मविश्वास मिळतो. 
  • दीर्घकालीन मेट्रिक्स: मर्ज नंतरचे रिग्रेशन, रिव्हर्ट वारंवारता आणि विलंब बदलांचा विविध रिलीझमध्ये मागोवा.
  • व्यापक निरीक्षणीयता: एजंटच्या क्रियाकलापांचे स्वयंचलित ट्रॅसिंग आणि दृश्यीकरण, ज्यामुळे एजंट्सना Roblox च्या इतर भागांशी जोडता येते आणि ऑनलाइन व ऑफलाइन मूल्यांकनात सुरळीतपणे माहिती पुरवता येते.

ही प्रणाली एजंट गुणवत्ता गुण निर्माण करते जी कालांतराने कामगिरीतील बदलांचा अचूक मागोवा घेते, ज्यामुळे एजंट सुधारणा आणि मॉडेल आवृत्त्यांमधील प्रमाणित तुलना शक्य होते. जेव्हापासून आम्ही उदाहरण संरेखनाची (exemplar alignment) आणि संपूर्ण मूल्यांकन संचाची (eval suite) सुरुवात केली, तेव्हा एका Roblox कोड इंटेलिजन्स एजंटच्या PR सुचवण्याच्या स्वीकार दर 10,000 PR संचावर सुमारे 30% वरून 60% पेक्षा जास्त झाला, जे विश्वासार्ह, क्षेत्र-संरेखित कामगिरीचे प्रारंभिक संकेत आहे. त्याच प्रक्रियेद्वारे, आमच्या फीचर फ्लॅग स्वच्छता एजंटची एकूण अचूकता 46% वरून 90% पेक्षा जास्त झाली.

पुढील मार्ग: प्रत्येक साधनात तज्ज्ञ निर्णयांचा समावेश 

आम्ही MCP आणि टूल रॅपरचा एक थर तयार करून आणि कोड इंटेलिजन्स प्लॅटफॉर्मला लक्ष्यित कामांपासून Roblox कोडबेस निरोगी ठेवणार्‍या प्रणालीकडे विकसित करून आमच्या स्थापन झालेल्या अंतर्गत प्रणालींची उपयुक्तता वाढवत आहोत. 

आम्ही अशा अभियांत्रिकी भविष्याची कल्पना करतो जिथे रनटाइम संदर्भ आणि तज्ज्ञ निर्णय यांसारखे ऐतिहासिकदृष्ट्या स्केल करणे अवघड असलेले ज्ञान प्रत्येक साधन आणि कार्यप्रवाहात विणलेले असेल. जेव्हा कोड बुद्धिमत्ता, आदर्श संरेखन आणि निरीक्षणीयता एकत्र येतात, तेव्हा आम्ही टिकाऊ लाभ अनलॉक करतो: चांगली गुणवत्ता, जलद वितरण, आणि एक निरोगी, विकसित होणारा कोडबेस. दीर्घकालीन उद्दिष्ट म्हणजे प्रत्येक अभियंत्याला संस्थात्मक स्मृतीची शक्ती, प्रत्येक संघाला जलद गतीने उत्पादन पाठवण्याचा आत्मविश्वास, आणि प्रत्येक अभियंत्याला देखभालीवर नव्हे तर नवकल्पनांवर लक्ष केंद्रित करण्याची मुभा देणे. 

1 Deloitte च्या IT Spending Analysis 2024 मधील उद्योगाच्या डेटावर आधारित.