{
  "title": "Context Engineering: प्रॉम्प्ट इंजीनियरिंग कभी पर्याप्त क्यों नहीं थी",
  "excerpt": "2026 तक, आधुनिक AI सिस्टम में असली काम एक चतुर प्रॉम्प्ट लिखना नहीं है। यह तय करना है कि मॉडल क्या देखता है, कब देखता है, और वह context कैसे संरचित, संरक्षित और स्थायी memory में बदला जाता है।",
  "content_html": "<p>कुछ समय के लिए, \"prompt engineering\" वह नाम था जो हमने large language models से अच्छे परिणाम प्राप्त करने की कला को दिया था। शुरुआती दिनों में यह समझ में आता था। अधिकांश लोग one-shot interactions का उपयोग कर रहे थे, और मुख्य lever वास्तव में शब्दों जैसा लगता था: अधिक स्पष्ट रूप से पूछें, एक उदाहरण जोड़ें, format को सीमित करें, और मॉडल बेहतर व्यवहार करता था।</p><p>वह सोच अब असली समस्या के लिए बहुत छोटी है।</p><p>जब कोई AI सिस्टम production में विफल होता है, तो समस्या आमतौर पर यह नहीं होती कि मॉडल को system prompt में एक और चतुर वाक्य की जरूरत थी। समस्या यह होती है कि मॉडल ने सही जानकारी नहीं देखी, बहुत अधिक अप्रासंगिक जानकारी देखी, सही जानकारी गलत format में देखी, या एक चरण से दूसरे चरण तक सही state को आगे नहीं ले जा सका। दूसरे शब्दों में, समस्या केवल prompt नहीं थी। समस्या <strong>पूरी context pipeline</strong> थी।</p><p>इसीलिए <strong>context engineering</strong> शब्द प्रचलित हुआ है। यह वाक्यांश 2025 के मध्य में mainstream AI चर्चा में आया, जब Tobi Lütke और Andrej Karpathy ने तर्क दिया कि \"prompt engineering\" विश्वसनीय LLM सिस्टम बनाने में शामिल वास्तविक काम को कम आंकता है।[1] लेकिन अंतर्निहित अनुशासन नाम से पुराना है। यदि आपने RAG, tool calling, memory systems, summarization, या evaluation loops बनाए हैं, तो आपने पहले से ही context engineering के टुकड़े किए हैं। जो बदला वह यह है कि अंततः हमारे पास एक नाम है जो पूरे काम का वर्णन करता है।</p><h2>एक सरल Mental Model</h2><p>यदि आप सबसे सरल संभव तस्वीर चाहते हैं, तो context engineering बाहरी दुनिया और मॉडल की working memory के बीच की परत है।</p><pre><code class=\"language-mermaid\">flowchart TD\n    U[\"User request\"] --&gt; CE[\"Context engine\"]\n\n    I[\"Instructions and policies\"] --&gt; CE\n    R[\"Retrieved knowledge\"] --&gt; CE\n    M[\"Memory and saved state\"] --&gt; CE\n    T[\"Tool definitions and results\"] --&gt; CE\n    H[\"Recent conversation history\"] --&gt; CE\n\n    CE --&gt; W[\"Model context window\"]\n    W --&gt; L[\"LLM reasons and acts\"]\n    L --&gt; O[\"Answer or tool call\"]\n    O --&gt; S[\"New memory, logs, and state\"]\n    S --&gt; CE</code></pre><p>यही पूरा खेल है।</p><p>मॉडल reasoning engine है। Context engine तय करता है कि मॉडल को किस पर reasoning करने को मिलता है।</p><h2>नाम नया है। काम नहीं।</h2><p>एक कारण यह शब्द गूंजता है कि यह कई धागों को एक साथ बांधता है जो अलग-अलग विकसित हो रहे थे।</p><p>Retrieval-Augmented Generation, या RAG, ने हमें सिखाया कि मॉडलों को inference time पर बाहरी ज्ञान तक पहुंच की जरूरत है।[2] ReAct ने हमें सिखाया कि reasoning और acting तब बेहतर काम करते हैं जब मॉडल tools को call कर सकते हैं, परिणाम देख सकते हैं, और वहां से जारी रख सकते हैं।[3] Memory research ने हमें सिखाया कि long-running assistants को अंतहीन transcript संचय के बजाय indexing, retrieval, और reading strategies की जरूरत है।[4] Long-context evaluation ने दिखाया कि केवल एक मॉडल में अधिक tokens भरना उसे बेहतर working memory देने के समान नहीं है।[5][6][7]</p><p>इस तरह देखा जाए, तो context engineering उन विचारों का प्रतिस्थापन नहीं है। यह उनके ऊपर की छतरी है।</p><p>वह छतरी मायने रखती है क्योंकि आधुनिक AI सिस्टम अब isolated prompts नहीं हैं। वे dynamic systems हैं जो अगले चरण के लिए एक temporary context window में instructions, documents, structured data, tool outputs, और prior state को इकट्ठा करते हैं। LangChain ने इसे अच्छी तरह से वर्णित किया जब उसने context engineering को सही जानकारी और tools को सही format में प्रदान करने के काम के रूप में परिभाषित किया ताकि LLM संभवतः कार्य पूरा कर सके।[8]</p><p>\"संभवतः कार्य पूरा करे\" वाक्यांश वहां बहुत काम कर रहा है। यह सही परीक्षण है।</p><p>यदि कोई agent विफल होता है, तो पहला सवाल यह नहीं होना चाहिए, \"मैं prompt को कैसे स्मार्ट बनाऊं?\"</p><p>पहला सवाल होना चाहिए, \"क्या मैंने वास्तव में मॉडल को वह दिया जो उसे सफल होने के लिए चाहिए था?\"</p><h2>Prompt Engineering क्यों बहुत छोटी हो गई</h2><p>Prompt engineering अभी भी मायने रखती है। यह बस एक बड़े अनुशासन का उपसमुच्चय बन गई।</p><p>पुराना mental model था:</p><table><thead><tr><th>Prompt engineering</th><th>Context engineering</th></tr></thead><tbody><tr><td>बेहतर instructions लिखें</td><td>पूरा information environment बनाएं</td></tr><tr><td>एकल request पर ध्यान दें</td><td>multi-step systems पर ध्यान दें</td></tr><tr><td>अधिकतर static</td><td>Dynamic और stateful</td></tr><tr><td>शब्दों को optimize करें</td><td>selection, structure, memory, और tools को optimize करें</td></tr><tr><td>एकल model call को बेहतर बनाएं</td><td>पूरे loop को बेहतर बनाएं</td></tr></tbody></table><p>यह अंतर उस क्षण स्पष्ट हो जाता है जब आप एक agent बनाते हैं।</p><p>मान लीजिए आप enterprise software के लिए एक support agent बना रहे हैं। उपयोगकर्ता पूछता है, \"हमारे API requests timeout क्यों हो रहे हैं?\"</p><p>यदि आप केवल prompt के संदर्भ में सोचते हैं, तो आप शब्दों में सुधार कर सकते हैं:</p><ul><li>मॉडल को संक्षिप्त होने के लिए कहें</li><li>उसे साक्ष्य उद्धृत करने के लिए कहें</li><li>उसे step by step सोचने के लिए कहें</li></ul><p>ये ठीक सुधार हैं। लेकिन ये पर्याप्त नहीं हैं।</p><p>असली system प्रश्न कठिन हैं:</p><ul><li>क्या agent के पास incident runbooks तक पहुंच है?</li><li>क्या वह नवीनतम logs और status pages देख सकता है?</li><li>क्या उसे पता है कि यह account किस customer tier से संबंधित है?</li><li>क्या उसे conversation के पहले के turns याद हैं?</li><li>क्या वह ticket system को query कर सकता है?</li><li>क्या वह पुराने documents को वर्तमान से अलग कर सकता है?</li><li>यदि उसे बहुत अधिक context मिलता है, तो क्या trim किया जाता है?</li></ul><p>यही context engineering है।</p><p>Prompt उसके अंदर एक line item है।</p><h2>Context में क्या शामिल है</h2><p>व्यवहार में, context में वह सब कुछ शामिल है जो मॉडल inference time पर देखता है, न केवल दृश्यमान prompt।[8][9]</p><p>इसका आमतौर पर मतलब है:</p><ul><li>System instructions</li><li>वर्तमान user request</li><li>Retrieved documents</li><li>Structured data जैसे JSON, tables, schemas, और records</li><li>Tool definitions</li><li>Tool outputs</li><li>हाल की conversation history</li><li>Long-term memory या saved notes</li><li>Security, policy, और formatting constraints</li><li>Environment state जैसे files, tabs, tickets, या working directories</li></ul><p>इसीलिए \"context window भरना\" वाक्यांश इतना केंद्रीय हो गया है। Context window केवल वह जगह नहीं है जहां text जाता है। यह मॉडल की temporary working memory है। इसमें प्रवेश करने वाली हर चीज attention के लिए प्रतिस्पर्धा करती है।</p><p>और प्रतिस्पर्धा ही मुख्य शब्द है।</p><p>हर अतिरिक्त token केवल अतिरिक्त जानकारी नहीं है। यह अतिरिक्त विकर्षण भी है।</p><h2>बड़े Context Windows ने समस्या क्यों नहीं सुलझाई</h2><p>वर्तमान AI बाजार में सबसे आम गलतफहमियों में से एक यह है कि बड़े context windows ने context engineering को कम महत्वपूर्ण बना दिया।</p><p>शोध विपरीत दिशा में इशारा करता है।</p><p><em>Lost in the Middle</em> ने दिखाया कि मॉडल अक्सर long contexts का असमान उपयोग करते हैं, जब प्रासंगिक जानकारी शुरुआत या अंत के पास दिखाई देती है तो बेहतर प्रदर्शन करते हैं और जब महत्वपूर्ण जानकारी बीच में होती है तो खराब प्रदर्शन करते हैं।[5] Databricks के long-context RAG अध्ययन में पाया गया कि अधिक retrieved documents जोड़ने से मदद मिल सकती है, लेकिन केवल कुछ state-of-the-art models ने 64k tokens से ऊपर मजबूत प्रदर्शन बनाए रखा।[6] Chroma की <em>Context Rot</em> रिपोर्ट और भी आगे गई: input length बढ़ने पर सरल कार्य भी कम विश्वसनीय हो जाते हैं, विशेष रूप से जब ambiguity और distractors पेश किए जाते हैं।[7]</p><p>यह वह हिस्सा है जो कई teams कठिन तरीके से सीखती हैं।</p><p>बड़े windows चुनाव की जरूरत को खत्म नहीं करते। वे बुरे चुनावों की कीमत को पहले कम स्पष्ट और बाद में अधिक दर्दनाक बनाते हैं।</p><p>एक long prompt कम से कम चार अलग-अलग तरीकों से विफल हो सकता है:</p><ol><li><strong>Context poisoning</strong>: एक गलत तथ्य, hallucination, या पुराना परिणाम आगे ले जाया जाता है।</li><li><strong>Context distraction</strong>: बहुत अधिक प्रासंगिक-लेकिन-गैर-महत्वपूर्ण विवरण मुख्य कार्य को overwhelm करता है।</li><li><strong>Context confusion</strong>: context के विभिन्न टुकड़े एक-दूसरे का खंडन करते हैं।</li><li><strong>Context waste</strong>: उपयोगी tokens अनावश्यक या कम-मूल्य सामग्री के नीचे दब जाते हैं।</li></ol><p>इसीलिए context engineering tokens को maximize करने के बारे में नहीं है। यह context window के अंदर <strong>signal density</strong> को maximize करने के बारे में है।</p><h2>Retrieval से Navigation तक</h2><p>यहीं पर हाल के सबसे अच्छे विचारों में से एक तस्वीर में आता है।</p><p>Jason Liu ने तर्क दिया कि classic chunk-based RAG के बाद अगला कदम केवल \"सबसे समान passages\" के बारे में सोचना बंद करना और <strong>search space के आकार</strong> के बारे में सोचना शुरू करना है।[10] उनका framing विशेष रूप से उपयोगी है क्योंकि यह एक progression को map करता है जिसके माध्यम से कई teams पहले से ही आगे बढ़ रही हैं:</p><ol><li>Minimal chunks</li><li>Source metadata के साथ chunks</li><li>Multimodal और structured content के लिए बेहतर handling</li><li>Facets और query refinement</li></ol><p>पहले तीन में सुधार है कि क्या retrieve किया जाता है।</p><p>चौथा अधिक दिलचस्प है। यह सुधार करता है कि agent <strong>corpus के बारे में</strong> क्या सीखता है।</p><p>Facets मॉडल को peripheral vision जैसा कुछ देते हैं। केवल top few chunks वापस करने के बजाय, सिस्टम aggregated metadata भी वापस कर सकता है:</p><ul><li>कौन से document types result set में dominant हैं</li><li>कौन सी teams या owners सबसे अधिक बार दिखाई देते हैं</li><li>कौन सी dates एक साथ cluster होती हैं</li><li>कौन सी categories top results में मौजूद हैं लेकिन underrepresented हैं</li></ul><p>यह मायने रखता है क्योंकि similarity search उस चीज की ओर biased है जो match करना सबसे आसान है, जरूरी नहीं कि जो inspect करना सबसे महत्वपूर्ण हो।[10] एक retrieval system अच्छी तरह से documented resolved incidents को over-surface कर सकता है और sparse, अभी भी खुले incidents को under-surface कर सकता है। एक legal search signed contracts को over-surface कर सकती है और unsigned ones को छुपा सकती है जिन पर वास्तव में ध्यान देने की जरूरत है। Facets agent को न केवल \"क्या matched\" बल्कि \"आसपास और क्या मौजूद है\" देखने में मदद करते हैं।</p><p>यह एक बड़ा conceptual shift है।</p><p>RAG अधिकतर retrieval के बारे में था।</p><p>Context engineering तेजी से <strong>navigation</strong> के बारे में हो रही है।</p><h2>Context Engineering के छह काम</h2><p>Context engineering को concrete बनाने का सबसे आसान तरीका इसे उन वास्तविक कामों में तोड़ना है जो यह करती है।</p><h3>1. Selection</h3><p>पहला काम यह तय करना है कि window में प्रवेश करने के योग्य क्या है।</p><p>इसमें retrieval, ranking, filtering, source choice, और freshness checks शामिल हैं। यह स्पष्ट लगता है, लेकिन यह अभी भी वह जगह है जहां बहुत अधिक quality जीती या हारी जाती है। BRIGHT जैसे benchmarks दिखाते हैं कि realistic retrieval surface-level semantic matching से कहीं अधिक कठिन है।[11] यदि आपकी retrieval quality कमजोर है, तो downstream prompt polishing की कोई भी मात्रा परिणाम को पूरी तरह से नहीं बचाएगी।</p><p>Selection केवल \"प्रासंगिक chunks खोजें\" नहीं है। यह है:</p><ul><li>सही source चुनें</li><li>सही granularity चुनें</li><li>सही मात्रा चुनें</li><li>सही ordering चुनें</li></ul><p>अच्छे systems अक्सर naive systems से कम retrieve करते हैं, लेकिन अधिक जानबूझकर retrieve करते हैं।</p><h3>2. Structure</h3><p>दूसरा काम यह तय करना है कि चुने गए context को कैसे represent किया जाए।</p><p>वही जानकारी formatting के आधार पर helpful या बेकार हो सकती है। Anthropic का tool-use guidance इस बारे में स्पष्ट है: tool descriptions और interfaces model behavior को दृढ़ता से आकार देते हैं।[9] Long-context prompting guidance XML tagging, source labeling, और clearly separated document sections के लिए समान सिफारिशें करती है।[12]</p><p>व्यवहार में, structure का मतलब है:</p><ul><li>sources को label करें</li><li>instructions को data से अलग करें</li><li>complex documents को consistent markup में wrap करें</li><li>tables को tables के रूप में preserve करें जब वे मायने रखते हों</li><li>evidence के साथ citations और metadata वापस करें</li></ul><p>एक छोटा, well-labeled result अक्सर एक giant JSON blob से बेहतर प्रदर्शन करता है।</p><h3>3. Compression</h3><p>तीसरा काम जो मायने रखता है उसे नष्ट किए बिना context को कम करना है।</p><p>यहीं पर बहुत सारे agent systems या तो बहुत बेहतर या बहुत खराब हो जाते हैं।</p><p>Compression का मतलब हो सकता है:</p><ul><li>पहले के turns को summarize करना</li><li>पुरानी history को trim करना</li><li>केवल अंतिम कुछ user turns को verbatim रखना</li><li>long threads से durable facts निकालना</li><li>cost और latency कम करने के लिए stable prefixes को cache करना</li></ul><p>OpenAI का prompt caching documentation दिखाता है कि prompt order economically और cognitively दोनों तरह से मायने रखता है: static shared prefixes सामने रखे जाने पर सस्ते और तेज होते हैं क्योंकि cache hits exact prefix reuse पर निर्भर करते हैं।[13] OpenAI का नया Responses API compaction पर काम उसी विचार को आगे बढ़ाता है, long-running agent history को एक अधिक token-efficient representation में compress करने योग्य मानकर इससे पहले कि window भर जाए।[14]</p><p>Compression optional नहीं है। एकमात्र सवाल यह है कि क्या आप इसे जानबूझकर करते हैं या context window को अपने आप degrade होने देते हैं।</p><h3>4. Memory</h3><p>चौथा काम यह तय करना है कि वर्तमान turn से परे क्या persist होना चाहिए।</p><p>यहीं पर कई teams एक ही गलती करती हैं: वे memory को transcript retention के साथ confuse करती हैं।</p><p>लेकिन अच्छी memory \"सब कुछ हमेशा के लिए रखें\" नहीं है। LongMemEval long-term memory को तीन-चरण की समस्या के रूप में frame करता है: indexing, retrieval, और reading।[4] इसके बारे में सोचने का यही सही तरीका है। एक memory system को मॉडल को सही समय पर सही prior fact recover करने में मदद करनी चाहिए, न कि उसे पूरे अतीत में डुबो देना।</p><p>यह एक उपयोगी distinction की ओर ले जाता है:</p><ul><li><strong>Working memory</strong>: वर्तमान कार्य के लिए आवश्यक short-term context</li><li><strong>Reference memory</strong>: externalized facts, summaries, notes, या artifacts जिन्हें बाद में reload किया जा सकता है</li></ul><p>यदि सब कुछ working memory में रहता है, तो मॉडल distracted हो जाता है।<br>यदि सब कुछ बाहर धकेल दिया जाता है, तो मॉडल continuity खो देता है।</p><p>Context engineering तय करती है कि प्रत्येक layer में क्या है।</p><h3>5. Tool और Interface Design</h3><p>पांचवां काम tools को मॉडल के लिए legible बनाना है।</p><p>यह अनुशासन का एक underappreciated हिस्सा है। एक tool surface केवल software API design नहीं है। यह context design भी है।</p><p>मॉडल को समझने की जरूरत है:</p><ul><li>tool क्या करता है</li><li>इसका उपयोग कब करना है</li><li>प्रत्येक parameter का क्या मतलब है</li><li>output का क्या अर्थ है</li><li>परिणाम देखने के बाद आगे क्या करना है</li></ul><p>इसीलिए tool descriptions इतनी मायने रखती हैं।[9] यह भी कारण है कि Jason Liu का tool results पर जोर महत्वपूर्ण है।[10] एक tool का output केवल वर्तमान query का उत्तर नहीं देता। यह agent को सिखाता है कि अगली query के बारे में कैसे सोचना है।</p><p>जब tool surface MCP जैसे protocol के माध्यम से standardized हो जाती है, तो यह और भी महत्वपूर्ण हो जाता है। MCP tools, resources, और prompts को LLM applications से connect करना आसान बनाता है, लेकिन यह तय नहीं करता कि कौन सी जानकारी surface की जानी चाहिए, इसे कैसे filter किया जाना चाहिए, या इसमें से कितना अगले model call में inject किया जाना चाहिए।[15] Protocol plumbing है। Context engineering अभी भी craft है।</p><h3>6. Isolation और Orchestration</h3><p>छठा काम यह तय करना है कि context कब share नहीं करना है।</p><p>यह toy demos और production agents के बीच सबसे बड़े अंतरों में से एक है।</p><p>कभी-कभी सही उत्तर एक बड़ा shared prompt नहीं है। यह isolated scopes के साथ कई छोटे prompts हैं।</p><p>Anthropic का multi-agent research system एक मजबूत उदाहरण है।[16] उनके subagents अलग context windows के साथ parallel में चलते हैं, जो उन्हें हर intermediate detail के साथ एक-दूसरे को contaminate किए बिना किसी समस्या की विभिन्न शाखाओं का पता लगाने में मदद करता है। LangChain एक समान pattern को \"isolate\" के तहत वर्णित करता है: कभी-कभी agent reliability में सुधार करने का सबसे अच्छा तरीका contexts को accumulate करने के बजाय split करना है।[17]</p><p>यह मायने रखता है क्योंकि shared context की एक छिपी हुई कीमत है। यह path dependence बनाता है। एक single bad branch अगले चरण को, और अगले को, और अगले को प्रभावित कर सकती है।</p><p>Isolation blast radius को सीमित करने का एक तरीका है।</p><h2>2026 में क्या बदला</h2><p>2025 में, context engineering अधिकतर एक उपयोगी नाम था उस समस्या के लिए जो लोग पहले से महसूस कर रहे थे। 2026 में, यह एक architecture में hardening शुरू हो रही है।</p><p>पहला बड़ा shift यह है कि builders durable state को raw context window के <strong>बाहर</strong> ले जा रहे हैं। Anthropic का context editing और memory tool स्पष्ट रूप से अलग करता है कि working window में क्या live रहता है और sessions में क्या persist होना चाहिए।[18] OpenAI का personalization पर January 2026 cookbook एक अलग form में वही move करता है: structured state objects जो runs में persist होते हैं और प्रत्येक run की शुरुआत में जानबूझकर working memory में वापस inject किए जाते हैं।[19] OpenAI का Responses API फिर native compaction के साथ इसे एक कदम आगे ले जाता है, ताकि long-running agent loops को हर team को scratch से custom summarization subsystem बनाने की जरूरत न हो।[14]</p><p>Anthropic का Managed Agents अंतर्निहित pattern को असामान्य रूप से स्पष्ट बनाता है: <strong>session मॉडल का context window नहीं है।</strong>[20] यह एक critical 2026 विचार है। Window transient working memory है। Session log durable object है। Harness तय करता है कि उस durable context को अगले model call में कैसे slice, compact, और rehydrate करना है।</p><p>दूसरा shift यह है कि retrieval अधिक <strong>just in time</strong> और अधिक interface-native हो रही है। हर संभवतः प्रासंगिक token को front-load करने के बजाय, teams agents को retrieval surfaces दे रही हैं जिन्हें वे पहले से operate करना जानते हैं। Mintlify का ChromaFs एक अच्छा उदाहरण है: documentation retrieval के लिए full sandbox boot करने के बजाय, यह docs को एक virtual filesystem के रूप में present करता है जिसे `ls`, `cat`, और `grep` से navigate किया जा सकता है, p90 session creation को लगभग 46 seconds से लगभग 100 milliseconds तक कम करता है।[21] Turso का AgentFS उसी intuition को general agent execution की ओर ले जाता है: portable single-file storage और built-in auditing के साथ copy-on-write filesystem abstraction।[22]</p><p>तीसरा shift यह है कि <strong>context graphs</strong> एक implementation direction बन रहे हैं, न केवल एक metaphor। Foundation Capital की thesis ने शब्द को visible बनाया, लेकिन मजबूत claim architectural है: जब agents execution path में बैठते हैं, तो वे decision traces को durable artifacts के रूप में capture कर सकते हैं, न केवल final outputs emit करते हैं।[26][27] Graphiti और Zep जैसे open-source systems इसे temporal context graphs के रूप में operationalize करते हैं जिनमें validity windows, provenance episodes, और semantics, keywords, और graph structure में hybrid retrieval है।[23] TrustGraph एक related approach लेता है context को versioned artifact के रूप में treat करके: graph, embeddings, evidence, और policies portable \"context cores\" में bundled जिन्हें build outputs की तरह promote या rollback किया जा सकता है।[24][25]</p><p>चौथा shift यह है कि context engineering अब real software practice में visible है, न केवल platform blogs में। 2026 MSR paper on context engineering in open-source software ने 466 repositories का अध्ययन किया और पाया कि AI context files जैसे `AGENTS.md` फैल रहे हैं, लेकिन अभी तक कोई stable content structure नहीं है।[28] यह मायने रखता है क्योंकि यह theory से operational artifacts की ओर एक move को mark करता है। Context अब केवल runtime पर inferred होने वाली चीज नहीं है। इसे software lifecycle के हिस्से के रूप में authored, versioned, reviewed, और mined किया जा रहा है।</p><p>यदि आप 2026 mental model को एक तस्वीर में चाहते हैं, तो यह इस तरह दिखता है:</p><pre><code class=\"language-mermaid\">flowchart LR\n    E[\"Session log / events\"] --&gt; A[\"Context assembler\"]\n    F[\"Files, docs, and tools\"] --&gt; A\n    G[\"Context graph / memory\"] --&gt; A\n    P[\"Policies and AGENTS.md\"] --&gt; A\n\n    A --&gt; W[\"Working context window\"]\n    W --&gt; X[\"Agent action\"]\n\n    X --&gt; E\n    X --&gt; G</code></pre><p>यह \"prompt + vector search\" से बहुत अलग architecture है।</p><h2>Context Graphs वास्तव में कहां Fit होते हैं</h2><p>एक कारण यह conversation muddy हो जाती है कि लोग <strong>context engineering</strong> और <strong>context graph</strong> का उपयोग ऐसे करते हैं जैसे उनका मतलब एक ही हो। वे नहीं हैं।</p><p>Context engineering व्यापक अनुशासन है। यह तय करने का काम है कि अगले context window में क्या जाता है, क्या बाहर रहता है, क्या compress होता है, और क्या on demand retrieve होता है।</p><p>Context graph उस बड़े system के अंदर एक possible long-term memory substrate है।</p><p>यह distinction मायने रखता है क्योंकि हर उपयोगी agent को context graph की जरूरत नहीं है। अधिकतर static content पर एक documentation assistant को अच्छी retrieval, tool design, और compaction की जरूरत हो सकती है, लेकिन graph की नहीं। एक coding agent repository instructions, durable session log, और filesystem abstraction के साथ आश्चर्यजनक रूप से आगे जा सकता है।[20][21][22][28]</p><p>Context graphs तब compelling हो जाते हैं जब समस्या में चार characteristics हों:</p><ul><li><strong>Temporal truth मायने रखती है।</strong> आपको न केवल यह जानना है कि अभी क्या सच है, बल्कि decision time पर क्या सच था।[23]</li><li><strong>Provenance मायने रखती है।</strong> आपको facts को उस episode, document, या interaction तक trace करने की जरूरत है जिसने उन्हें produce किया।[23][24]</li><li><strong>Precedent मायने रखता है।</strong> कार्य इस बात पर निर्भर करता है कि पहले समान cases को कैसे handle किया गया था, exceptions और approvals सहित।[26][27]</li><li><strong>Cross-entity reasoning मायने रखती है।</strong> उपयोगी memory एक flat note नहीं है, बल्कि लोगों, policies, incidents, accounts, tickets, और outcomes का एक network है।[23][25]</li></ul><p>इसीलिए context graph की सबसे अच्छी definition, मेरे विचार में, \"AI के लिए graph database\" नहीं है। यह <strong>precedent का durable representation</strong> है।</p><p>यही कारण है कि decision traces इतने मायने रखते हैं। Foundation Capital का framing यहां उपयोगी है: rules agent को बताते हैं कि सामान्य रूप से क्या होना चाहिए; decision traces उसे बताते हैं कि एक specific case में, real constraints के साथ, real exceptions के साथ क्या हुआ।[26] एक बार जब वे traces entities और time में linked हो जाते हैं, तो आपको generic memory से कहीं अधिक valuable कुछ मिलता है। आपको searchable judgment मिलता है।</p><h2>मैं 2026 में इसे कैसे Build करूंगा</h2><p>यदि मैं आज एक serious context-engineering stack बना रहा होता, तो मैं graph से शुरू नहीं करता। मैं interfaces और promotion rules से शुरू करता।</p><h3>1. पहले एक durable session layer बनाएं</h3><p>हर action, tool result, observation, और महत्वपूर्ण intermediate artifact एक append-only session log या event store में land होनी चाहिए। यह आपका recoverable context object है।[14][20]</p><p>Active context window को source of truth के साथ confuse न करें।</p><p>Window reasoning के लिए है।<br>Session recovery, replay, debugging, और selective rehydration के लिए है।</p><h3>2. Context assembler को एक product surface के रूप में treat करें</h3><p>Assembler को explicitly manage करना चाहिए:</p><ul><li>token budgets</li><li>source priority</li><li>freshness</li><li>compaction thresholds</li><li>history trimming</li><li>citation formatting</li><li>cache-aware ordering</li></ul><p>यह वह layer है जो तय करती है कि मॉडल <em>अभी</em> क्या देखता है। यह observable, testable, और बदलने में सस्ता होना चाहिए।[18][19][14]</p><h3>3. Eager stuffing के बजाय just-in-time retrieval को prefer करें</h3><p>मॉडल को पहले lightweight handles दें: file paths, object IDs, URLs, query templates, ticket IDs, incident IDs। फिर उसे केवल जरूरत पड़ने पर detail pull करने दें।[9][18][21]</p><p>यहीं पर filesystems, MCP tools, search APIs, और structured queries giant top-K dumps से अधिक valuable हो जाते हैं।</p><h3>4. केवल high-value state को long-term memory में promote करें</h3><p>सब कुछ memory नहीं बनना चाहिए।</p><p>मैं चार classes के artifacts को promote करूंगा:</p><ul><li>stable user या account preferences</li><li>provenance के साथ durable facts</li><li>महत्वपूर्ण intermediate summaries</li><li>decision traces और exceptions</li></ul><p>बाकी सब कुछ session log में तब तक रहना चाहिए जब तक यह साबित न हो जाए कि यह promotion के योग्य है।</p><h3>5. Context graph को एक promoted memory layer के रूप में बनाएं</h3><p>यह वह हिस्सा है जिसे कई teams invert करती हैं।</p><p>Graph आपका raw transcript graph form में नहीं होना चाहिए। यह curated layer होनी चाहिए जो sessions के ऊपर और real-time assembly के नीचे बैठती है:</p><ul><li>entities</li><li>relationships</li><li>time validity</li><li>source episodes</li><li>approvals</li><li>exceptions</li><li>outcomes</li></ul><p>यदि आप promotion step को skip करते हैं, तो graph एक dumping ground बन जाता है।<br>यदि आप promotion को सही करते हैं, तो graph organization के वास्तव में reasoning करने के तरीके की memory बन जाता है।[23][26]</p><h3>6. Context को code की तरह package करें</h3><p>2026 तक, सबसे promising विचारों में से एक context को versioned artifact के रूप में treat करना है। Software projects में यह `AGENTS.md` और अन्य repository-specific context files के रूप में दिखाई देता है।[28] Graph-native systems में यह context cores के रूप में दिखाई देता है: ontology, graph structure, embeddings, provenance, और retrieval policy के portable bundles।[24][25]</p><p>यह मायने रखता है क्योंकि context changes को code changes के समान operational discipline की जरूरत है:</p><ul><li>review</li><li>versioning</li><li>rollback</li><li>environment promotion</li><li>evaluation</li></ul><p>एक बार context एक artifact बन जाता है, यह governable बन जाता है।</p><h3>7. Observability को intelligence से अलग करें</h3><p>आपको दोनों की जरूरत है:</p><ul><li><strong>agent run की observability</strong></li><li><strong>context system की observability</strong></li></ul><p>ये एक ही चीज नहीं हैं।</p><p>मैं जानना चाहता हूं:</p><ul><li>मॉडल ने क्या देखा</li><li>उसने क्या नहीं देखा</li><li>क्या compact हुआ</li><li>क्या just in time retrieve हुआ</li><li>क्या memory में promote हुआ</li><li>कौन सा graph neighborhood traverse हुआ</li><li>किस precedent ने वास्तव में action को प्रभावित किया</li></ul><p>यदि आप उन सवालों का जवाब नहीं दे सकते, तो आप अभी भी अंधेरे में prompts debug कर रहे हैं।</p><h2>एक Practical Maturity Model</h2><p>यदि आप यह evaluate करने की कोशिश कर रहे हैं कि आपका अपना system कहां खड़ा है, तो यह maturity model abstract definitions से अधिक उपयोगी है।</p><h3>Level 0: Prompt-Only</h3><p>आपके पास एक system prompt, एक user message, और शायद कुछ examples हैं।</p><p>यह narrow tasks के लिए आश्चर्यजनक रूप से अच्छा काम कर सकता है। यह जल्दी टूट जाता है जब task को fresh knowledge, persistence, या tools की जरूरत होती है।</p><h3>Level 1: Retrieval-Enhanced</h3><p>आप runtime पर documents जोड़ते हैं।</p><p>यहीं पर कई teams रुक जाती हैं। यह भी वह जगह है जहां कई teams naive chunking, ranking, और context bloat की सीमाएं देखना शुरू करती हैं।</p><h3>Level 2: Agent-Aware</h3><p>आप अब history, tool results, memory, और formatting को जानबूझकर manage करते हैं।</p><p>यह पहला level है जहां \"context engineering\" एक उपयोगी शब्द बन जाता है, क्योंकि system अब केवल prompt plus retrieval नहीं है। यह dynamically context के कई forms को assemble कर रहा है।</p><h3>Level 3: Adaptive</h3><p>System task के आधार पर context कैसे build करता है यह बदलता है।</p><p>यह कर सकता है:</p><ul><li>sources में से चुनें</li><li>पुरानी history को compress करें</li><li>memory को selectively reload करें</li><li>काम को specialized tools पर route करें</li><li>subproblems को अलग contexts में isolate करें</li></ul><p>इस बिंदु पर, context construction application के core logic का हिस्सा है।</p><h3>Level 4: Context-Native</h3><p>System context को first-class engineering surface के रूप में treat करता है।</p><p>इसके पास है:</p><ul><li>explicit context budgets</li><li>retrieval और generation evals</li><li>metadata और facet-aware navigation</li><li>memory policies</li><li>failure modes के आसपास observability</li><li>cost-aware prompt assembly</li></ul><p>यहीं सबसे मजबूत production systems जा रहे हैं।</p><h2>व्यवहार में अच्छी Context Engineering कैसी दिखती है</h2><p>यदि मुझे पूरे अनुशासन को एक checklist में reduce करना होता, तो यह इस तरह दिखता:</p><ol><li>Task से शुरू करें, prompt से नहीं। पहले define करें कि success कैसी दिखती है।</li><li>उन context sources को enumerate करें जिनकी मॉडल को जरूरत हो सकती है। Instructions, docs, tools, memory, state, policies।</li><li>Working memory को reference memory से अलग करें। सब कुछ active window में नहीं रहना चाहिए।</li><li>Intent के साथ retrieve करें। अधिक chunks बेहतर recall के समान नहीं है।</li><li>Context को structure करें ताकि मॉडल इसे जल्दी parse कर सके। Labels, sources, tables, और boundaries मायने रखते हैं।</li><li>Tools को ऐसे design करें जैसे वे prompt का हिस्सा हों, क्योंकि वे हैं।</li><li>Aggressively trim करें। यदि आप किसी human को इसे दोबारा पढ़ने के लिए नहीं कहेंगे, तो model को इसे दोबारा पढ़ने के लिए force न करें।</li><li>Retrieval और generation को अलग-अलग measure करें। अन्यथा आप गलत समस्या diagnose करेंगे।</li><li>Isolated contexts का उपयोग करें जब tasks branch हों या parallel में चल सकती हों।</li><li>Durable facts और decision traces को जानबूझकर promote करें। हर transcript long-term memory में नहीं है।</li><li>Critical context को code की तरह package करें। Instructions, policies, और graph artifacts को versioned होना चाहिए।</li><li>Context bugs को software bugs की तरह treat करें। वे observable, reproducible, और fixable होने चाहिए।</li></ol><p>इनमें से कुछ भी glamorous नहीं है। यही कारण है कि यह मायने रखता है।</p><p>Prompt engineering लोकप्रिय हुई क्योंकि यह एक shortcut की तरह लगती थी।</p><p>Context engineering मायने रखती है क्योंकि यह वास्तविक काम का वर्णन करती है।</p><h2>असली Takeaway</h2><p>AI में gravity का केंद्र बदल रहा है।</p><p>Frontier question हुआ करता था: <strong>मॉडल कितना smart है?</strong></p><p>Applied question तेजी से यह बन रहा है: <strong>Act करने से पहले मॉडल को क्या देखने को मिलता है?</strong></p><p>यह एक अलग engineering problem है। यह single prompts के बारे में कम और systems design के बारे में अधिक है। Phrasing के बारे में कम और information flow के बारे में अधिक। One-shot output quality के बारे में कम और इस बारे में अधिक कि क्या एक agent समय के साथ reliable रह सकता है।</p><p>इसीलिए context engineering एक अनुशासन के रूप में बढ़ती रहेगी। Models जितने बेहतर होते हैं, उतने ही अधिक remaining failures context failures की तरह दिखते हैं। Missing state। Wrong tool। Bad retrieval। Bloated history। Poor formatting। Conflicting evidence। Weak memory। Unbounded loops।</p><p>विडंबना यह है कि यह AI systems को classical software की तरह अधिक महसूस कराता है, कम नहीं। हम pipelines, interfaces, state machines, memory hierarchies, caches, और observability layers बनाने पर वापस आ गए हैं। नवीनता यह है कि वे सभी pieces अब एक probabilistic reasoning engine की सेवा में मौजूद हैं।</p><p>नाम नया हो सकता है। दिशा नहीं है।</p><p>Reliable AI systems उन teams द्वारा बनाए जाएंगे जो context को first-class product surface के रूप में treat करती हैं।</p><p>बाकी सभी model को flaky कहते रहेंगे।</p><hr><p><strong>References:</strong></p><p>[1] <a href=\"https://simonwillison.net/2025/Jun/27/context-engineering/\">Simon Willison. (2025, June 27). <em>Context engineering</em>.</a></p><p>[2] <a href=\"https://arxiv.org/abs/2005.11401\">Lewis, P. et al. (2020). <em>Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks</em>.</a></p><p>[3] <a href=\"https://arxiv.org/abs/2210.03629\">Yao, S. et al. (2023). <em>ReAct: Synergizing Reasoning and Acting in Language Models</em>.</a></p><p>[4] <a href=\"https://arxiv.org/abs/2410.10813\">Wu, D. et al. (2025). <em>LongMemEval: Benchmarking Chat Assistants on Long-Term Interactive Memory</em>.</a></p><p>[5] <a href=\"https://arxiv.org/abs/2307.03172\">Liu, N. F. et al. (2023). <em>Lost in the Middle: How Language Models Use Long Contexts</em>.</a></p><p>[6] <a href=\"https://arxiv.org/abs/2411.03538\">Leng, Q. et al. (2024). <em>Long Context RAG Performance of Large Language Models</em>.</a></p><p>[7] <a href=\"https://www.trychroma.com/research/context-rot\">Hong, K., Troynikov, A., and Huber, J. (2025, July 14). <em>Context Rot: How Increasing Input Tokens Impacts LLM Performance</em>.</a></p><p>[8] <a href=\"https://blog.langchain.com/the-rise-of-context-engineering\">LangChain. (2025, June 23). <em>The rise of \"context engineering\"</em>.</a></p><p>[9] <a href=\"https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/implement-tool-use\">Anthropic. <em>How to implement tool use</em>.</a></p><p>[10] <a href=\"https://jxnl.co/writing/2025/08/27/facets-context-engineering/\">Jason Liu. (2025, August 27). <em>Beyond Chunks: Why Context Engineering is the Future of RAG</em>.</a></p><p>[11] <a href=\"https://arxiv.org/abs/2407.12883\">Su, H. et al. (2025). <em>BRIGHT: A Realistic and Challenging Benchmark for Reasoning-Intensive Retrieval</em>.</a></p><p>[12] <a href=\"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/long-context-tips\">Anthropic. <em>Long context prompting tips</em>.</a></p><p>[13] <a href=\"https://platform.openai.com/docs/guides/prompt-caching\">OpenAI. <em>Prompt caching</em>.</a></p><p>[14] <a href=\"https://openai.com/index/equip-responses-api-computer-environment\">OpenAI. (2026, March 19). <em>From model to agent: Equipping the Responses API with a computer environment</em>.</a></p><p>[15] <a href=\"https://modelcontextprotocol.io/\">Model Context Protocol. <em>What is the Model Context Protocol (MCP)?</em></a></p><p>[16] <a href=\"https://www.anthropic.com/engineering/built-multi-agent-research-system\">Anthropic. (2025, June 13). <em>How we built our multi-agent research system</em>.</a></p><p>[17] <a href=\"https://blog.langchain.com/context-engineering-for-agents/\">LangChain. (2025, July 2). <em>Context Engineering</em>.</a></p><p>[18] <a href=\"https://claude.com/blog/context-management\">Anthropic. (2025, September 29). <em>Managing context on the Claude Developer Platform</em>.</a></p><p>[19] <a href=\"https://developers.openai.com/cookbook/examples/agents_sdk/context_personalization\">Okcular, E. (2026, January 5). <em>Context Engineering for Personalization - State Management with Long-Term Memory Notes using OpenAI Agents SDK</em>.</a></p><p>[20] <a href=\"https://www.anthropic.com/engineering/managed-agents\">Anthropic. <em>Scaling Managed Agents: Decoupling the brain from the hands</em>.</a></p><p>[21] <a href=\"https://www.mintlify.com/blog/how-we-built-a-virtual-filesystem-for-our-assistant\">Mintlify. (2026, March 24). <em>How we built a virtual filesystem for our Assistant</em>.</a></p><p>[22] <a href=\"https://docs.turso.tech/agentfs/introduction\">Turso. <em>AgentFS</em>.</a></p><p>[23] <a href=\"https://github.com/getzep/graphiti\">Zep. <em>Graphiti: Build Real-Time Knowledge Graphs for AI Agents</em>.</a></p><p>[24] <a href=\"https://github.com/trustgraph-ai/trustgraph\">TrustGraph. <em>The context development platform</em>.</a></p><p>[25] <a href=\"https://docs.trustgraph.ai/guides/context-cores/\">TrustGraph. <em>Working with Context Cores</em>.</a></p><p>[26] <a href=\"https://foundationcapital.com/ideas/context-graphs-ais-trillion-dollar-opportunity\">Gupta, J., and Garg, A. (2025, December 22). <em>AI's trillion-dollar opportunity: Context graphs</em>.</a></p><p>[27] <a href=\"https://foundationcapital.com/ideas/why-context-graphs-are-the-missing-layer-for-ai\">Garg, A. (2026, January 16). <em>Why context graphs are the missing layer for AI</em>.</a></p><p>[28] <a href=\"https://arxiv.org/abs/2510.21413\">Mohsenimofidi, S., Galster, M., Treude, C., and Baltes, S. (2026). <em>Context Engineering for AI Agents in Open-Source Software</em>.</a></p>",
  "source_hash": "sha256:352e42d5b8ff71176c26e2e3f9853217033b811bae4f0beaef2cc91e2401caa9",
  "model": "claude-sonnet-4-6",
  "generated_at": "2026-04-23T20:56:07.217717+00:00"
}