← नवीनतम पेपर
💻 computer science

Unseen-Codebases-Domain Data Synthesis and Training Based on Code Graphs

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

मूल लेखक: Guangsheng Ou, Qiming Zhang, Sirong Chen, Anji Li, Dong Xu, Tiancheng Luo, Dekun Dai, Cuiyun Gao, Long Wang, Jun Zhou, Mingwei Liu, Zibin Zheng

प्रकाशित 2026-02-25
📖 7 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Guangsheng Ou, Qiming Zhang, Sirong Chen, Anji Li, Dong Xu, Tiancheng Luo, Dekun Dai, Cuiyun Gao, Long Wang, Jun Zhou, Mingwei Liu, Zibin Zheng

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक मास्टर शेफ हैं जिसने एक विशिष्ट, अच्छी तरह से स्टॉक किए गए सुपरमार्केट (जैसे GitHub) के सामान के साथ खाना पकाने में कई साल बिताए हैं। आप जानते हैं कि एक परफेक्ट पिज्जा बनाने के लिए टमाटर, बेसिल और मोज़ेरेला को कैसे मिलाना है क्योंकि आपने ठीक उन्हीं सामग्रियों का उपयोग करके हजारों रेसिपी देखी हैं।

अब, कल्पना कीजिए कि आपको अचानक एक नए रेस्टोरेंट में काम करने के लिए रखा गया है जो एक बिल्कुल नए, गुप्त सामग्री (secret ingredient) का उपयोग करता है जिसे कल ही आविष्कार किया गया था। आपने इसे पहले कभी नहीं देखा है, आप नहीं जानते कि इसका स्वाद कैसा है, और आप यह भी नहीं जानते कि इसे अपने अन्य सामग्रियों के साथ कैसे मिलाना है।

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

आपके द्वारा साझा किया गया पेपर, "UCD-Training," इन AI शेफ को इन बिल्कुल नई सामग्रियों के साथ खाना बनाना सिखाने के लिए एक चतुर समाधान प्रस्तावित करता है, भले ही उनके पास केवल कच्ची सामग्री ही क्यों न हो, कोई रेसिपी नहीं।

यहाँ उनके तरीके का सरल उपमाओं (analogies) का उपयोग करके विवरण दिया गया है:

समस्या: "खाली नज़र" (The "Blank Stare")

जब डेवलपर्स नई लाइब्रेरीज़ (जैसे किसी नए डेटाबेस का नया वर्शन या एक नया AI फ्रेमवर्क) का उपयोग करते हैं, तो AI को नहीं पता होता कि उनका उपयोग कैसे करना है।

  • पुराना समाधान (RAG): यह शेफ को खाना बनाते समय एक सर्च इंजन देने जैसा है। यदि उन्हें नए मसाले का उपयोग कैसे करना है यह जानना है, तो वे इसे खोज लेते हैं।
    • दोष: सर्च इंजन आपको तथ्यों की एक सूची देता है, लेकिन यह आपको यह नहीं सिखाता कि वह मसाला रसोई में बाकी सब चीजों के साथ कैसे काम करता है। शेफ अभी भी जटिल व्यंजन बनाने की कोशिश करते समय खोया हुआ महसूस करता है।
  • लक्ष्य: हमें शेफ को केवल चीजें खोजने के लिए नहीं, बल्कि रसोई के नए नियमों को सिखाने की आवश्यकता है।

समाधान: UCD-Training (दो-चरणीय कुकिंग स्कूल)

लेखक एक दो-चरणीय प्रशिक्षण प्रक्रिया प्रस्तावित करते हैं जो कच्चे कोड को नए फ्रेमवर्क की "स्मार्ट" समझ में बदल देती है।

चरण 1: "किचन मैप" बनाना (कोड ग्राफ)

सबसे पहले, सिस्टम कच्चे सोर्स कोड (नई सामग्रियों) को लेता है और एक मैप (नक्शा) बनाने के लिए उसका विश्लेषण करता है।

  • उपमा: एक नई, जटिल मशीन को अलग करने और यह दिखाने वाले आरेख (diagram) को बनाने की कल्पना करें कि उसका हर गियर दूसरे गियर से कैसे जुड़ा है।
  • यह क्या करता है: यह पहचानता है कि "फ़ाइल A" "फ़ाइल B" पर निर्भर है, और "फंक्शन X" "फंक्शन Y" को कॉल करता है। यह कोड के ढेर को एक संरचित डिपेंडेंसी ग्राफ में बदल देता है। यह मैप उन छिपे हुए संबंधों को दिखाता है जिन्हें एक इंसान (या AI) केवल टेक्स्ट पढ़कर मिस कर सकता है।

चरण 2: दो-चरणीय प्रशिक्षण

एक बार जब उनके पास मैप होता है, तो वे AI को दो विशिष्ट चरणों में प्रशिक्षित करते हैं:

चरण A: "डिपेंडेंसी-प्रिजर्विंग प्री-ट्रेनिंग" (लेआउट सीखना)

  • उपमा: शेफ को भोजन बनाना सिखाने से पहले, आप उन्हें एक विशिष्ट क्रम में रसोई में घुमाते हैं। आप कहते हैं, "पहले, आपको चाकू उठाना होगा, फिर चॉपिंग बोर्ड, फिर सब्जियां।" आप उन्हें उन चीजों के क्रम में देखते हैं जिनका वास्तव में उपयोग किया जाता है।
  • तकनीक: AI कोड फाइलों को उनके डिपेंडेंसी के क्रम का सम्मान करते हुए (मैप का पालन करते हुए) पढ़ता है। यह AI को नए फ्रेमवर्क की संरचना को याद करने में मदद करता है। वह सीखता है, "ओह, मुझे उस फंक्शन का उपयोग करने से पहले हमेशा इस लाइब्रेरी को इम्पोर्ट करना होगा।"

चरण B: "ग्राफ-ग्राउंडेड फाइन-ट्यूनिंग" (रेसिपी सीखना)
यह सबसे रचनात्मक हिस्सा है। चूंकि इस बिल्कुल नए कोड के लिए कोई वास्तविक "यूजर उदाहरण" (रेसिपी) नहीं हैं, इसलिए सिस्टम उस मैप का उपयोग करके जिन्हें उसने बनाया है, उन्हें सिंथेसाइज (बनाना/नकली बनाना) करता है। यह तीन प्रकार की "अभ्यास परीक्षाएँ" बनाता है:

  1. सिंगल-हॉप रिलेशंस (The "Vocabulary" Quiz):
    • उपमा: "यदि मेरे पास एक 'चम्मच' और एक 'कटोरा' है, तो वे कैसे जुड़ते हैं?"
    • तकनीक: AI कोड के दो टुकड़ों के बीच सरल संबंध सीखता है। यह नए फ्रेमवर्क का बुनियादी व्याकरण सीखता है।
  2. कंपोजिशनल API रीजनिंग (The "Complex Dish" Challenge):
    • उपमा: "यहाँ सामग्रियों की एक सूची है। एक ऐसा व्यंजन बनाएं जिसमें अंडे को तलने के लिए चाकू, एक पैन और एक स्टोव का एक साथ उपयोग किया जाए।"
    • तकनीक: यह सिस्टम मैप को देखता है और जटिल परिदृश्य बनाता है जहाँ कोड के कई हिस्सों को एक साथ काम करना चाहिए। यह AI को मजबूर करता है कि वह विभिन्न फंक्शन्स को सही ढंग से कैसे संयोजित किया जाए, यह समझे।
    • यह क्यों काम करता है: केवल एक सिंगल फंक्शन को याद करने के बजाय, AI यह सीखता है कि चीज़ें बनाने का लॉजिक क्या है।
  3. कोडबेस यूटिलाइजेशन (The "Real-World Simulation"):
    • उपमा: उन टेस्ट केसेस को लेना जो मूल डेवलपर्स ने लिखे थे (जो "क्वालिटी कंट्रोल चेक" की तरह हैं) और उन्हें AI के लिए "कुकिंग चैलेंज" में बदलना।
    • तकनीक: यह मौजूदा टेस्ट को ऐसे सवालों में बदल देता है जैसे, "एक प्रोग्राम लिखें जो इस विशिष्ट टेस्ट को पास करे।" यह AI को सिखाता है कि वास्तविक दुनिया में उस फ्रेमवर्क का उपयोग कैसे किया जाता है।

सीक्रेट सॉस: रीजनिंग ट्रेसेस (Reasoning Traces)
महत्वपूर्ण रूप से, जब सिस्टम ये अभ्यास प्रश्न बनाता है, तो यह केवल उत्तर नहीं देता। यह एक AI को अपने विचार प्रक्रिया (रीजनिंग ट्रेस) को लिखने के लिए मजबूर करता है, जो यह समझाता है कि उसने उन सामग्रियों को क्यों चुना।

  • उपमा: केवल तैयार पिज्जा दिखाने के बजाय, शेफ समझाता है, "मैंने इस क्रस्ट को इसलिए चुना क्योंकि यह सॉस को बेहतर तरीके हुए रखता है, और मैंने चीज़ को अंत में डाला क्योंकि..."
  • यह AI को केवल यह नहीं सिखाता कि क्या आउटपुट देना है, बल्कि यह भी सिखाता है कि कैसे सोचना है

परिणाम: यह क्यों मायने रखता है

लेखकों ने इसे एक नए बेंचमार्क UnseenCodeBench (एक नया, गुप्त सामग्री वाला टेस्ट किचन) पर टेस्ट किया।

  • परिणाम: UCD-Training के साथ प्रशिक्षित AI, केवल जानकारी खोजने वाले (RAG) या जेनेरिक डेटा पर प्रशिक्षित AI की तुलना में काफी बेहतर था।
  • उपमा: UCD-प्रशिक्षित शेफ उस नए रेस्टोरेंट में जा सकता था, गुप्त सामग्रियों को देख सकता था, और बिना किसी मदद के तुरंत जटिल व्यंजन बनाना शुरू कर सकता था। "सर्च इंजन" वाले शेफ फंसते रहे या नकली सामग्रियां बनाने लगे।
  • वास्तविक दुनिया का प्रभाव: यहाँ तक कि जब AI को एक साथ कई नए किचन (कई भाषाएं और फ्रेमवर्क) को संभालना पड़ा, तब भी इसने किसी भी अन्य विधि की तुलना में बेहतर प्रदर्शन किया।

सारांश

संक्षेप में, यह पेपर "AI का नए कोड में खो जाना" की समस्या को हल करता है:

  1. इसकी संरचना को समझने के लिए कोड को मैप (Map) करना।
  2. उस मैप के आधार पर यथार्थवादी उपयोग के परिदृश्यों (रेसिपी) को सिम्युलेट (Simulate) करना।
  3. उन परिदृश्यों के माध्यम से AI को सिखाना (Teach), जिससे वह एक "खोजकर्ता" से बदलकर उस नए फ्रेमवर्क का "सच्चा विशेषज्ञ" बन जाता है।

यह एक AI को मैप और गाइडबुक वाले पर्यटक से बदलकर एक स्थानीय निवासी बनाने जैसा है जो मोहल्ले को दिल से जानता है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →