memweave, Sachin Sharma की बनाई एक ओपन-सोर्स Python लाइब्रेरी, इस हफ़्ते Towards Data Science पर दिखी — ख़ुद को ज़ीरो-इन्फ़्रा एजेंट मेमोरी के तौर पर पेश करती है — न Pinecone, न Weaviate, न कोई मैनेज्ड वेक्टर डेटाबेस। बस एक मार्कडाउन फ़ाइलों का फ़ोल्डर और एक SQLite इंडेक्स। टाइमिंग दिलचस्प है: बाज़ार में अधिकांश एजेंट-मेमोरी इन्फ़्रास्ट्रक्चर स्केल के पीछे भागता रहा है — वेक्टर स्टोर्स, ग्राफ़ डेटाबेस, डिस्ट्रिब्यूटेड एम्बेडिंग्स — जबकि असल में अधिकांश एजेंट्स को स्केल की ज़रूरत ही नहीं होती। उन्हें चाहिए पर्सिस्टेंस, इंस्पेक्टबिलिटी, और एक रिट्रीवल सिग्नल जो एग्ज़ैक्ट-मैच क्वेरीज़ पर शर्मिंदा न हो। memweave शर्त लगा रहा है कि डिफ़ॉल्ट ही ग़लत रहा है।

आर्किटेक्चर तीन हिस्सों में है। एक फ़ोल्डर में मार्कडाउन फ़ाइलें सत्य का स्रोत हैं, इंसानों और एजेंट्स दोनों के लिए पढ़ने-लिखने योग्य। SQLite एक derived इंडेक्स रखता है जिसमें BM25 कीवर्ड-मैचिंग के लिए FTS5, SIMD-त्वरित एम्बेडिंग समानता के लिए sqlite-vec एक्सटेंशन, और कंटेंट के SHA-256 पर keyed एम्बेडिंग कैश — ताकि दोबारा लिखने पर बेकार API कॉल्स न चलें। डिफ़ॉल्ट रिट्रीवल हाइब्रिड है: 0.7 × वेक्टर + 0.3 × BM25, फिर विविधता के लिए MMR री-रैंकिंग। समय-क्षय पुरानी यादों का वज़न फ़ाइल-आयु के अनुसार घटाता है — एवरग्रीन फ़ाइलें (बिना तारीख़-प्रीफ़िक्स) की उम्र YYYY-MM-DD.md जैसी तारीख़-वाली फ़ाइलों से अलग तरीक़े से बढ़ती है। एजेंट नेमस्पेस सब-डायरेक्टरीज़ से आते हैं। README दो रनएबल नोटबुक्स की ओर इशारा करता है — एक बुक क्लब डेमो और एक मीटिंग-नोट्स एजेंट — लेकिन कोई प्रकाशित बेंचमार्क नहीं, जो बताने लायक़ बात है: लाइब्रेरी नई है और स्केल पर अप्रमाणित।

लाइब्रेरी के नीचे एक असली तर्क है कि एजेंट-मेमोरी को वाकई क्या चाहिए। अधिकांश एजेंट हज़ारों प्रविष्टियों पर चलते हैं, लाखों पर नहीं; SQLite और sqlite-vec यह बिना किसी नेटवर्क-हॉप के संभाल लेते हैं। BM25+वेक्टर का हाइब्रिड डिफ़ॉल्ट भी शायद सही है: अकेले एम्बेडिंग्स एग्ज़ैक्ट-मैच केस चूक जाती हैं — जैसे "सेवा X के लिए मेरी API key क्या है" जहाँ यूज़र ने अक्षरशः वही स्ट्रिंग लिखी हो; अकेला BM25 सिमेंटिक फ़्रेज़िंग चूक जाता है। लेकिन ऑपरेशनल पकड़ जिसे देखना चाहिए वह अलग है: git diff memory/ चलाना दिखाता है कि एजेंट ने दो रनों के बीच क्या सीखा, कमिट-दर-कमिट। यह डिबगिंग का एक प्रिमिटिव है जो कोई वेक्टर डेटाबेस नहीं देता, और यही वो चीज़ है जो आप चाहते हैं जब आप रात के तीन बजे यह पुनर्निर्माण करने की कोशिश में हों कि एजेंट ने कोई विशेष निर्णय क्यों लिया। मेमोरी पर वर्शन-कंट्रोल एक प्रथम-श्रेणी ऑपरेशन के रूप में, न कि डेटाबेस-एक्सपोर्ट्स के रास्ते चिपकाई गई बाद की सोच।

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