- ओपन सोर्स maintenance के लिए automated helper "agent" बनाकर open source software development को बेहतर बनाने का लक्ष्य रखने वाला प्रोजेक्ट
- इससे open source maintenance से जुड़े दोहराए जाने वाले कामों की मात्रा कम हो सकती है
- बड़े language model (LLM) की natural language semantic analysis क्षमता और natural language instructions व program code के बीच रूपांतरण की क्षमता, agents के लिए लोगों के साथ अधिक सहज रूप से interact करने के नए अवसर बनाती है
- LLM agent का सिर्फ एक हिस्सा होगा, और agent के अधिकांश काम standard और deterministic code चलाने के होंगे
- Oscar, development-केंद्रित LLM उपयोग के विपरीत, code लिखने की प्रक्रिया को पूरक या प्रतिस्थापित करने की कोशिश नहीं करता
- इसके बजाय, incoming issues को संभालने, सवालों को मौजूदा documentation से match करने जैसे उबाऊ हिस्सों पर ध्यान देने का विचार है
प्रोजेक्ट लक्ष्य
- issue resolution के लिए maintenance effort कम करना [resolution का मतलब हमेशा fix होना नहीं है]
- change list (CL) या pull request (PR) resolution के लिए maintenance effort कम करना [resolution का मतलब हमेशा submit/merge होना नहीं है]
- forum questions के resolution के लिए maintenance effort कम करना
- अधिक लोगों को productive maintainer बनने में सहायता देना
approach
- open source maintenance के repetitive tasks सिर्फ Go project तक सीमित नहीं हैं, इसलिए लक्ष्य ऐसी architecture बनाना है जिसे सभी software projects reuse और extend कर सकें
- अब तक Oscar के महत्वपूर्ण हिस्से बनने वाली तीन capabilities की पहचान की गई है:
- contributor interactions के दौरान प्रासंगिक project context को index करना और सामने लाना
- deterministic tools को control करने के लिए natural language का उपयोग
- issue reports और CL/PR analysis के जरिए submission के दौरान या उसके तुरंत बाद real time में सुधार करना और उचित labeling व routing करना
प्रासंगिक project context का indexing और exposure
- LLM embeddings बनाकर documents का analysis कर सकता है; embeddings उच्च-आयामी floating-point unit vectors होते हैं, जिनकी विशेषता यह है कि समान अर्थ वाले documents को समान दिशा दिखाने वाले vectors में map किया जाता है
- input vector से मिलते-जुलते vectors खोजने के लिए vector database के साथ मिलकर, LLM embeddings open source projects के पूरे context को index करने का बहुत प्रभावी तरीका देते हैं
- prototype agent इस capability को implement करता है और Go repository में नए issues के जवाब में अधिकतम 10 अत्यधिक प्रासंगिक links की सूची देता है
deterministic tools को control करने के लिए natural language का उपयोग
- जैसे-जैसे open source project बढ़ते हैं, उपयोगी tools की संख्या बढ़ती जाती है और सभी tools का हिसाब रखना और हर एक का उपयोग कैसे करना है यह याद रखना कठिन हो सकता है
- LLM, natural language में लिखे गए intent और program code या tool calls जैसे executable forms में intent के बीच रूपांतरण में बहुत प्रभावी है
- natural language requests को पूरा करने के लिए उपलब्ध tools चुनने और call करने संबंधी Gemini के experiments किए गए, लेकिन अभी तक कुछ भी वास्तव में काम नहीं कर रहा है
issue reports और CL/PR analysis
- संबंधित issues पर पोस्ट करना analysis का सीमित रूप है, लेकिन performance से जुड़े issues की पहचान कर "performance" label जोड़ने जैसे अन्य semantic analysis जोड़ने की योजना है
- यह भी तलाशने की योजना है कि क्या reports का इतना अच्छा analysis किया जा सकता है कि यह पहचाना जा सके कि report को उपयोगी बनाने के लिए और जानकारी चाहिए या नहीं
- ये सभी analysis और उनसे होने वाले interactions, report submit होने के तुरंत बाद होने पर कहीं बेहतर काम करते हैं, जब reporter अभी भी उपलब्ध और engaged होता है
prototype
- Oscar को explore करने के लिए पहला prototype Gaby (Go AI bot) कहलाता है, जो Go issue tracker पर चलता है और @gabyhelp के रूप में पोस्ट करता है
- अभी तक Gaby, GitHub पर Go issue content को index करता है, go.dev पर Go documentation को index करता है, और नए issues का जवाब प्रासंगिक links के साथ देता है
- Gaby की structure इसे किसी भी तरह की hosting service पर, किसी भी LLM, storage layer और vector database का उपयोग करके चलाना आसान बनाती है
अभी कोई टिप्पणी नहीं है.