← नवीनतम पेपर
🤖 AI

Beyond Summaries: Structure-Aware Labeling of Code Changes with Large Language Models

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

मूल लेखक: Bar Weiss, Antonio Abu-Nassar, Adi Sosnovich, Karen Yorav

प्रकाशित 2026-05-26
📖 6 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Bar Weiss, Antonio Abu-Nassar, Adi Sosnovich, Karen Yorav

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

कल्पना कीजिए कि आप एक विशाल, अराजक समाचार पत्र के संपादक-इन-चीफ हैं। हर दिन, सैकड़ों रिपोर्टर टेक्स्ट के छोटे-छोटे टुकड़े (पैच) जमा करते हैं जिन्हें समाचार पत्र में जोड़ा जाना है। आपका काम हर एक टुकड़े को पढ़ना, यह समझना कि वह किस तरह का बदलाव है, और उसे टैग करना है ताकि आपकी टीम जान सके कि उसके साथ क्या करना है।

  • "क्या यह सिर्फ एक स्पेलिंग की गलती सुधारना है?"
  • "क्या उन्होंने एक पूरा पैराग्राफ नए पेज पर स्थानांतरित कर दिया है?"
  • "क्या उन्होंने कहानी में किसी पात्र का नाम बदल दिया है?"
  • "क्या यह पूरी तरह से नया प्लॉट ट्विस्ट है?"

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

यह शोध पत्र इस छंटनी के काम को करने के लिए एक नया तरीका पेश करता है जिसमें लार्ज लैंग्वेज मॉडल्स (LLMs) का उपयोग किया जाता है—वही AI जो कहानियाँ लिख सकता है या आपसे चैट कर सकता है। लेकिन इसे केवल "सारांश" (summary) लिखने के लिए कहने के बजाय (जो कि एक किताब की समीक्षा लिखने जैसा है), लेखकों ने इसे एक सुव्यवस्थित लाइब्रेरियन की तरह कार्य करने के लिए कहा, जो हर बदलाव को एक विशिष्ट, संरचित लेबल के साथ टैग करता है।

यहाँ बताया गया है कि उन्होंने इसे कैसे किया, जिसे सरल अवधारणाओं में विभाजित किया गया है:

1. समस्या: "सारांश" का जाल (The "Summary" Trap)

अधिकांश लोग कोड रिव्यू के लिए AI का उपयोग त्वरित सारांश प्राप्त करने के लिए करते हैं, जैसे "यह पैच एक बग को ठीक करता है।" यह मानव के पढ़ने के लिए मददगार है, लेकिन एक कंप्यूटर के लिए जो वर्कफ़्लो को स्वचालित करने की कोशिश कर रहा है, यह बेकार है। आप मुक्त-टेक्स्ट सारांशों (free-text summaries) के ढेर को आसानी से फ़िल्टर या सॉर्ट नहीं कर सकते।

लेखक चाहते थे कि AI कुछ अधिक सटीक करे: स्ट्रक्चर-अवेयर लेबलिंग (Structure-Aware Labeling)। वे चाहते थे कि AI एक कोड परिवर्तन को देखे और कहे, "यह एक Rename है," और फिर यह भी कहे, "ओह, और तीन लाइन नीचे वाला यह दूसरा बदलाव भी उसी 'Rename' का हिस्सा है, बस एक अलग फ़ाइल में लागू किया गया है।"

2. समाधान: एक दो-चरणीय असेंबली लाइन (A Two-Stage Assembly Line)

लेखकों ने एक दो-चरणीय प्रक्रिया बनाई, जो एक फैक्ट्री असेंबली लाइन की तरह है, ताकि यह सुनिश्चित हो सके कि AI भ्रमित हुए बिना सही काम करे।

चरण 1: "लेबलर" (The "Labeler" - तेज़ स्कैनर)
एक तेज़ स्कैनर की कल्पना करें जो कोड के एक एकल टुकड़े (एक "डिफ हंक") को देखता है और पूछता है, "यह क्या है?"

  • यह कह सकता है, "यह एक Style Change लग रहा है" (केवल फॉर्मेटिंग)।
  • या, "यह एक Logic Change लग रहा है" (कोड वास्तव में कुछ अलग कर रहा है)।
  • यह यह करने के लिए कोड के टुकड़े और उससे पहले और बाद के थोड़े से कोड को देखता है (जैसे किसी शब्द का अर्थ समझने के लिए उससे पहले और बाद के वाक्य को पढ़ना)।

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

  • यह कड़ियों को जोड़ता है: "आह, स्कैनर ने यहाँ 'Rename' कहा, और वहाँ भी 'Rename' कहा। ये दोनों वास्तव में एक ही घटना हैं!"
  • यह छूटी हुई जानकारी को भर देता है: "पुराना नाम user_id था, और नया नाम client_id है।"
  • यह उन्हें एक साथ जोड़ता है ताकि कंप्यूटर को पता चल सके कि वे एक ही "कहानी" के हिस्से हैं।

3. "जादू" बनाम "नियम पुस्तिका" (The "Magic" vs. The "Rulebook")

यह शोध पत्र इस नए AI तरीके की तुलना पुराने "स्टैटिक एनालिसिस" (कठोर नियम पुस्तिका) विधि से करता है।

  • नियम पुस्तिका (Static Analysis): यह अविश्वसनीय रूप से सटीक है, लेकिन यह एक ऐसे ताले की तरह है जो केवल एक विशिष्ट चाबी के लिए फिट बैठता है। यदि आप किसी नई प्रोग्रामिंग भाषा में कोड की जांच करना चाहते हैं, तो आपको एक नया ताला बनाने के लिए एक इंजीनियर को काम पर रखना होगा। यह महंगा है और इसे अपडेट करना धीमा है।
  • AI (LLM): यह एक स्मार्ट इंटर्न की तरह है जिसने लाखों किताबें पढ़ी हैं। इसे हर भाषा के लिए नए ताले की आवश्यकता नहीं है; इसे बस यह बताया जाना चाहिए, "यहाँ इस भाषा के लिए नियम क्या है।" यह लचीला, तेज़ और कई अलग-अलग भाषाओं को एक साथ संभालने में सक्षम है। ट्रेड-ऑफ क्या है? यह 100% परफेक्ट नहीं है (यह कभी-कभी गलती कर सकता है), लेकिन यह अविश्वसनीय रूप से उपयोगी होने के लिए पर्याप्त अच्छा है।

4. परिणाम: इंटर्न कितना अच्छा था?

लेखकों ने वास्तविक दुनिया के कोड परिवर्तनों और काल्पनिक उदाहरणों के मिश्रण पर इस सिस्टम का परीक्षण किया। उन्होंने चार अलग-अलग "स्मार्ट इंटर्न" (विभिन्न AI मॉडल) का उपयोग किया।

  • सर्वश्रेष्ठ प्रदर्शन करने वाला: एक AI मॉडल (Gemini-3) ने सभी परिवर्तनों को खोजने (Recall) में लगभग 84% बार सही काम किया और जब उसने दावा किया कि कुछ एक विशिष्ट प्रकार का परिवर्तन है, तो वह 81% सटीक (Precision) था।
  • "जासूसी" का काम: सिस्टम संबंधित परिवर्तनों को जोड़ने में आश्चर्यजनक रूप से अच्छा था। यदि एक फ़ाइल में एक फंक्शन का नाम बदला गया और उसे दूसरी फ़ाइल में उपयोग किया गया, तो सिस्टम ने सही ढंग से पहचान लिया कि ये दोनों परिवर्तन एक ही "Rename" घटना का हिस्सा थे।
  • लागत: AI थोड़ा "बातूनी" था, इसने पुराने नियम-आधारित तरीकों की तुलना में अधिक कंप्यूटर पावर (टोकन) का उपयोग किया, लेकिन इसकी लचीलापन इस खर्च के लायक थी।

निष्कर्ष (The Bottom Line)

यह शोध पत्र दिखाता है कि हम AI का उपयोग न केवल कोड परिवर्तनों के सारांश लिखने के लिए, बल्कि उन्हें वर्गीकृत और संरचित करने के लिए भी कर सकते हैं।

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

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

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

Digest आज़माएँ →