## डेटाबेस का विकल्प जिसकी उम्र ख़राब है

एक कंपनी ग्राहक सहायता के लिए एक एजेंट बनाती है। यह डेटाबेस में टिप्पणियों को संग्रहीत करता है, पोस्टग्रेज, मोंगो, रेडिस, जो भी टीम पहले से ही चलाती है। महीनों बाद, एक अन्य टीम एक खाता स्वास्थ्य एजेंट बनाती है। कोई उन्हें जोड़ता है क्योंकि मनुष्य उपकरणों के बीच संदर्भ को कॉपी-पेस्ट करते-करते थक गया है। वह कनेक्शन, एक साझा डेटाबेस तालिका, दुर्घटनावश बहु-एजेंट साझा स्थिति बन जाती है।

तीन एजेंट अब ग्राहक खातों के बारे में स्थिति साझा करते हैं: इनबाउंड समर्थन, स्वास्थ्य स्कोरिंग और नवीनीकरण अनुशंसाएँ।

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

सपोर्ट एजेंट का प्रारंभिक अवलोकन गलत था। ग्राहक मूल्य निर्धारण से नहीं बल्कि बिलिंग त्रुटि से निराश था। लेकिन एलएलएम-मध्यस्थता स्मृति निष्कर्षण ने बातचीत को एक भ्रामक सारांश में संकुचित कर दिया, और उस सारांश को साझा स्थिति के माध्यम से जमीनी सच्चाई के रूप में प्रचारित किया गया।

पुनर्प्राप्ति ने हर कदम पर काम किया। विफलता लेखन में थी. सिस्टम में कोई भी यह पता नहीं लगा सका कि प्रारंभिक अवलोकन अपने स्रोत के प्रति अविश्वसनीय था, या खराब लेखन से लेकर खराब कार्रवाई तक कारण श्रृंखला का पता लगा सका।

## क्यों एकल-एजेंट सिस्टम समस्या को छुपाता है

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

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

## एकाधिक एजेंटों के साथ क्या परिवर्तन होता है

जब एजेंट ए उन टिप्पणियों को लिखता है जिन्हें एजेंट बी पढ़ता है और उन पर कार्य करता है, तो एक अलग विफलता टोपोलॉजी उभरती है।

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

**साइलेंट ओवरराइट कैस्केड।** एजेंट ए एक रिकॉर्ड अपडेट करता है। एजेंट बी, पुरानी रीड पर काम करते हुए, अपना स्वयं का अपडेट लिखता है जो एजेंट ए के परिवर्तन को स्पष्ट रूप से वापस कर देता है। एक परिवर्तनीय डेटाबेस में, यह लगभग पता नहीं चल पाता है। हैश-लिंक्ड अवलोकनों के साथ केवल परिशिष्ट लॉग में, यह संरचनात्मक रूप से असंभव है।

**विश्वास सीमा का पतन।** साझा स्थिति का मतलब है कि प्रत्येक एजेंट दूसरे के लेखन पर भरोसा करता है। लेकिन एजेंटों की क्षमताएं, त्वरित संदर्भ और त्रुटि प्रोफ़ाइल अलग-अलग होती हैं। एक विशेष वित्तीय विश्लेषण एजेंट और एक सामान्य प्रयोजन सहायता एजेंट को संभवतः एक ही इकाई राज्य पर समान लेखन अधिकार नहीं होना चाहिए। एक सपाट डेटाबेस में, कौन क्या लिख ​​सकता है, इस पर कोई स्कीमा बाधा नहीं है, वे ऐसा करते हैं।

## चार चरण

उद्योग एक पूर्वानुमानित मोड़ से गुजर रहा है।

### 1. "बस पोस्टग्रेज का उपयोग करें" (या [सिर्फ एक मार्कडाउन फ़ाइल का उपयोग करें](/पोस्ट/द-मार्कडाउन-मेमोरी-सीलिंग))

मानुस, क्लाउड कोड और ओपनक्ला सभी मेमोरी के लिए सादे पाठ फ़ाइलों का उपयोग करते हैं। अभिसरण विकास, कोई साझा प्लेबुक नहीं। जब कोई टीम किसी डेटाबेस तक पहुंचती है, तो मेमोरी वहां पहले से मौजूद हर चीज पर बोल्ट हो जाती है: पीजीवेक्टर के साथ पोस्टग्रेज पर आरएजी, सत्र स्थिति के लिए रेडिस, पाइनकोन में एम्बेडिंग। साधारण उपयोग के मामलों के लिए कोई भी पथ काम करता है। मानसिक मॉडल यह है कि एजेंटों को सामग्री को याद रखने की आवश्यकता होती है, फ़ाइलें या डेटाबेस सामग्री संग्रहीत करते हैं, समस्या हल हो जाती है।

### 2. पुनर्प्राप्ति अनुकूलन

Mem0, Zep, और MemPalace जैसे उत्पाद स्वीकार करते हैं कि एजेंटों को एक समर्पित मेमोरी एब्स्ट्रैक्शन की आवश्यकता होती है, लेकिन समस्या को पुनर्प्राप्ति गुणवत्ता के रूप में देखते हैं। सही समय पर प्रॉम्प्ट में सही संदर्भ कैसे प्राप्त करें। यह एक ऐसी समस्या का समाधान करता है जिसे डेवलपर्स पहले से ही महसूस कर सकते हैं: खराब रिकॉल, फूली हुई संदर्भ विंडो, अप्रासंगिक पुनर्प्राप्ति। लेकिन यह चरण लेखन पथ को बिना ऑडिट किए छोड़ देता है। एलएलएम जो भी निष्कर्ष निकालता है उसे जमीनी सच्चाई माना जाता है।

यह चरण अगले एक या दो वर्षों तक हावी रहेगा क्योंकि पुनर्प्राप्ति दर्द स्पष्ट है। डेवलपर्स तब नोटिस करते हैं जब एजेंट भूल जाता है या गलत चीज़ पुनः प्राप्त कर लेता है। भ्रष्टाचार लिखना अपठनीय है। एजेंट खराब स्थिति में आत्मविश्वास से काम करता है और किसी को इसका एहसास तब तक नहीं होता जब तक कि नकारात्मक परिणाम सामने न आ जाएं।

### 3. विश्वास का संकट

यह तब आता है जब एजेंट कम-जोख वाले सहायकों से उच्च-दांव वाले अभिनेताओं की ओर बढ़ते हैं, धन का प्रबंधन करते हैं, खरीद निर्णय लेते हैं, अनुपालन वर्कफ़्लो को संभालते हैं, दिनों या हफ्तों में स्वायत्त रूप से काम करते हैं। प्रश्न "क्या एजेंट ने सही चीज़ प्राप्त की?" से बदल जाता है। "क्या मैं साबित कर सकता हूँ कि एजेंट क्या जानता था, कब जानता था, और क्या वह ज्ञान वैध था?"

हाई-प्रोफ़ाइल विफलताएँ जहाँ एजेंटों ने दूषित मेमोरी स्थिति पर कार्य किया, इस बदलाव को बाध्य करेगी। उद्यम खरीदार ऑडिट ट्रेल्स की मांग करेंगे। वित्त और स्वास्थ्य सेवा में नियामकों को नियतात्मक उद्गम की आवश्यकता होगी।

### 4. द्विभाजन

उद्योग बंट जाता है. पथ ए: मौजूदा डेटाबेस एजेंटिक प्रिमिटिव जोड़ते हैं। पोस्टग्रेज़ को अवलोकन लॉगिंग और इकाई रिज़ॉल्यूशन के लिए एक्सटेंशन मिलते हैं। सुपाबेस या प्लैनेटस्केल एक "एजेंट मेमोरी" उत्पाद परत शिप करता है। यह कई उपयोग के मामलों को पकड़ता है जहां विश्वास की आवश्यकताएं मध्यम हैं।

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

यह वह मार्ग है जहां एजेंटिक सिस्टम अपनी पूरी क्षमता तक पहुंचते हैं। जो एजेंट अपने राज्य पर भरोसा कर सकते हैं, अपने स्वयं के तर्क का पता लगा सकते हैं, और मौन भ्रष्टाचार के बिना अन्य एजेंटों के साथ समन्वय कर सकते हैं, वे सर्वोत्तम-प्रयास मेमोरी पर चलने वाले एजेंटों की तुलना में गुणात्मक रूप से अधिक सक्षम हैं।

सत्यनिष्ठा लिखें कोई सुरक्षा सुविधा नहीं है जिसे इस तथ्य के बाद लागू किया गया है। यह वह आधार है जो स्वायत्त संचालन को संभव बनाता है।

## वास्तव में मल्टी-एजेंट सिस्टम कैसे बनेंगे

अधिकांश को मल्टी-एजेंट सिस्टम के रूप में डिज़ाइन नहीं किया जाएगा। वे जुटेंगे.

**मानव हब के साथ हब-एंड-स्पोक** वर्तमान प्रमुख पैटर्न है। एक प्राथमिक एजेंट उपयोगकर्ता का सामना करता है और विशेष एजेंटों को उपकार्य सौंपता है। साझा स्थिति प्राथमिक एजेंट की संदर्भ विंडो है। लेखन-अखंडता जोखिम कम है. लेकिन इस टोपोलॉजी की एक कठिन सीमा है: हब एजेंट बाधाएं डालता है और लंबे समय तक चलने वाले वर्कफ़्लो में संदर्भ बनाए नहीं रख सकता है। यह चरण 1 और 2 को मैप करता है: "बस पोस्टग्रेज़ का उपयोग करें" या एक पुनर्प्राप्ति परत ठीक काम करती है क्योंकि एक एजेंट राज्य को नियंत्रित करता है।

**पाइपलाइन एजेंट** अगले आते हैं। अनुक्रमिक हैंडऑफ़ जहां प्रत्येक एजेंट किसी कार्य आइटम को संसाधित और समृद्ध करता है। ड्राफ्टिंग से लेकर मीटिंग शेड्यूलिंग तक पहुंच बनाने के लिए कंपनी अनुसंधान में योग्यता का नेतृत्व करें। यहाँ लिखने की अखंडता मायने रखने लगती है। यदि अनुसंधान एजेंट गलत कंपनी डेटा संग्रहीत करता है, तो प्रत्येक डाउनस्ट्रीम एजेंट गलत तरीके से कैलिब्रेट करता है। यहीं पर टीमें चरण 2 से चरण 3 की ओर खिसकना शुरू करती हैं: पुनर्प्राप्ति अभी भी काम करती है, लेकिन सतह के नीचे विश्वास का संकट पैदा हो रहा है।

**साझा संदर्भ के साथ इवेंट-संचालित एजेंट** अनुसरण करें। एकाधिक एजेंट एक साझा वातावरण (सीआरएम, कोडबेस, संचार चैनल) से घटनाओं की सदस्यता लेते हैं, अपने स्वयं के दृष्टिकोण बनाए रखते हैं, और टिप्पणियों को एक आम स्टोर में वापस लिखते हैं। कोई ऑर्केस्ट्रेटर नहीं. यह पूर्ण रूप से चरण 3 है: विभिन्न व्याख्यात्मक ढाँचों वाले एजेंटों द्वारा समवर्ती लेखन, विरोधाभासों को पकड़ने के लिए कोई समन्वयक नहीं, और अखंडता लिखना वास्तव में खतरनाक हो जाता है।

**लंबे समय तक चलने वाली स्थिति वाले लगातार स्वायत्त एजेंट** अंतिम स्थिति हैं। एजेंट लगातार चल रहे हैं, विकसित हो रहे विश्व मॉडल को बनाए रखते हैं, समय-समय पर अन्य एजेंटों या साझा सत्य भंडार के साथ तालमेल बिठाते हैं। संदर्भ विंडो स्मृति के रूप में कार्य नहीं कर सकती. इन एजेंटों को वास्तविक अखंडता गारंटी के साथ लगातार भंडारण की आवश्यकता होती है। यह चरण 4 है: द्विभाजन। या तो आपका बुनियादी ढांचा इसके लिए बनाया गया था या नहीं।

एक मुख्य तनाव यह है कि कई डेवलपर्स टोपोलॉजी एक और दो पर अपना भंडारण चुनते हैं, जब साझा-राज्य जोखिम हल्का होता है। उनके पास पहले से जो भी डेटाबेस है, वे उसे चुन लेते हैं और एक स्मृति तालिका जोड़ देते हैं। जब तक वे टोपोलॉजी तीन और चार तक पहुंचते हैं, तब तक वास्तुशिल्प प्रतिबद्धताएं पूरी हो चुकी होती हैं। म्यूटेबल से एपेंड-ओनली स्थिति में माइग्रेट करना कोई लाइब्रेरी स्वैप नहीं है। यह एक रीआर्किटेक्चर है.

## एकीकरण सतह जो मायने रखती है

विजेता आर्किटेक्चर संभवतः "अपने डेटाबेस को बदलें" नहीं बल्कि "अपने एजेंटों और अपने डेटाबेस के बीच बैठें" है।

एजेंट लेखन-अखंडता परत पर अवलोकन लिखते हैं: केवल परिशिष्ट, स्कीमा-विवश, उद्गम-ट्रैक। वह परत एजेंट-पठनीय स्थिति का प्रबंधन करती है। डेवलपर का मौजूदा डेटाबेस व्यावसायिक डेटा, ग्राहक रिकॉर्ड, लेनदेन, उत्पाद कैटलॉग के लिए रिकॉर्ड की प्रणाली बना हुआ है। लेकिन एजेंट-जनित स्थिति, अवलोकन, अनुमान, इकाई संकल्प, निर्णय, एक उद्देश्य-निर्मित परत में रहते हैं।

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

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

## मैं क्या निर्माण कर रहा हूं

[नियोटोमा](https://github.com/markmhendrickson/neotoma) यही करता है। केवल-संलग्न अवलोकन। हैश-लिंक्ड उद्गम. स्कीमा-विवश लिखते हैं. नियतात्मक इकाई संकल्प. एक एजेंट द्वारा लिखा गया प्रत्येक अवलोकन पहले दिन से ही पता लगाने योग्य, श्रवण योग्य और सुसंगत होता है।

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

लेखन अखंडता को अपनाने के लिए प्रतीक्षा करने की लागत कोई तकनीकी ऋण नहीं है जिसे आप बाद में चुका सकते हैं। यह आपके ऑडिट इतिहास में एक अंतर है। प्रवासन से पहले सब कुछ एक ब्लैक बॉक्स है। वह अंतर स्थायी है.