EA-Graph: Artifact-Anchored Verification Memory for Coding Agents under Upstream Drift
यह शोध पत्र EA-Graph को प्रस्तुत करता है, जो एक आर्टिफ़ैक्ट-एंकरed (artifact-anchored) सत्यापन स्मृति प्रणाली है जो पिछले दावों की वैधता को प्रोज़ नोट्स (prose notes) के बजाय विशिष्ट कोड आर्टिफ़ैक्ट्स में ग्राउंड करके, अपस्ट्रीम परिवर्तनों के बाद एक कोडिंग एजेंट की सटीकता से वर्गीकरण करने की क्षमता में महत्वपूर्ण सुधार करती है, जिससे मतिभ्रम (hallucination) कम होता है और प्रमाणिकता निर्णयों को बढ़ाया जाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक जासूस हैं जो एक रहस्य को सुलझाने की कोशिश कर रहे हैं जो कई दिनों तक फैला हुआ है। आपके पास एक नोटबुक है जहाँ आप सुराग लिखते हैं, जैसे "बटलर रात 8 बजे लाइब्रेरी में था।" लेकिन यहाँ एक पेंच है: आपकी नोटबुक केवल यह रिकॉर्ड करती है कि आपने कहाँ देखा, न कि वास्तव में आपको क्या सबूत मिला। यदि लाइब्रेरी का रात भर में नवीनीकरण (renovation) हो जाता है और बुकशेल्फ़ बदल दिए जाते हैं, तो आपका पुराना नोट अभी भी "लाइब्रेरी" कह सकता है, लेकिन वह सुराग अब बेकार है क्योंकि कमरा बदल गया है। यह "कोडिंग एजेंटों" (coding agents)—स्मार्ट कंप्यूटर प्रोग्राम जो सॉफ्टवेयर लिखते और ठीक करते हैं—का दैनिक संघर्ष है। ये एजेंट अक्सर अपनी शिफ्ट बदलते समय एक दूसरे को काम सौंपते हैं। वे याद रखने के लिए नोट्स पर निर्भर करते हैं कि उन्होंने क्या जांचा, लेकिन यदि वे जिस सॉफ्टवेयर पर काम कर रहे हैं वह पर्दे के पीछे बदल जाता है (जिसे "ड्रिफ्ट" कहा जाता है), तो वे नोट्स खतरनाक झूठ बन सकते हैं। वे एजेंट को यह कहकर गुमराह कर सकते हैं कि "यह हिस्सा सुरक्षित है!" जबकि वास्तव में वह टूटा हुआ है, या इससे भी बुरा, वे उन्हें अनुमान लगाने के लिए मजबूर कर सकते हैं जब उन्हें बस यह कहना चाहिए कि "मुझे अब और नहीं पता।"
यह शोध पत्र ठीक इसी समस्या पर काम करता है। यह पूछता है: हम इन AI एजेंटों को एक ऐसी स्मृति (memory) कैसे दे सकते हैं जो केवल यह न कहे कि "मैंने इसे जांचा," बल्कि वास्तव में यह याद रखे कि उन्होंने किसके विरुद्ध जांचा था? लेखकों ने एक नया प्रकार का मेमोरी सिस्टम बनाया जिसे EA-Graph कहा जाता है। पूरे फ़ाइल को सत्य के एक एकल ब्लॉक के रूप में मानने के बजाय, EA-Graph सूक्ष्म स्तर पर जाकर डेटा के विशिष्ट छोटे टुकड़ों को याद रखता है, जैसे कि एक सूची में एक अकेला नंबर या एक विशिष्ट सेटिंग। इसमें एक विशेष "अस्वीकार" (refusal) बटन भी है: यदि वह साक्ष्य जिस पर यह निर्भर था, गायब हो गया है या बदल गया है, तो सिस्टम अनुमान नहीं लगाता; बल्कि, यह दावे को "अप्रमाणित" (unprovable) के रूप में चिह्नित करता है। शोधकर्ताओं ने इसे एक नियंत्रित, कृत्रिम दुनिया में टेस्ट किया ताकि यह देखा जा सके कि क्या यह AI एजेंटों को यह पहचानने में मदद करता है कि उनका पुराना काम अब मान्य नहीं रहा। उन्होंने पाया कि छोटे, तेज़ AI मॉडल के लिए, यह नया मेमोरी सिस्टम एक गेम-चेंजर था, जिससे उन्हें उन गलतियों से बचने में मदद मिली जो वे आमतौर पर करते हैं। हालाँकि, बहुत स्मार्ट, बड़े मॉडलों के लिए, नया सिस्टम कोई बड़ा सांख्यिकीय लाभ नहीं दिखा सका क्योंकि वे मॉडल पहले से ही बहुत अच्छा काम कर रहे थे। अध्ययन बताता है कि यह संरचित स्मृति (structured memory) छोटे दिमागों को बड़े काम करने में मदद कर सकती है, लेकिन यह साबित नहीं करती कि स्मृति पूरी तरह से कच्ची बुद्धिमत्ता (raw intelligence) की जगह ले सकती है।
समस्या: "मौन" झूठ
कल्पना कीजिए कि आप एक रेसिपी के आधार पर केक बना रहे हैं। आप एक नोट लिखते हैं: "मैंने चीनी की जांच की; यह 2 कप है।" बाद में, कोई चुपके से रसोई में घुसकर चीनी को 3 कप कर देता है, लेकिन वे बैग या डिब्बे को हाथ नहीं लगाते। आपका नोट अभी भी कहता है "2 कप"। यदि आप अपने नोट का पालन करते हैं, तो आप केक खराब कर देंगे।
सॉफ्टवेयर की दुनिया में, यह हमेशा होता है। एक कोडिंग एजेंट किसी प्रोग्राम को सही ढंग से सत्यापित कर सकता है, "सत्यापित" (Verified) लिखकर एक नोट लिख सकता है, और आगे बढ़ सकता है। फिर, "अपस्ट्रीम" (वह सोर्स कोड या डेटा जिस पर प्रोग्राम निर्भर है) थोड़ा बदल जाता है। शायद डेटाबेस में एक नंबर 10 से बदलकर 11 हो गया। फ़ाइल के नाम नहीं बदले हैं, इम्पोर्ट्स अभी भी काम कर रहे हैं, और प्रोग्राम अभी भी कंपाइल हो रहा है। लेकिन लॉजिक अब टूट गया है।
समस्या यह है कि पारंपरिक नोट्स बहुत अस्पष्ट होते हैं। वे कहते हैं, "मैंने rates.py फ़ाइल की जांच की।" लेकिन rates.py में 50 अलग-अलग नंबर हो सकते हैं। यदि एजेंट केवल फ़ाइल का नाम याद रखता है, तो वह यह नहीं बता सकता कि वह विशिष्ट नंबर जिस पर वह निर्भर था, बदल गया है या नहीं। इससे "मौन त्रुटियां" (silent errors) होती हैं—ऐसे बग जो प्रोग्राम को क्रैश नहीं करते लेकिन उसे गलत उत्तर देने के लिए मजबूर करते हैं। शोध पत्र इसे फ़ाइल ग्रैनुलैरिटी (पूरी फ़ाइल को देखना) और आर्टिफैक्ट ग्रैनुलैरिटी (डेटा के विशिष्ट टुकड़े को देखना) के बीच के अंतर के रूप में बुलाता है। शोधकर्ताओं ने पाया कि यदि आप केवल फ़ाइलों को देखते हैं, तो आप सोच सकते हैं कि 96 में से 88 व्यवहार (behaviors) टूट गए हैं, जबकि वास्तव में केवल 17 ही टूटे हैं। यह बहुत सारे झूठे अलार्म हैं!
समाधान: EA-Graph (द "एंकर" सिस्टम)
इसे ठीक करने के लिए, लेखकों ने EA-Graph बनाया। इसे एक अत्यंत सटीक एंकर सिस्टम के रूप में समझें। एक दावे को पूरी फ़ाइल से जोड़ने के बजाय, EA-Graph उसे उपयोग किए गए सटीक, छोटे डेटा के टुकड़े से जोड़ता है।
यह कैसे काम करता है, एक मनोरंजक उदाहरण के माध्यम से:
कल्पना कीजिए कि आप वीआईपी (VIP) की सूची की जांच करने वाले एक सुरक्षा गार्ड हैं।
- पुराना तरीका (गद्य नोट्स/Prose Notes): आप लिखते हैं, "मैंने लॉबी में वीआईपी सूची की जांच की।" यदि कोई सूची में एक नाम बदल देता है, तो आपका नोट बेकार है क्योंकि आपने यह रिकॉर्ड नहीं किया कि आपने कौन सा नाम देखा था।
- EA-Graph तरीका: आप लिखते हैं, "मैंने 'एलिस' नामक वीआईपी की जांच की जिसका आईडी #123 है और जिसकी फोटो में एक बिल्ली है।"
- सब-पाथ आइडेंटिटी (Sub-path Identity): यदि लॉबी बदल जाती है, या सूची में एक नया पेज आता है, तो आपका नोट अभी भी वैध है क्योंकि यह लॉबी के बजाय "एलिस" और "आईडी #123" से जुड़ा हुआ है।
- एलियास रेजोल्यूशन (Alias Resolution): कभी-कभी नाम पेचीदा होते हैं। "एलिस" को एक जगह "द कैट लेडी" और दूसरी जगह "VIP-001" के रूप में सूचीबद्ध किया जा सकता है। EA-Graph इतना स्मार्ट है कि वह इस रास्ते का पीछा कर सकता है और यह समझ सकता है कि वे सभी एक ही व्यक्ति हैं।
- "अप्रमाणित" बटन (The "Unprovable" Button): यह सबसे महत्वपूर्ण हिस्सा है। यदि नई सूची से "एलिस" प्रविष्टि हटा दी जाती है, और आप उसका नया संस्करण नहीं ढूंढ पाते हैं, तो EA-Graph अनुमान नहीं लगाता कि "शायद यह अभी भी एलिस है?" या "शायद यह बॉब है?" इसके बजाय, यह कहता है, "अप्रमाणित" (Unprovable)। यह स्वीकार करता है, "मैं अब इसकी पुष्टि नहीं कर सकता क्योंकि साक्ष्य गायब है।" यह एजेंट को तथ्य बनाने या खतरनाक अनुमान लगाने से रोकता है।
प्रयोग: एक काल्पनिक दुनिया
आप वास्तविक सॉफ्टवेयर पर इसका परीक्षण आसानी से नहीं कर सकते क्योंकि वास्तविक सॉफ्टवेयर अव्यवस्थित होता है, और आप अनजाने में AI को उत्तर लीक कर सकते हैं। इसलिए, शोधकर्ताओं ने एक सिम्युलेटेड दुनिया बनाई।
- उन्होंने 7 अलग-अलग "दुनियाएं" बनाईं, जिनमें से प्रत्येक में 12 मॉड्यूल और 96 विशिष्ट व्यवहार (जैसे "वीआईपी के लिए कीमत की गणना करें") थे।
- उन्होंने AI को एक "रेफरेंस" (सत्य) और एक "पोर्ट" (वह कोड जिसे AI बनाए रखता है) दिया।
- उन्होंने पहले दौर (D1) में कोड को सत्यापित किया।
- फिर, उन्होंने बदलावों के साथ एक दूसरा संस्करण (D2) डाला: कुछ नंबर बदले, कुछ लॉजिक बदले, और कुछ डेटा को रोका (withheld) गया (छिपा दिया गया)।
- AI को नए संस्करण को देखना था और प्रत्येक 96 व्यवहारों के लिए निर्णय लेना था: क्या यह अप्रभावित (Unaffected) है (अभी भी ठीक है), प्रभावित (Affected) है (टूटा हुआ है), या अप्रमाणित (Unprovable) है (मैं बता नहीं सकता क्योंकि डेटा गायब है)?
उन्होंने तीन प्रकार के मेमोरी के साथ परीक्षण किया:
- ANCHOR: नया EA-Graph सिस्टम।
- PROSE: केवल एक टेक्स्ट नोट जो कहता है "मैंने इसे जांचा।"
- NONE: कोई मेमोरी नहीं; AI को सब कुछ शुरू से समझना पड़ा।
उन्होंने इसे दो अलग-अलग AI मॉडल के साथ चलाया: एक छोटा, तेज़ मॉडल (Haiku) और एक बड़ा, स्मार्ट मॉडल (Sonnet)।
परिणाम: छोटे मॉडल बड़ी जीत हासिल करते हैं
परिणाम बहुत दिलचस्प थे, विशेष रूप से छोटे AI मॉडल (Haiku) के लिए।
- छोटा मॉडल (Haiku): ANCHOR मेमोरी का उपयोग करते समय, इसने लगभग हर बार वर्गीकरण सही किया (अधिकांश दुनिया में 1.000 का परफेक्ट स्कोर)। इसके बिना, केवल नोट्स या बिना मेमोरी के, यह बुरी तरह संघर्ष कर रहा था, जिसका स्कोर लगभग 0.27 से 0.29 के बीच था। यह अंतर सांख्यिकीय रूप से महत्वपूर्ण था (p = 0.0156)। संरचित स्मृति ने छोटे मॉडल को एक बहुत अधिक स्मार्ट जासूस की तरह काम करने में मदद की।
- बड़ा मॉडल (Sonnet): बड़ा मॉडल पहले से ही बहुत अच्छा था। यह केवल नोट्स या बिना मेमोरी के भी लगभग-पूर्ण स्कोर (1.000) प्राप्त कर रहा था। क्योंकि यह पहले से ही बहुत अच्छा था, नए मेमोरी सिस्टम ने कोई बड़ा सांख्यिकीय सुधार नहीं दिखाया। यह एक मास्टर शेफ को नया चाकू देने जैसा था; वे पुराने वाले से भी पहले से ही बेहतरीन कटिंग कर रहे थे।
इसका क्या अर्थ है (और क्या नहीं है)
यह शोध पत्र एक बहुत ही विशिष्ट दावा करता है: संरचित स्मृति छोटे मॉडलों को क्या प्रमाण योग्य है, इसका निर्णय लेने में मदद करती है। यह सुझाव देता है कि AI एजेंट को अपनी जांच प्रक्रिया को "एक्सटर्नलाइज" (बाहरी रूप से संग्रहीत) करने का तरीका देकर, यह एक छोटे, तेज़ मॉडल और एक बड़े, धीमे मॉडल के बीच के अंतर को कम कर सकता है।
हालाँकि, लेखक बहुत सावधान हैं कि वे इसे बहुत अधिक बढ़ा-चढ़ाकर न पेश करें:
- यह हर चीज़ के लिए जादुई समाधान नहीं है: अध्ययन ने केवल यह देखने पर ध्यान केंद्रित किया कि क्या कुछ टूटा है या नहीं, न कि वास्तव में उसे ठीक करने पर। वास्तव में, एक सत्र में इसने निर्णय तो सही लिया लेकिन ठीक करने की कोशिश में गलती से कोड को नष्ट कर दिया।
- यह बुद्धिमत्ता का विकल्प नहीं है: मेमोरी ने छोटे मॉडल को सामान्य अर्थों में "स्मार्टर" नहीं बनाया; इसने केवल इसे पर्याप्त जानकारी न होने पर अनुमान लगाने से बचने में मदद की।
- यह एक सिमुलेशन है: दुनिया काल्पनिक थी। वास्तविक दुनिया का सॉफ्टवेयर अधिक जटिल हो सकता है, जिसमें कठिन-से-ढूंढने वाला डेटा और अधिक जटिल परिवर्तन हो सकते हैं।
अध्ययन निष्कर्ष निकालता है कि जबकि यह "आर्टिफैक्ट-एंकर वाली स्मृति" (artifact-anchored memory) AI एजेंटों को इस बारे में ईमानदार रहने में मदद करने के लिए एक शक्तिशाली उपकरण है कि वे क्या जानते हैं (और वे क्या नहीं जानते), यह एक विशिष्ट समस्या के लिए एक विशिष्ट समाधान है: बदलते सॉफ्टवेयर की दुनिया में डेटा के छोटे, बदलते टुकड़ों को ट्रैक करना। यह सुझाव देता है कि यदि हम चाहते हैं कि AI एजेंट लंबे समय तक विश्वसनीय रूप से काम करें, तो हमें उन्हें अस्पष्ट नोट्स देना बंद करना होगा और उन्हें सटीक एंकर देना शुरू करना होगा।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।