daVinci-Dev: Agent-native Mid-training for Software Engineering
यह शोध पत्र daVinci-Dev को पेश करता है, जो एक एजेंटिक मिड-ट्रेनिंग फ्रेमवर्क है जो वितरण बेमेल (distribution mismatches) को दूर करने के लिए संदर्भगत और पर्यावरणीय रूप से नेटिव ट्रैजेक्टरीज को संयोजित करने वाली एक नवीन "एजेंट-नेटिव" डेटा रणनीति का लाभ उठाता है, जिससे 32B और 72B मॉडल पूर्व विधियों की तुलना में काफी कम प्रशिक्षण टोकन के साथ SWE-Bench Verified प्रदर्शन के साथ अत्याधुनिक (state-of-the-art) स्तर प्राप्त करने में सक्षम होते हैं।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
यहाँ "daVinci-Dev: Agent-native Mid-training for Software Engineering" पेपर का सरल भाषा और रचनात्मक उपमाओं (analogies) के साथ विवरण दिया गया है।
मुख्य विचार: एक रोबोट को असली प्रोग्रामर बनाना सिखाना
कल्पना कीजिए कि आप एक रोबोट को एक टूटी हुई कार ठीक करना सिखाना चाहते हैं।
पुराना तरीका (Post-Training):
वर्तमान के अधिकांश AI मॉडल उन छात्रों की तरह हैं जिन्होंने लाइब्रेरी में मौजूद हर कार मैनुअल को पढ़ लिया है (Pre-training) लेकिन उन्होंने कभी पाना (wrench) छुआ तक नहीं है। उन्हें कार ठीक करना सिखाने के लिए, शोधकर्ता उन्हें विशेषज्ञों द्वारा कार ठीक करने के कुछ वीडियो दिखाते हैं (Supervised Fine-Tuning) और फिर उन्हें एक गैरेज में अभ्यास करने देते हैं, जहाँ उन्हें केवल तभी सुधारा जाता है जब वे कोई गलती करते हैं (Reinforcement Learning)।
- समस्या: यह "गैरेज" छोटा है और इसे बनाना महंगा है। आप केवल कुछ ही कारों पर अभ्यास कर सकते हैं। साथ ही, छात्र केवल तैयार ठीक की हुई कार देखता है, न कि कोशिश करने, विफल होने, इंजन की जाँच करने और फिर से प्रयास करने की पूरी उलझी हुई प्रक्रिया को।
नया तरीका (daVinci-Dev / Agent-Native Mid-Training):
इस पेपर के लेखक कहते हैं, "आइए रोबोट को गैरेज में भेजने से पहले ही उसे सिखाते हैं।" वे मिड-ट्रेनिंग (Mid-Training) नामक एक मध्य चरण पेश करते हैं।
केवल रोबोट को तैयार कार दिखाने के बजाय, वे उसे लाखों वास्तविक मैकेनिकों के वास्तविक दुनिया के रिपेयर लॉग्स (repair logs) की एक विशाल लाइब्रेरी खिलाते हैं। वे उसे केवल अंतिम परिणाम नहीं दिखाते; वे उसे पूरी कहानी दिखाते हैं:
- मैकेनिक टूटी हुई कार को देख रहा है।
- मैकेनिक बोनट खोल रहा है और मैनुअल पढ़ रहा है।
- मैकेनिक एक सुधार करने की कोशिश करता है, एक अजीब सी आवाज़ सुनता है, और महसूस करता है कि यह काम नहीं किया।
- मैकेनिक तब तक अलग-अलग सुधार करने की कोशिश करता है जब तक कि वह काम न कर जाए।
वे इसे "एजेंट-नेटिव" (Agent-Native) डेटा कहते हैं क्योंकि यह वास्तविक दुनिया में एक एजेंट (एक कार्यकर्ता) होने के अनुभव की नकल करता है, न कि केवल स्थिर तथ्यों को याद करने की।
दो विशेष सामग्रियाँ
इस ट्रेनिंग लाइब्रेरी को बनाने के लिए, टीम ने GitHub (एक विशाल वेबसाइट जहाँ प्रोग्रामर अपना कोड साझा करते हैं) से दो प्रकार की "कहानियाँ" (डेटा) बनाईं:
1. "कॉन्टेक्स्टुअली-नेटिव" कहानियाँ (The Broad Library - व्यापक लाइब्रेरी)
- यह क्या है: उन्होंने लाखों "पुल रिक्वेस्ट" (कोड बदलने के अनुरोध) लिए और पूरी कहानी को पुनर्गठित किया।
- उपमा: एक जासूस की केस फाइल की कल्पना करें। यह केवल सुलझे हुए अपराध को ही नहीं दिखाता; यह दिखाता है कि जासूस संदिग्ध की डायरी पढ़ रहा है, सही फाइल ढूंढ रहा है, एक अनुमान लगा रहा है, और फिर नए सुरागों के आधार पर अपना विचार बदल रहा है।
- यह कैसे मदद करता है: यह AI को काम के प्रवाह (flow) को सिखाता है। यह सीखता है कि किसी फ़ाइल को संपादित करने से पहले, आपको उसे ढूँढना और पढ़ना होगा। यह विभिन्न भाषाओं और स्थितियों की एक विशाल विविधता को कवर करता है (68.6 बिलियन शब्दों का डेटा)।
2. "एनवायरनमेंटली-नेटिव" कहानियाँ (The Live Simulation - लाइव सिमुलेशन)
- यह क्या है: उन्होंने केवल लॉग्स नहीं पढ़े; उन्होंने वास्तव में कोड को चलाया। उन्होंने एक AI एजेंट को एक वास्तविक, काम करने वाले कंप्यूटर वातावरण (एक Docker कंटेनर) के भीतर रखा और उसे बग्स ठीक करने की कोशिश करने दी।
- उपमा: यह छात्र को एक वास्तविक गैरेज में एक वास्तविक इंजन के साथ रखने जैसा है। छात्र एक बोल्ट घुमाने की कोशिश करता है, और इंजन से एक ज़ोरदार खड़-खड़ (एक एरर) की आवाज़ आती है। छात्र उस एरर को सुनता है, रुकता है, और एक अलग टूल के साथ कोशिश करता है।
- यह कैसे मदद करता है: यह AI को वास्तविक फीडबैक पर प्रतिक्रिया देना सिखाता है। यह सीखता है कि "यदि मैं यह कमांड टाइप करता हूँ, तो कंप्यूटर मुझे एरर मैसेज के साथ चिल्लाकर बताएगा," जो कि ऐसी चीज़ है जो स्थिर किताबें नहीं सिखा सकतीं। यह हिस्सा छोटा (3.1 बिलियन शब्द) है लेकिन बहुत उच्च गुणवत्ता वाला है क्योंकि यह "वास्तविक" है।
परिणाम: यह कितना सफल रहा?
टीम ने अपने नए "छात्र" (daVinci-Dev मॉडल) का परीक्षण SWE-Bench Verified नामक एक प्रसिद्ध परीक्षा पर किया, जो सॉफ्टवेयर इंजीनियरों के लिए एक अंतिम ड्राइविंग टेस्ट की तरह है।
- स्कोर: उनके 72-बिलियन पैरामीटर वाले मॉडल ने 58.5% सफलता दर प्राप्त की।
- तुलना: इसने पिछले सर्वश्रेष्ठ ओपन-सोर्स तरीके (Kimi-Dev) को पछाड़ दिया, जिसने लगभग 48.6% स्कोर किया था।
- दक्षता (Efficiency): उन्होंने पिछले रिकॉर्ड-होल्डर द्वारा उपयोग किए गए डेटा (टोकन) की मात्रा के आधे से भी कम का उपयोग करके इसे हासिल किया। यह 100 घंटों के बजाय 50 घंटों की पढ़ाई करके परीक्षा में A+ लाने जैसा है, क्योंकि अध्ययन सामग्री बहुत बेहतर थी।
- आश्चर्य: भले ही उन्होंने एक "सामान्य" बेस मॉडल (Qwen2.5-Base) से शुरुआत की थी जो विशेष रूप से कोडिंग के लिए प्रशिक्षित नहीं था, इस नई ट्रेनिंग पद्धति ने उन्हें उन मॉडलों से बेहतर बना दिया जो "कोडिंग विशेषज्ञों" के रूप में शुरू हुए थे।
यह क्यों महत्वपूर्ण है (पेपर के अनुसार)
पेपर का तर्क है कि AI को कोडिंग सिखाने में सबसे बड़ी गलती इसे ऐसे छात्र की तरह मानना रहा है जो केवल पाठ्यपुस्तकों को पढ़ता है। वास्तविक सॉफ्टवेयर इंजीनियरिंग एक लूप (चक्र) है: समस्या ढूँढें → कोड पढ़ें → सुधार करने की कोशिश करें → देखें कि क्या यह टूटता है → फिर से ठीक करें।
AI को ऐसा डेटा खिलाकर जो इस लूप (दोनों काम की कहानी और कंप्यूटर का रियल-टाइम फीडबैक) को सुरक्षित रखता है, उन्होंने एक ऐसा आधार बनाया है जो बहुत अधिक मजबूत है।
संक्षेप में: उन्होंने केवल AI को यह नहीं सिखाया कि कोड कैसा दिखता है; उन्होंने उसे प्रोग्रामर की तरह सोचना सिखाया, वास्तविक सॉफ्टवेयर विकास की बिखरी हुई, परीक्षण-और-त्रुटि (trial-and-error) वाली प्रक्रिया को सिम्युलेट करके।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।