जनवरी 2026 · 8 min read · Architecture deep-dive
Context assembly एक memory-aware AI के सबसे महत्वपूर्ण हिस्सों में से एक है। यह वह जादू है जो raw stored data को readable AI context में बदल देता है। यह guide विवरण समझाती है।
जब user एक संदेश भेजता है, assembly तीन चरण चलाती है: (1) तीनों memory परतों (memories, episodes, procedures) पर समानांतर queries। (2) 5-कारक scoring (relevance, importance, confidence, recency, frequency) हर परिणाम पर। (3) token बजट के अंदर packing और एक संरचित system prompt में injection।
सब कुछ 100ms के अंदर होता है ताकि stream उत्तर देने में कोई देरी न हो। यदि कोई परत 3-सेकंड के अंदर वापस नहीं आती, assembly आगे बढ़ती है — आंशिक संदर्भ कोई संदर्भ नहीं से बेहतर है।
Alma में, memories embeddings (semantic) और keywords (literal matches) दोनों के साथ indexed होती हैं। एक query दोनों indexes hit करता है: semantic results conceptual matches पकड़ते हैं, keyword results सटीक टकराव पकड़ते हैं। दोनों को combine, score, और सर्वोत्तम top-k चुना जाता है।
क्यों दोनों? क्योंकि semantic कभी-कभी सटीक tokens (एक product नाम, एक exact phrase) miss करता है, और keyword conceptual matches miss करता है। साथ में वे सही memory खोजने का सबसे अच्छा शॉट देते हैं।
Relevance (50%): query के साथ memory कितनी अच्छी तरह semantically मेल खाती है। Importance (15%): memory कितनी critical है (user द्वारा set या heuristically inferred)। Confidence (15%): हम कितने certain हैं कि memory सटीक है (1.0 user-stated, 0.7 LLM-inferred, 0.5 observed)।
Recency (10%): memory कितनी हाल की है — relative weighting। Frequency (10%): memory कितनी बार उपयोग की गई है। Relevance हावी है ताकि सही memory लगभग हमेशा सबसे recent वाली को हराए। यह weights manually calibrated हैं और retrieval quality के लिए A/B test किए गए हैं।
मॉडल का context window सीमित है — Haiku 200K tokens, Sonnet 200K tokens, Opus 4.7 1M tokens। Memory context एक हिस्सा है जो assembly सेट करती है। आपके plan पर एक "memory budget" है जो assembly token-aware fashion में memories को pack करता है।
Starter $14/mo: 2K tokens। Pro $29/mo: 4K tokens। Max $99/mo: 8K tokens। यह assembly को model context window में बहुत memories spend करने से रोकता है — मॉडल के पास अभी भी अपनी प्रतिक्रिया के लिए room है।
अंदर, हाँ — Vectorize (Cloudflare का vector store) embeddings स्टोर करता है। लेकिन assembly सिर्फ़ "vector lookup" से अधिक है। यह तीन परतों में queries समन्वयित करता है, परिणाम score करता है, बजट के अनुसार packs करता है, और एक system prompt assemble करता है। एक vector DB सबसे निचली layer है।
हाँ। हर सहायक प्रतिक्रिया के नीचे एक "Context used" panel दिखाता है कि कौन सी memories chosen थीं, उनके scores, और bypassed candidates। यह transparency है — कोई black box नहीं। आप देख सकते हैं कि AI क्या जानती है और क्यों यह उस संदर्भ को choose करती है।
Soul blocks पहले inject होते हैं, memories से पहले। आदेश: identity → personality → expertise → rules → context → memories → episodes → procedures। यह सुनिश्चित करता है कि व्यक्तित्व निरंतर है, फिर content layer पर add होता है।
Soul blocks token बजट के against count करते हैं लेकिन एक अलग pool में। Starter पर: ~2K tokens Soul के लिए, ~2K memories के लिए (4K कुल context)। Pro और Max पर scales।
हाँ — assembly की कई स्तरों पर एक API है। एक raw memory query (search_memories tool) करें यदि आप fine-grained control चाहते हैं। एक पूर्ण context assemble (alma_assemble tool) करें यदि आप वह सब चाहते हैं जो AI सत्र में जानता है। दोनों MCP, SDK, और REST के माध्यम से उपलब्ध हैं।
सबसे बड़ा कारक memory count है। 1K memories के साथ, assembly तेज़ है। 100K memories के साथ, semantic search पर अधिक समय लगता है। Alma 5-कारक pre-scoring और top-N candidate selection (default 100) के साथ इसे संभालता है ताकि असली scoring run छोटा रहे।
p99 < 100ms प्रति assembly सामान्य memory load के साथ। आप अधिक memories के साथ p99 बढ़ता देखेंगे — यदि latency एक चिंता है, एक स्वच्छ environment workflow उपयोग करें।
आपको assembly को manually प्रबंधित करने की आवश्यकता नहीं है — यह स्वचालित है। आप जो प्रबंधित करते हैं वह आपकी memories हैं (बनाएँ, संपादित करें, हटाएँ) और आपके Soul blocks (configure करें)। Assembly सही समय पर सही memories लाने का काम करती है। यदि आप गहराई में जाना चाहते हैं: context assembly docs।