# AI पूरे प्रोग्राम का पुनर्जनन किए बिना कोड का संपादन कैसे कर सकता है?

Canonical HTML: https://aogavrilov.com/hi/research/discrete-latent-generation/

Document language: hi

जननात्मक models के साथ स्थानीयकृत code modification की व्यावहारिक शोध-मार्गदर्शिका: क्या नियत रहना चाहिए, क्या बदल सकता है, और किसी transformation को संरचना-संरक्षी कहने से पहले कौन-सा साक्ष्य अपेक्षित है।

प्रकाशित 25 जुलाई 2026 अद्यतन 30 जुलाई 2026 [Alexey Gavrilov](https://aogavrilov.com/about/)

## वास्तविक समस्या क्या है

कोड-संपादन केवल छोटे प्रॉम्प्ट के साथ किया गया कोड-जनन नहीं है। संपादक को एक मौजूदा कलाकृति, अपेक्षित परिवर्तन और एक अंतर्निहित संरक्षण अनुबंध मिलता है। अतः केंद्रीय प्रश्न के दो पक्ष हैं: **कौन-सा क्षेत्र बदल सकता है और शेष भाग के कौन-से गुण स्थिर रहने चाहिए?**

यह मार्गदर्शिका AI-सहायित सॉफ़्टवेयर संपादन में प्रवेश कर रहे तकनीकी रूप से दक्ष पाठकों के लिए है। यह स्थानीय संपादन की सहज धारणा को वाक्य-विन्यासीय, संरचनात्मक, अर्थगत और कार्यात्मक संरक्षण के अधिक प्रबल दावों से अलग करती है।

## मूल विचार

एक परिसीमित editor को केवल जनन-लक्ष्य नहीं, बल्कि स्पष्ट संरक्षण-सीमा चाहिए।

### क्या स्थिर रहना चाहिए

यह पाठ-खंड, व्याकरण, API हस्ताक्षर, AST क्षेत्र, परीक्षण व्यवहार, निर्भरता अनुबंध या कोई सीखा हुआ स्थूल निरूपण हो सकता है। प्रत्येक विकल्प स्थिरता की अलग धारणा की रक्षा करता है।

### क्या बदल सकता है

अनुरोधित कार्य हल करने के लिए संपादन-योग्य क्षेत्र में पर्याप्त स्वतंत्रता आवश्यक है। जो नियंत्रण विधि सब कुछ नकल करती है वह स्थिर किंतु अनुपयोगी है; जो सब कुछ पुनर्लिखती है वह स्थानिकता के बिना स्वतंत्रता देती है।

## एक सहज प्रतिरूप: एक कमरे का नवीनीकरण करें, भवन को संरक्षित रखें

कल्पना कीजिए कि भार-वहन संरचना, पाइपलाइन इंटरफ़ेस और आसपास के कमरों को अक्षुण्ण रखते हुए केवल एक कमरे का नवीनीकरण किया जा रहा है। पूर्ण पुनर्जनन, मौखिक विवरण के आधार पर पूरे घर को फिर से बनाने जैसा है। इसके विपरीत, स्थानीयकृत संपादन संरक्षित संरचना को चिह्नित करता है, सीमित कार्य-क्षेत्र खोलता है, परिवर्तन करता है और परिणाम स्वीकार करने से पहले उसका निरीक्षण करता है।

**जहाँ यह उपमा लागू नहीं होती।** सीखा हुआ अव्यक्त code कोई प्रमाणित architectural plan नहीं है। किसी स्थूल code को नियत करने से मापी गई संरचनात्मक स्थिरता बढ़ सकती है, पर इससे यह गारंटी नहीं मिलती कि कोई विशिष्ट AST node, व्यवहार या interface अपरिवर्तित रहेगा।

## आंशिक पुनर्जनन का अधिक सटीक दृष्टिकोण

किसी एनकोडर को प्रोग्राम का मानचित्रण करने दें `x` एक संरचित अव्यक्त निरूपण में `z` । एक संरक्षण mask स्थानों का चयन करता है `L` को स्थिर रखने के लिए। जनित्र केवल पूरक स्थितियों से नमूने लेता है और साथ ही लागू करता है `z'l = zl` प्रत्येक लॉक की गई स्थिति के लिए। इसके बाद डीकोडर पूर्ण निरूपण को मैप करता है `z'` वापस source code में।

यह तंत्र टोकनों के ऊपर एक निरीक्षणीय नियंत्रण सतह बनाता है। इसका अर्थ अभी अनुभवजन्य रूप से स्थापित किया जाना है: शोधकर्ताओं को जाँचना होगा कि डिकोडिंग के बाद लॉक की गई स्थितियाँ क्या संरक्षित रखती हैं और क्या संपादनयोग्य स्थितियों में पर्याप्त स्वतंत्रता बचती है।

## चार-चरणीय संपादन कार्यप्रवाह

1. सीमा निर्दिष्ट करें संरक्षित क्षेत्रों या गुणों की पहचान करें और अभिप्रेत परिवर्तन को परिभाषित करें।
2. आर्टिफैक्ट का निरूपण करें पाठ, वाक्य-विन्यास, पुनर्प्राप्ति संदर्भ अथवा सीखे हुए स्थूल और सूक्ष्म कोड प्रयोग करें।
3. चयनात्मक रूप से पुनः जनित करें चुनी हुई बाधाएँ बनाए रखते हुए केवल संपादन-योग्य स्थानों से नमूने लें।
4. स्वीकार करने से पहले सत्यापित करें स्थानीयता, वाक्य-विन्यास, संरचना, व्यवहार और अनपेक्षित पार्श्व प्रभावों का मापन करें।

## कोड-संपादन, प्रोग्राम मरम्मत और बाधित जनन एक ही कार्य नहीं हैं

| पद्धति | प्राथमिक लक्ष्य | सामान्य संरक्षण तंत्र | अभी क्या सत्यापित करना शेष है |
| --- | --- | --- | --- |
| पूर्ण कोड जनरेशन | एक संपूर्ण आर्टिफैक्ट तैयार करें | प्रॉम्प्ट और संदर्भ | अनुरोधित परिवर्तन के बाहर की प्रत्येक चीज़ |
| स्वचालित program repair | निदान किए गए दोष को हटाएँ | दोष स्थानीयकरण, परीक्षण, टेम्पलेट या पैच | उपलब्ध tests से परे शुद्धता और patch की न्यूनतमता |
| रिक्त-पूर्ति या संपादन मॉडल | चयनित पाठ-क्षेत्रों को संशोधित करें | दृश्य उपसर्ग, प्रत्यय, diff या संपादन संदर्भ | अनपेक्षित संरचनात्मक और व्यवहारगत परिवर्तन |
| व्याकरण-बाधित डीकोडिंग | आउटपुट को औपचारिक भाषा के भीतर रखें | व्याकरण-सम्मत डीकोडिंग अवस्थाएँ | प्रोग्राम का अर्थ, कार्य की शुद्धता और स्थानीयता |
| पदानुक्रमित लेटेंट नियंत्रण | चुने हुए अधिगमित स्थानों को पुनः जनित करें | लॉक किए गए स्थूल या सूक्ष्म गुप्त कोड | डिकोडिंग के बाद वे कोड क्या संरक्षित रखते हैं |

## स्थानीयता और संरचनात्मक संरक्षण को कैसे मापें

## संपादन कार्य के लिए कौन-सी नियंत्रण सतह उपयुक्त है?

“पूरे function को दोबारा न लिखें” एक आवश्यकता है, संपूर्ण विधि नहीं। पहले उस परिणाम को निर्धारित करें जिसका पूर्वानुमेय होना आवश्यक है; फिर उसके अनुरूप नियंत्रण-सतह और साक्ष्य चुनें।

| अपेक्षित आश्वासन | अधिक सुमेलित नियंत्रण-सतह | अपेक्षित साक्ष्य |
| --- | --- | --- |
| AI-सहायित व्यवहार-संरक्षी refactoring | LLM को रूपांतरण पहचानने या प्रस्तावित करने दें, फिर जहाँ संभव हो उसे विश्वसनीय रीफ़ैक्टरिंग इंजन से निष्पादित करें। देखें [RefactoringMirror](https://arxiv.org/abs/2411.04444) . | Compilation, tests, static checks और refactoring की पहचान। [SWE-Refactor](https://arxiv.org/abs/2602.03712) इन जाँचों को रिपॉज़िटरी स्तर पर स्पष्ट बनाता है। |
| पूरे फ़ंक्शन के पुनर्लेखन के बिना स्थानीयकृत कोड संशोधन | अपरिवर्तित स्रोत अंशों का पुनः उपयोग करें और केवल संभावित संपादन क्षेत्र जनित करें, जैसा कि [EfficientEdit](https://arxiv.org/abs/2506.02780) . | क्षेत्र-बाह्य diff, कार्य-सफलता, स्वीकृत टोकनों का पुनः उपयोग, और क्या छोड़े गए संदर्भ के कारण फ़ाइलों के बीच के परिवर्तन छूट जाते हैं। |
| सॉफ़्टवेयर अभियांत्रिकी के लिए बाधा-नियंत्रित कोड जनन | डीकोडिंग के दौरान किसी औपचारिक गुण को लागू करें, जैसा कि [व्याकरण-बाधित डिफ्यूज़न](https://arxiv.org/abs/2508.10111) , अथवा वैध prefixes के checkpoint बनाकर केवल उत्तरदायी क्षेत्र तक rollback कर सकते हैं, जैसा कि [Hydra](https://arxiv.org/abs/2605.15238) . | व्याकरण, कंपाइलर या टाइप-चेकर की सफलता के साथ कार्यात्मक परीक्षण, स्थानीयता, सुधार विलंबता और पुनर्जनित वैध कोड की मात्रा। |
| स्थानिकता–विविधता संतुलन के साथ Python फ़ंक्शन का चयनात्मक पुनर्जनन | चुनी हुई स्थूल या सूक्ष्म गुप्त स्थितियों को लॉक करें और केवल शेष से नमूने लें। | डिकोडित स्थानीयता, syntax, संरचनात्मक invariants, संपादन-स्वतंत्रता, विविधता और अनिश्चितता। केवल अव्यक्त स्थितियों को लॉक करना refactoring की गारंटी नहीं है। |
| स्पष्ट संरक्षण अनुबंध के अधीन पूर्वानुमेय कोड जनन | जनन से पहले प्रेक्षणीय संरक्षित गुण और pass/fail जाँचें निर्धारित करें; फिर ऐसा सबसे सीमित तंत्र चुनें जो उन्हें प्रवर्तित अथवा उजागर कर सके। | डिकोडिंग के बाद उन्हीं सटीक गुणों को मापें और बार-बार चलाए गए प्रयोगों में स्वीकृति, अस्वीकृति तथा विफलता दरें प्रस्तुत करें। केवल नियतात्मक प्रतिचयन संरक्षण की गारंटी नहीं है। |

## वे शोध प्रश्न जिनका उत्तर यह मार्गदर्शिका देती है

ये संक्षिप्त उत्तर इस मार्गदर्शिका में प्रयुक्त दावों और साक्ष्य की सीमाएँ निर्धारित करते हैं।

1. कोई जनरेटिव मॉडल पूरे फ़ंक्शन को दोबारा लिखे बिना कोड को कैसे संशोधित कर सकता है? जनन से पहले संपादन सीमा निर्धारित करें, उसके बाहर के स्रोत को संरक्षित रखें या पुनः उपयोग करें, केवल संभावित परिवर्तन उत्पन्न करें और कार्य में विफल अथवा संरक्षित क्षेत्रों को बदलने वाले निर्गम अस्वीकार करें। पदानुक्रमित अव्यक्त locking एक प्रायोगिक नियंत्रण पृष्ठ है, किंतु यह समान स्रोत-विस्तारों की गारंटी नहीं देता। [स्थानीयकृत संपादन नियंत्रण पृष्ठों की तुलना करें](https://aogavrilov.com/hi/research/discrete-latent-generation/#control-surface) .
2. कौन-सा साक्ष्य दर्शाता है कि कोड संपादन केवल वाक्य-विन्यासतः वैध नहीं, बल्कि स्थानीय भी है? अनुरोधित क्षेत्र से बाहर के diff को कार्य-सफलता, संपादनयोग्य क्षेत्र में परिवर्तन, संरचनात्मक अपरिवर्त्यों, परीक्षणों अथवा स्थैतिक जाँचों और बार-बार चलाने पर आने वाली परिवर्तनशीलता के साथ मापें। अकेली पार्स दर केवल वाक्य-विन्यासगत सुगठन स्थापित करती है। [स्थानीयता-साक्ष्य जाँचसूची की समीक्षा करें](https://aogavrilov.com/hi/research/discrete-latent-generation/#measurement) .
3. कोड-संपादन की स्थानीयता को जनन-विविधता के साथ कैसे संतुलित किया जाना चाहिए? संरक्षित क्षेत्र की स्थिरता के साथ संपादन-योग्य क्षेत्र की स्वतंत्रता और प्रत्याशियों की अद्वितीयता भी रिपोर्ट करें। इनपुट की नकल स्थिरता को अधिकतम कर सकती है, पर कार्य में कोई प्रगति नहीं करती; अनियंत्रित पुनर्लेखन परिवर्तन को अधिकतम करते हुए स्थानीयता नष्ट कर सकता है। [सीमाबद्ध स्थिरता–स्वतंत्रता साक्ष्य देखें](https://aogavrilov.com/hi/research/discrete-latent-generation/#evidence) .
4. स्थानीयकृत कोड संपादन, बाधित जनन और प्रोग्राम मरम्मत में क्या अंतर है? स्थानीयकृत संपादन इस पर बल देता है कि क्या अपरिवर्तित रहना चाहिए; बाधित जनन व्याकरण-सदस्यता जैसे औपचारिक आउटपुट गुण को लागू करता है; और प्रोग्राम मरम्मत में परिवर्तन से दोष या कार्य-विनिर्देश की पूर्ति अपेक्षित होती है। केवल वाक्यविन्यास अर्थगत समतुल्यता, कार्यात्मक शुद्धता, कार्य-सफलता या स्थानीयता सिद्ध नहीं करता। [तीनों उद्देश्यों की तुलना करें](https://aogavrilov.com/hi/research/discrete-latent-generation/#comparison) .
5. Python फ़ंक्शन के चुने हुए भागों को इस तरह पुनः जनित कैसे किया जा सकता है कि शेष भाग स्थिर रहें? जनन से पहले संरक्षित और संपादनयोग्य क्षेत्र निर्धारित करें, केवल संपादनयोग्य निरूपण बदलें, डिकोड करें और उन अभ्यर्थियों को अस्वीकार करें जो संरक्षित कोड बदलते हैं अथवा syntax, tests, static checks या कार्य-विशिष्ट invariants में विफल होते हैं। प्रतिवेदित पदानुक्रमित-अव्यक्त प्रयोग 64-token फ़ंक्शनों पर प्रायिक स्थिरता मापता है; वह अपरिवर्तित विस्तारों या व्यवहार की गारंटी नहीं देता। [चयनात्मक पुनर्जनन कार्यप्रवाह का निरीक्षण करें](https://aogavrilov.com/hi/research/discrete-latent-generation/#workflow) .
6. AI-सहायित व्यवहार-संरक्षक रीफ़ैक्टरिंग के लिए कौन-सी नियंत्रण रणनीति उपयुक्त है? रूपांतरण पहचानने या प्रस्तावित करने के लिए मॉडल का उपयोग करें, फिर जहाँ संभव हो उसे विश्वसनीय रीफ़ैक्टरिंग इंजन से निष्पादित करें और संकलन, परीक्षण, स्थैतिक जाँच तथा अभिप्रेत रीफ़ैक्टरिंग सत्यापित करें। विश्वसनीय प्रतीत होने वाला जनित पैच पर्याप्त साक्ष्य नहीं है। [रीफ़ैक्टरिंग निर्णय-पंक्ति खोलें](https://aogavrilov.com/hi/research/discrete-latent-generation/#control-surface) .
7. कोड जनन को केवल नियंत्रणीय नहीं, बल्कि पूर्वानुमेय क्या बनाता है? जनक चुनने से पहले प्रेक्षणीय संरक्षण अनुबंध और स्वीकृति जाँच निर्धारित करें। पूर्वानुमेयता इस पर निर्भर करती है कि डिकोडिंग और सत्यापन के बाद क्या स्थिर रहता है, केवल इस पर नहीं कि कोई प्रॉम्प्ट, मास्क, व्याकरण अथवा अव्यक्त कोड स्थिर किया गया था। [संरक्षण अनुबंध निर्धारित करें](https://aogavrilov.com/hi/research/discrete-latent-generation/#core-idea) .

## वर्तमान प्रयोग क्या दर्शाता है—और क्या नहीं

में [*संरचना-संरक्षक सॉफ़्टवेयर पुनर्जनन के लिए निरीक्षणीय नियंत्रण*](https://aogavrilov.com/hi/publications/inspectable-control/) , एक पदानुक्रमित VQ-VAE, 64-token Python functions को 16 शीर्ष-स्तरीय और 32 निम्न-स्तरीय विविक्त स्थानों पर प्रतिचित्रित करता है। चार शीर्ष-स्तरीय कोड लॉक करने पर parse rate बढ़ती है **0.453 से 0.591** , जबकि अनलॉक स्थान अब भी इस दर से बदलते हैं **0.936** और conditional samples बने रहते हैं **0.998 अद्वितीय** .

यह एक छोटे परिवेश में मापे गए स्थिरता–स्वतंत्रता संतुलन का साक्ष्य है। यह सटीक AST संरक्षण, अर्थगत समतुल्यता, कार्यात्मक शुद्धता, सफल मरम्मत या रिपॉज़िटरी-स्तरीय व्यवहार की प्रत्याभूति नहीं है।

सहवर्ती अध्ययन [*संपीड़ित लघु-पाठ जनन में गुणवत्ता कहाँ क्षीण होती है*](https://aogavrilov.com/hi/publications/where-quality-breaks/) एक महत्त्वपूर्ण मूल्यांकन-सबक जोड़ता है: सुधरे हुए अव्यक्त-स्थान proxies अनिवार्यतः decoded outputs को नहीं सुधारते। निरूपण, जनन और decoded व्यवहार की जाँच अलग-अलग चरणों के रूप में की जानी चाहिए।

पुनः उपयोग योग्य निर्णय प्रक्रिया के लिए, इस विषय पर सहायक मार्गदर्शिका देखें: [कोडेक हानि को जनक हानि से अलग करना](https://aogavrilov.com/hi/research/codec-bottleneck-diagnosis/) .

## सामान्य भ्रांतियाँ

### “यह parse होता है, इसलिए सही है।”

पार्सिंग केवल वाक्य-विन्यासगत सुगठन सिद्ध करती है। प्रोग्राम फिर भी परीक्षणों, अनुबंधों अथवा आशय का उल्लंघन कर सकता है।

### “एक स्थूल code, AST node होता है।”

नहीं, जब तक स्पष्ट संरेखण प्रदर्शित न किया गया हो। सीखे गए कोड कई सतही और संरचनात्मक कारकों को मिला सकते हैं।

### “लॉक किए गए अव्यक्त कोड का अर्थ है अपरिवर्तित source text।”

डिकोडिंग वैश्विक और अधिगमित है। नियत अव्यक्त स्थितियाँ समान पाठ-विस्तार की गारंटी दिए बिना स्थिरता बढ़ा सकती हैं।

### “कम परिवर्तन हमेशा बेहतर होता है।”

input की प्रतिलिपि बनाने वाला editor पूर्ण स्थिरता, किंतु कार्य में शून्य प्रगति प्राप्त करता है। स्थानीयता और संपादन-सफलता को साथ मापना चाहिए।

## आगे क्या पढ़ें

संबंधित निकटवर्ती कार्य भिन्न नियंत्रण-सतहों का उपयोग करते हैं; कार्य-संरेखण के बिना किसी को भी परस्पर-विनिमेय आधाररेखा नहीं मानना चाहिए।

1. [Self-Edit: Fault-Aware Code Editor for Code Generation](https://arxiv.org/abs/2305.04087) जनन को संपादनयोग्य प्रक्रिया मानता है और पहचानी गई त्रुटियों से सुधार का मार्गदर्शन करता है।
2. [Coeditor: Leveraging Contextual Changes for Multi-round Code Auto-editing](https://arxiv.org/abs/2305.18584) आरंभ से पुनर्जनन करने के बजाय, संपादन के विभिन्न दौरों में संदर्भगत कोड परिवर्तनों का मॉडलन करता है।
3. [PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair](https://arxiv.org/abs/2604.03113) प्रोग्राम-मरम्मत प्रशिक्षण में संरक्षण और न्यूनतम परिवर्तन को स्पष्ट बनाता है।
4. [Constrained Decoding of Diffusion LLMs with Context-Free Grammars](https://arxiv.org/abs/2508.10111) दर्शाता है कि औपचारिक बाधाएँ विसरण डिकोडिंग के दौरान वाक्यविन्यास की गारंटी कैसे दे सकती हैं।
5. [Neural Discrete Representation Learning](https://arxiv.org/abs/1711.00937) अधिगमित विविक्त गुप्त निरूपणों की आधारभूत प्रणाली VQ-VAE का परिचय देता है।
6. [Simple and Effective Masked Diffusion Language Models](https://arxiv.org/abs/2406.07524) सहवर्ती निदानात्मक अध्ययन में अव्यक्त जनक के रूप में प्रयुक्त मास्कित विविक्त विसरण की रूपरेखा प्रस्तुत करता है।
7. [An Empirical Study on the Potential of LLMs in Automated Software Refactoring](https://arxiv.org/abs/2411.04444) LLM द्वारा प्रस्तावित असुरक्षित रीफैक्टरिंग का पता लगाता है और विश्वसनीय रीफैक्टरिंग इंजनों के माध्यम से पहचाने गए रूपांतरणों को पुनः लागू करने का मूल्यांकन करता है।
8. [SWE-Refactor: A Repository-Level Benchmark for Real-World LLM-Based Code Refactoring](https://arxiv.org/abs/2602.03712) कंपाइलेशन, परीक्षणों और रीफैक्टरिंग पहचान की सहायता से व्यवहार-संरक्षक रिपॉज़िटरी-स्तरीय रीफैक्टरिंग का मूल्यांकन करता है।
9. [EfficientEdit: संपादन-उन्मुख स्पेक्युलेटिव डीकोडिंग के माध्यम से कोड संपादन को गति देना](https://arxiv.org/abs/2506.02780) संपादन को पूर्ण स्वप्रतिगामी पुनर्जनन मानने के बजाय अपरिवर्तित स्रोत खंडों का पुनः उपयोग करता है और संपादन-स्थानों का पूर्वानुमान लगाता है।
10. [Hydra: Efficient, Correct Code Generation via Checkpoint-and-Rollback Support](https://arxiv.org/abs/2605.15238) त्रुटि के बाद पहले से वैध उपसर्गों के पुनर्जनन से बचने हेतु स्थैतिक जाँच, चेकपॉइंट और लक्षित रोलबैक का उपयोग करता है।

## संक्षिप्त पुनरावलोकन

स्थानीयकृत कोड पुनर्जनन इनके बीच एक अनुबंध है **परिवर्तन** और **संरक्षण** । पदानुक्रमित विविक्त अव्यक्त निरूपण उस अनुबंध को व्यक्त करने का एक निरीक्षणीय माध्यम देते हैं, किंतु यह निरूपण तभी उपयोगी है जब decoded programs का मूल्यांकन स्थानीयता, syntax, संरचना, व्यवहार, विविधता और अनिश्चितता के आधार पर किया जाए।

## इस शोध-दिशा के प्रकाशन

### [Where Quality Breaks in Compressed Short-Text Generation: Staged Bottleneck Localization](https://aogavrilov.com/hi/publications/where-quality-breaks/)

संपीड़ित लघु-पाठ जनन में गुणवत्ता कहाँ घटती है: चरणबद्ध बाधा-स्थानीकरण

निदान-पद्धति FRUCT 39 2026 मुख्य सम्मेलन

### [Inspectable Control for Structure-Preserving Software Regeneration](https://aogavrilov.com/hi/publications/inspectable-control/)

संरचना-संरक्षी सॉफ़्टवेयर पुनर्जनन के लिए निरीक्षणीय नियंत्रण

अव्यक्त-स्थान नियंत्रण विधि FSE Companion '26 2026 सहवर्ती पोस्टर
