1 पॉइंट द्वारा shakystar 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें

यह एक ऐसी समस्या से शुरू हुआ जिसका सामना मैं अकेले development करते हुए हर दिन करता था। vendors हर दिन बेहतर models जारी कर रहे थे, और जब भी मैं development जारी रखने के लिए किसी नए model पर switch करता था (जैसे Opus 4.7 से GPT 5.5), प्रोजेक्ट की working memory साथ नहीं आती थी। हर agent अपनी अलग memory silo बनाता गया, और मुझे हर बार टूटे हुए context को हाथ से फिर से जीवित करना पड़ता था। agents की शुरुआती memory features इतनी कमज़ोर थीं कि session खत्म होते ही context मर जाता था, और वे एक ही machine में बंद थीं, इसलिए desktop पर किया गया काम laptop पर जारी नहीं रह पाता था.

प्रोजेक्ट्स को अपनी खुद की याददाश्त चाहिए। इसलिए मैंने यह बनाया: एक local-first open source, जिसमें प्रोजेक्ट खुद memory रखता है.

तकनीकी रूप से जिन बातों पर मुझे भरोसा है

  • दिमाग की complementary learning systems (CLS) से प्रेरित 2-layer memory — काम के दौरान बिना LLM के सस्ते में observations capture होते हैं (hippocampus), और session boundaries पर background consolidation होता है (neocortex). भूलना deletion नहीं है, बल्कि retrieval के समय score competition है (importance × 14-दिन half-life recency × task relevance), और कोई भी memory मिटाई नहीं जाती.

  • zero API key — consolidation के लिए अलग LLM की ज़रूरत नहीं। पहले से logged-in claude -p / codex exec को वैसे ही चलाता है। संरचना ऐसी है कि agent खुद को इस्तेमाल करके अपनी memory व्यवस्थित करता है, और इस दौरान बनने वाली infinite recursion (consolidation → hook fire → consolidation → …) को environment variable guard से रोका जाता है.

  • lossless consolidation — watermark केवल event persistence के बाद ही आगे बढ़ता है, इसलिए अगर LLM timeout या parsing failure हो जाए तो अगली boundary वही interval फिर से retry करती है। watermark खुद खो भी जाए तो source-based dedup duplicate consolidation को रोकता है.

  • serverless cross-machine convergence — append-only event log को sync करने पर, clock synchronization के बिना सिर्फ content-based deterministic rules से सभी machines एक ही state पर converge करती हैं। अगर दो machines एक ही interval को एक साथ consolidate करें, तब भी सभी replicas एक ही winner चुनते हैं.

  • contradiction detection में embeddings पर भरोसा नहीं — cosine similarity negation को नहीं समझती (merge करो और merge मत करो लगभग एक जैसे vectors बन जाते हैं). इसलिए similarity का उपयोग सिर्फ candidate retrieval तक होता है, अंतिम निर्णय LLM करता है। जो memory हार जाती है, वह delete नहीं होती; उसकी validity window बंद हो जाती है, इसलिए "उस समय यह सच था" फिर से बहाल किया जा सकता है.

  • parallel sessions के बीच real-time sharing — एक ही project में चल रहे sessions एक-दूसरे का काम देख सकते हैं, और अगर वे एक ही file को छूते हैं तो conflict warning दिखाई देती है.

  • schema को theory नहीं, instrumentation से evolve करना — memory classification बदलनी चाहिए या नहीं, यह हर memory के साथ जुड़ने वाले observation-only lifetime fields और behavioral telemetry (कब inject हुई, कब invalidate हुई) को कुछ हफ्तों तक इकट्ठा करके data से तय किया जाता है। इस पूरी बहस को repository Discussions में सार्वजनिक रखा गया है.

अभी public क्यों किया

सच कहूँ तो मैं इसे और परिपक्व रूप में जारी करना चाहता था। लेकिन OpenAI को dreaming जैसी memory features जारी करते देखकर मेरा विचार बदल गया — जब बड़े vendors भी यही समस्या खोदना शुरू कर रहे हैं, तो इसका मतलब दिशा सही है, और vendor-locked memory standard बन जाए उससे पहले एक vendor-neutral विकल्प मौजूद होना चाहिए। इसलिए मैं इसे अभी जारी कर रहा हूँ.

इसे कहाँ तक ले जाना चाहता हूँ

Fable 5-स्तर के models आने के बाद agents अब ऐसे स्तर पर पहुँच गए हैं जहाँ वे आपस में सहयोग कर सकते हैं, लेकिन सहयोग के लिए shared infrastructure नहीं है। लंबे समय में मैं ऐसा public-interest platform बनाना चाहता हूँ जो agents की memory और collaboration के लिए वही करे जो Git ने code के लिए किया। पैसे की कमी के कारण मैं server से शुरुआत नहीं कर सका — और उसी constraint की वजह से local-first design निकला जो बिना server के भी converge करता है। अभी इसका पहला हिस्सा, "local पर project memory share करना", पूरी तरह काम कर रहा है। वास्तव में इस project की design discussions, implementation, और आज तड़के की deployment तक का बड़ा हिस्सा agents के साथ मिलकर हुआ है — बिल्कुल उसी collaboration style में जिसे यह tool सक्षम करना चाहता है।

मुझे खास तौर पर किस मदद की ज़रूरत है

  1. इसे इस्तेमाल करके टूटने वाले points बताइए — one-line install के बाद issue दर्ज करें। आज release से पहले की verification में ही install script के 2 bugs (PowerShell 5.1 quoting, Linux EACCES) मिले, और यकीन है कि और भी होंगे.
  2. दूसरे agent adapters — Cursor, Gemini CLI, Windsurf की hook structure जानने वाले लोग.
  3. memory classification debate में भाग लें — "memory के प्रकार क्या हैं" इसे data से तय करने के लिए Discussions खुली हुई है.

install एक line में है (Windows के लिए README में PowerShell command देखें):

curl -fsSL https://raw.githubusercontent.com/shakystar/memorize/… | sh

या Claude/Codex session में एक line: "Set up memorize in this project. Follow
https://github.com/shakystar/memorize/…;

repository: https://github.com/shakystar/memorize · Korean README
(https://github.com/shakystar/memorize/blob/main/docs/i18n/README.ko.md) · architecture document
(https://github.com/shakystar/memorize/blob/main/docs/ARCHITECTURE.md)

AGPL, सब कुछ local storage में, telemetry नहीं। किसी भी तरह का feedback स्वागतयोग्य है.

1 टिप्पणियां

 
shakystar 4 시간 전

मैं इसे बनाने वाला हूँ।

इस प्रोजेक्ट की रिलीज़ से ठीक पहले का एक दिन ठीक वैसा ही था जैसा सहयोग का तरीका यह टूल लक्ष्य करता है। मैंने एजेंट के साथ यह डिज़ाइन चर्चा की कि "memory classification में tag सही है या नहीं, जबकि दिमाग में तो tag नहीं होते", फिर सहमति GitHub Discussions और issues में स्थायी रूप से दर्ज हुई, implementation PR merge हुआ, और यहाँ तक भी verify किया कि एजेंट ने खुद को ही (claude -p) extractor की तरह इस्तेमाल करके वास्तविक work logs को long-term memory में integrate किया — यानी dogfooding तक देखने के बाद मैंने deploy बटन दबाया। उस प्रक्रिया के डिज़ाइन विवाद repository Discussions में सभी के लिए खुले हैं.

मुख्य लेख में जो नहीं लिखा, उसमें सबसे ज़्यादा पूछा जाने वाला सवाल शायद यह होगा कि "क्या यह धीमा नहीं होगा या extra cost नहीं आएगी?" उसका जवाब पहले ही दे दूँ — काम के दौरान LLM बिल्कुल भी मदद नहीं करता। Capture नियम-आधारित filter है, इसलिए महसूस होने वाली latency 0 है, और LLM केवल session boundary पर एक बार integration के लिए चलता है; वह भी अलग background process में, इसलिए एजेंट को 1 सेकंड के लिए भी block नहीं करता। यहाँ तक कि वह call भी आपके पहले से इस्तेमाल हो रहे claude/codex subscription से ही जाती है, इसलिए अलग API billing नहीं होती। आज के dogfooding के आधार पर, एक session के 44 observations एक background call (लगभग 30 सेकंड) में integrate हुए, और session start injection भी 4,000-character budget के भीतर का text है, इसलिए token load लगभग नहीं के बराबर है। लक्ष्य यह था कि आप इसे install करें और फिर भूल जाएँ।

रिलीज़ से पहले real-device verification में पकड़ी गई चीज़ों में से एक ही साझा करूँ — README में verification command npx memorize दी हुई थी, लेकिन npm में बिना scope वाला memorize किसी और का package निकला। इस तरह की चीज़ें, जो "सिर्फ real device पर ही दिखती हैं", और भी हो सकती हैं, इसलिए ऐसी reports वाकई बहुत मूल्यवान हैं।

अनुरोध: Windows और WSL/Linux पर मैंने सीधे real-device verification किया है, लेकिन मेरे पास macOS की real machine नहीं है। CI में macOS test suite पूरी तरह pass हो रही है, लेकिन one-line install → hook → session start injection तक का full cycle मैं real device पर नहीं चला पाया। अगर macOS इस्तेमाल करने वाले आपमें से कोई एक भी इसे install करके बता दे कि यह चलता है या टूटता है, comment या issue में, तो बहुत मदद होगी।

डिज़ाइन से जुड़े सवाल भी स्वागत योग्य हैं (जैसे embedding को decision में क्यों नहीं इस्तेमाल करते, deletion क्यों नहीं है, clock के बिना cross-machine convergence कैसे होता है) — मैं सबका जवाब दूँगा।