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

The Patchwork Problem in LLM-Generated Code

यह शोध पत्र "पैचवर्क समस्या" (patchwork problem) की पहचान और उसे औपचारिक रूप देता है, जो LLM-जनित कोड में एक संरचनात्मक सुसंगतता विफलता है जहाँ स्थानीय रूप से वैध पैच वैश्विक स्तर पर टूटी हुई प्रणालियाँ बना देते हैं जो मानक परीक्षणों से बच निकलती हैं, और इन महत्वपूर्ण, मॉडल-विशिष्ट दोषों को संबोधित करने के लिए एक हाइब्रिड सत्यापन ढांचे और एक नए विफलता वर्गीकरण का प्रस्ताव करता है।

मूल लेखक: Viraaji Mothukuri, Reza M. Parizi

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

मूल लेखक: Viraaji Mothukuri, Reza M. Parizi

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

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

लेकिन यहाँ एक पेंच है: जैसे ही आप उन नई इमारतों को अपने मौजूदा शहर में जोड़ने की कोशिश करते हैं, पूरा ढांचा डगमगाने लगता है और बिखर जाता है।

यह "पैचवर्क प्रॉब्लम" (Patchwork Problem) है जिसे शोधकर्ताओं विराजा मोथुकुरी और रेज़ा एम. पारिज़ी ने लार्ज लैंग्वेज मॉडल्स (LLMs) द्वारा लिखे गए कोड में खोजा है। उन्होंने पाया कि हालांकि AI-जनरेटेड कोड अलग से देखने पर अक्सर सही दिखता है—बेसिक टेस्ट पास कर लेता है और बिना किसी एरर के कंपाइल हो जाता है—लेकिन जैसे ही उसे एक वास्तविक सॉफ्टवेयर सिस्टम में तैनात किया जाता है, वह अक्सर टूट जाता है।

वह अदृश्य गोंद जो गायब है

शोध पत्र का तर्क है कि समस्या आमतौर पर यह नहीं है कि AI "खराब" लॉजिक लिख रहा है। इसके बजाय, यह एक स्ट्रक्चरल (संरचनात्मक) मुद्दा है। इसे इस तरह समझें:

  • "फैंटम" चाबियाँ (The "Phantom" Keys): AI एक ऐसा दरवाज़ा बना सकता है जिसे खोलने के लिए "MasterKey" नाम की चाबी चाहिए, लेकिन वह चाबी आपके घर में कभी बनाई ही नहीं गई थी। कोड ठीक से कंपाइल होता है, लेकिन जब आप दरवाज़ा खोलने की कोशिश करते हैं, तो वह क्रैश हो जाता है क्योंकि वह चाबी मौजूद ही नहीं है।
  • गायब ब्लूप्रिंट (The Missing Blueprint): AI एक कमरा इस धारणा के साथ बना सकता है कि वहाँ एक खिड़की है, लेकिन पूरे घर का ब्लूप्रिंट कहता है कि वह दीवार ठोस है। वह कमरा अकेले में बहुत अच्छा दिखता है, लेकिन वह घर के डिज़ाइन में फिट नहीं बैठता।
  • भूतिया निर्भरताएँ (The Ghost Dependencies): AI कह सकता है, "मुझे इस काम को ठीक करने के लिए 'SuperHammer' नामक एक विशेष टूल की आवश्यकता है," लेकिन 'SuperHammer' आपके टूलबॉक्स में नहीं है, और न ही वह स्टोर के कैटलॉग में मौजूद है।

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

आपके वर्तमान सुरक्षा जाल अंधे क्यों हैं?

आप सोच सकते हैं, "लेकिन क्या हमारे पास इन गलतियों को पकड़ने के लिए उपकरण नहीं हैं? जैसे स्पेल-चेकर्स या टेस्ट सूट्स?"

शोध पत्र स्पष्ट रूप से इस विचार को खारिज करता है कि मानक उपकरण पर्याप्त हैं। वास्तव में, शोधकर्ताओं ने पाया कि 97% ये स्ट्रक्चरल विफलताएं सामान्य सुरक्षा जांचों से बच निकलती हैं:

  • टाइप चेकर (Type Checkers) (कोड के स्पेल-चेकर) ने लगभग सभी को मिस कर दिया।
  • टेस्ट सूट्स (Test Suites) (अभ्यास रन) भी उन्हें नहीं पकड़ पाए।
  • सिक्योरिटी स्कैनर्स (Security Scanners) (चोर पकड़ने वाले अलार्म) इन विशिष्ट समस्याओं के प्रति पूरी तरह अंधे थे।

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

डिटेक्टिव फ्रेमवर्क (The Detective Framework)

इसे हल करने के लिए, लेखकों ने एक नए प्रकार का डिटेक्टिव फ्रेमवर्क बनाया। कोड को लाइन-दर-लाइन पढ़ने के बजाय, उन्होंने पूरे कोडबेस को कनेक्शनों के एक विशाल मैप (ग्राफ) में बदल दिया।

एक शहर के मानचित्र की कल्पना करें जहाँ आप हर सड़क, हर इमारत और हर उपयोगिता लाइन देख सकते हैं। उनका फ्रेमवर्क यह जाँचता है कि:

  1. क्या सड़कें जुड़ती हैं: क्या यह नई सड़क वास्तव में किसी मौजूदा पड़ोस तक जाती है, या यह एक खाली मैदान में समाप्त हो जाती है?
  2. क्या पावर लाइन्स मेल खाती हैं: क्या यह नई इमारत सही वोल्टेज में प्लग होती है, या यह फ्यूज उड़ा देगी?
  3. क्या नियमों का पालन किया गया है: यदि इस ज़ोन की अन्य सभी इमारतों में एक सुरक्षा गार्ड है, तो क्या इस नई इमारत में भी है?

उन्होंने इसका परीक्षण दो शीर्ष-स्तरीय AI मॉडल्स (GPT-4o और Claude 3.5 Sonnet) से 336 कोड जनरेशन पर किया। परिणाम चौंकाने वाले थे:

  • फ्रेमवर्क ने 67 स्ट्रक्चरल विफलताएं पाईं।
  • उनमें से 65 विफलताएं (97%) मानक उपकरणों के लिए पूरी तरह अदृश्य थीं।
  • ये विफलताएं रैंडम नहीं थीं; वे आठ विशिष्ट श्रेणियों में आती थीं, जैसे "सिंबल रेज़ोल्यूशन फेलियर्स" (ऐसी चीज़ों का संदर्भ देना जो मौजूद नहीं हैं) और "सिक्योरिटी स्ट्रक्चरल रिग्रेशंस" (पीछे का दरवाज़ा लॉक करना भूल जाना)।

मॉडल अलग हैं, लेकिन दोनों त्रुटिपूर्ण हैं

पेपर यह भी सुझाव देता है कि सभी AI मॉडल एक ही तरह की गलतियाँ नहीं करते। यह सिर्फ यह नहीं है कि एक दूसरे से "खराब" है; उनके पास त्रुटियों के मामले में अलग-अलग "व्यक्तित्व" हैं।

  • GPT-4o विभिन्न फाइलों के बीच कनेक्शन बिगाड़ने में अधिक था, जैसे क्रॉस-फाइल कॉन्ट्रैक्ट उल्लंघन (गलत पते पर पत्र भेजना) और इम्पोर्ट्स या डिपेंडेंसीज़ को हैल्यूसिनेट (hallucinate) करना।
  • Claude 3.5 Sonnet एक सिंगल फाइल के आंतरिक लॉजिक को बिगाड़ने में अधिक था, विशेष रूप से ऐसे फंक्शन्स बनाना जो रिटर्न टाइप तो घोषित करते हैं लेकिन कुछ कोड पाथ्स में वैल्यू रिटर्न करने में विफल रहते हैं।

इसका मतलब है कि आप केवल एक AI को दूसरे से बदलकर यह उम्मीद नहीं कर सकते कि समस्या खत्म हो जाएगी। "पैचवर्क" की प्रकृति इस बात पर निर्भर करती है कि स्टिचिंग (सिलाई) कौन कर रहा है।

वास्तविक दुनिया का परीक्षण

यह सुनिश्चित करने के लिए कि यह केवल एक लैब प्रयोग नहीं है, शोधकर्ताओं ने 43 वास्तविक-दुनिया के प्रोजेक्ट्स को देखा जो पूरी तरह या काफी हद तक AI द्वारा बनाए गए थे। उन्होंने पाया कि ये स्ट्रक्चरल विफलताएं हर जगह थीं।

  • hypertropher-app नामक एक ऐप में, उन्होंने 11 स्ट्रक्चरल विफलताएं पाईं जिन्हें मानक टूल्स मिस कर गए थे, जिसमें कॉन्फ़िगरेशन कीज़ का अभाव शामिल था जिसके कारण ऐप तुरंत क्रैश हो सकता है।
  • VoiceTradeWithSchwab नामक एक अन्य प्रोजेक्ट में, उन्होंने 92 विफलताएं पाईं, जिनमें एक इनफिनिट लूप और ट्रेडिंग फंक्शन्स पर सुरक्षा गार्डों की कमी शामिल थी।

मुख्य निष्कर्ष (The Bottom Line)

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

लेखक यह दावा नहीं करते हैं कि उन्होंने इस समस्या को हमेशा के लिए "हल" कर दिया है। इसके बजाय, वे सुझाव देते हैं कि हमें एक नए प्रकार के सत्यापन (verification) की आवश्यकता है—जो केवल व्यक्तिगत टुकड़ों के बजाय बड़े चित्र के कनेक्शनों (big picture connections) को देखता है। वे प्रस्ताव करते हैं कि सबसे जटिल कार्यों (जैसे कॉन्फ़िगरेशन, सुरक्षा और डेटा स्कीमा को जोड़ना) के लिए, हमें विशेष डिटेक्टरों की आवश्यकता है जो कोड के उपयोगकर्ता तक पहुँचने से पहले ही इन अदृश्य दरारों को पहचान सकें।

संक्षेप में: सिर्फ इसलिए कि AI ने एक परफेक्ट ईंट बनाई है, इसका मतलब यह नहीं है कि उसने ऐसा घर बनाया है जो खड़ा रह सके। हमें नींव की जाँच करने के लिए नए उपकरणों की आवश्यकता है।

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

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

Digest आज़माएँ →