میں نے گزشتہ ہفتے سارہ ووڈرز کا دھاگہ دیکھا اور فوراً اس کے آدھے حصے سے اتفاق کیا۔

Wooders، MemGPT (اب Letta) کے شریک تخلیق کار، [استدلال کیا کہ میموری کوئی پلگ ان نہیں ہے، یہ استعمال ہے](https://x.com/sarahwooders/status/2040121230473457921)۔ استعمال پوشیدہ فیصلے کرتا ہے کوئی بھی بیرونی ٹول کنٹرول نہیں کر سکتا: کیا کمپیکشن سے بچتا ہے، سیاق و سباق کو کیسے لوڈ کیا جاتا ہے، آیا ایجنٹ اپنی ہدایات میں ترمیم کر سکتا ہے۔ "میموری کو ایجنٹ کے استعمال میں پلگ کرنے کے لئے کہنا ایسا ہی ہے جیسے ڈرائیونگ کو کار میں پلگ کرنے کے لئے۔"

فریمنگ کے ساتھ ساتھ گزرنا آسان ہے۔ میں سیٹلڈ بیک گراؤنڈ کے طور پر ہارنس لائن کو بار بار سنتا رہتا ہوں، معائنہ کرنے کے دعوے کے طور پر نہیں۔ یہ جزوی طور پر ہے کیونکہ میں جس نصف سے متفق ہوں وہ درست ہے۔

## پوشیدہ فیصلے حقیقی ہوتے ہیں۔

[کلاؤڈ کوڈ میں ایک ملٹی لیول میموری کا درجہ بندی ہے جو ہارنس میں بنایا گیا ہے](https://docs.anthropic.com/en/docs/claude-code/memory): CLAUDE.md، سیشن اسٹیٹ، کمپیکشن رولز، سسٹم میسج انجیکشن۔ جب [Claude Code compacts](https://docs.anthropic.com/en/docs/claude-code/best-practices) 20K تک 100K-ٹوکن گفتگو کرتا ہے، تو ہارنس فیصلہ کرتا ہے کہ کیا بچتا ہے۔ کوئی بھی بیرونی ٹول اس فیصلے کو نقل یا اوور رائڈ نہیں کر سکتا۔

احمد قدوائی، جو [ورچوئل سیاق و سباق](https://github.com/virtual-context/virtual-context) بناتے ہیں، نے صارف نشست سے اسی ڈھانچے کو بیان کیا [AI اپنی زندگی کا بیشتر حصہ اپنی زندگی کے بارے میں پڑھنے میں گزارتا ہے](https://open.substack.com/pub/virtualcontext/p/ai-spends-most-of-its-life-reading)۔ ہر موڑ پورے تھریڈ کو ری پلے کر سکتا ہے، اس لیے زیادہ تر ان پٹ ٹوکنز دوبارہ پڑھنے کے لیے جاتے ہیں جو پہلے سے ہو چکا ہے۔ جب ونڈو بھر جاتی ہے تو، کمپیکشن خام تاریخ کو خلاصے سے بدل دیتا ہے۔ آپ کو غائب ہونے والی لائن آئٹم کی رسید نہیں ملتی ہے۔

ایک ہی سیشن میں، سیاق و سباق کی کھڑکی میں کیا داخل ہوتا ہے، کیا خلاصہ کیا جاتا ہے، اور کیا چھوڑا جاتا ہے اس کے بارے میں ہارنس کے انتخاب موثر میموری سسٹم ہیں۔ ووڈرز اس بارے میں درست ہیں۔

## دلیل ایک ہی استعمال کو فرض کرتی ہے۔

دھاگہ یہ نتیجہ اخذ کرتا ہے کہ آپ کو میموری کا پہلا استعمال کرنا چاہئے۔ اس نتیجے کے لیے آپ کو ایک کے اندر کام کرنے کی ضرورت ہے۔

میں نہیں کرتا میں اپنے بنیادی انٹرفیس کے طور پر کرسر کا استعمال کرتا ہوں، مخصوص کاموں کے لیے کلاڈ کوڈ، بات چیت کے لیے چیٹ جی پی ٹی، اور آٹومیشن کے لیے حسب ضرورت اسکرپٹس۔ یہ چار استعمال ہیں، ہر ایک اپنے اپنے پوشیدہ فیصلے کرتا ہے کہ کیا یاد رکھنا ہے۔

جن لوگوں سے میں بات کرتا ہوں جو ایجنٹوں کے ساتھ بناتے ہیں تین سے پانچ ٹولز استعمال کرتے ہیں۔ ہر ایک مختلف طریقے سے کمپیکٹ کرتا ہے، سیاق و سباق کو مختلف طریقے سے لوڈ کرتا ہے، مختلف طریقے سے اسٹور کرتا ہے۔ صارف ان سب کے درمیان انسانی ہم آہنگی کی پرت بن جاتا ہے۔

مزید ہارنس ایمبیڈڈ میموری کو شامل کرنے سے یہ مزید خراب ہوجاتا ہے، بہتر نہیں۔ ہر ٹول بہتر اندرونی میموری حاصل کرتا ہے۔ ان میں سے کوئی بھی متفق نہیں۔

## ایک نہیں تین خدشات

ووڈرز سیاق و سباق کی کھڑکی کے انتظام، سیشن کی حالت، اور پائیدار حالت کو ایک تصور میں سمیٹتے ہیں جسے وہ "میموری" کہتے ہیں۔ یہ فن تعمیر کے لحاظ سے الگ ہیں۔

**سیاق و سباق کی ونڈو مینجمنٹ**: اس وقت پرامپٹ میں کیا فٹ بیٹھتا ہے، کیا کمپیکٹ ہوتا ہے، ماڈل اس موڑ کو کیا دیکھتا ہے۔ یہ ایک تشویش کی بات ہے۔ ووڈرز ٹھیک کہتے ہیں۔

**سیشن کی حالت**: بات چیت میں برقرار رہتی ہے۔ یہ بھی ایک تشویش کا باعث ہے۔

**پائیدار حالت**: سیشنز، ٹولز، اور ایجنٹس میں پرووننس اور ورژننگ کے ساتھ برقرار رہتی ہے۔ یہ انفراسٹرکچر ہے، ہارنس نہیں۔

کوئی بھی کنٹرول ڈیٹرمنسٹک، اسکیما باؤنڈ، اپینڈ اونلی، کراس پلیٹ فارم سٹیٹ پیش کرنے کے ساتھ فراہم نہیں کرتا ہے۔ سیاق و سباق کا انتظام چلا رہا ہے۔ پائیدار حالت نیویگیشن ڈیٹا ہے۔ یہ ڈرائیونگ کو مطلع کرتا ہے لیکن اس کا تعلق ڈرائیو ٹرین کے اندر نہیں ہے۔

## یہاں تک کہ سیاق و سباق کو بیرونی بنایا جا سکتا ہے۔

کدوائی کا [ورچوئل سیاق و سباق](https://github.com/virtual-context/virtual-context) ایک پراکسی ہے جو آپ کے کلائنٹ اور upstream LLM API کے درمیان بیٹھتی ہے۔ کلائنٹ 20 ملین ٹوکن سیاق و سباق کی ونڈو سیٹ کرتا ہے۔ ماڈل کی اصلی ونڈو 200K ہے۔ ورچوئل سیاق و سباق ان کے درمیان کمپریس، اشاریہ جات اور صفحات۔ 52 ٹول چینز کے ساتھ 937K ٹوکن کلاڈ کوڈ پے لوڈ کیوریٹڈ سگنل کے ~65K تک گر جاتا ہے۔

[LongMemEval](https://github.com/virtual-context/virtual-context#benchmark-results) پر، ورچوئل سیاق و سباق نے مکمل خام سیاق و سباق کے ساتھ، آدھی قیمت پر، کلاڈ سونیٹ 4.5 کے مقابلے میں 95% درستگی حاصل کی۔ پراکسی کلاڈ کوڈ، کرسر، اوپن کلاؤ، یا کسی ایسے کلائنٹ کے ساتھ کام کرتی ہے جو بنیادی URL کو قبول کرتا ہے۔ VCATTACH دو کلائنٹس کو پلیٹ فارمز پر ایک ہی کمپیکٹڈ نالج بیس کا اشتراک کرنے دیتا ہے۔

میکانزم اہمیت رکھتا ہے۔ VC کنٹرول کو نظرانداز نہیں کرتا ہے۔ ہارنس اب بھی اپنے کمپیکشن اور ٹرنکیشن کے فیصلے خود کرتا ہے اور API کی درخواست کو کمپوز کرتا ہے۔ VC مداخلت کرتا ہے جو بیس-URL ری ڈائریکٹ کے ذریعے بہاو کی درخواست کرتا ہے۔ جب ہارنس گفتگو کی تاریخ کو چھوٹا کرتا ہے، VC تراشے جانے کا پتہ لگاتا ہے اور اپنے ہی پائیدار اسٹور سے بازیافت کرتا ہے۔ جو چیز ماڈل تک پہنچتی ہے وہ VC کی کیوریٹڈ ونڈو ہے، نہ کہ ہارنس کی خام پیداوار۔

ووڈرز درست کہتے ہیں کہ کوئی بھی بیرونی ٹول ہارنس کے اندرونی فیصلوں کو کنٹرول نہیں کر سکتا۔ لیکن کنٹرول اور API کے درمیان بیٹھی ایک پراکسی ان فیصلوں کا مشاہدہ کر سکتی ہے اور انہیں جزوی طور پر تبدیل کر سکتی ہے۔ کنٹرول 937K ٹوکنز اپنے ہی کمپیکشن کے بعد بھیجتا ہے۔ VC ماڈل کو 65K کیوریٹڈ سگنل بھیجتا ہے۔ کنٹرول اب بھی ٹول لوپ اور ایجنٹ کو چلاتا ہے۔ وہ پرت جو فیصلہ کرتی ہے کہ ماڈل اصل میں کیا دیکھتا ہے باہر رہتا ہے۔

یہ تین پرتیں چھوڑتا ہے، دو نہیں. کنٹرول ایجنٹ چلاتا ہے۔ ایک اختیاری سیاق و سباق کے انتظام کی پرت کنٹرول اور API کے درمیان بیٹھ سکتی ہے۔ اور ایک پائیدار ریاستی پرت ہر چیز کے نیچے بیٹھی ہے، جو کچھ درست ہے اس پر قائم رہتی ہے، قطع نظر اس کے کہ کسی بھی سیشن کے سیاق و سباق کو کس طرح منظم کیا جاتا ہے۔

## کنٹرول بمقابلہ قدر

ایک بیرونی ٹول ہارنس کے کمپیکشن فیصلوں کو کنٹرول نہیں کر سکتا۔ سچ ہے۔ لیکن سوال یہ نہیں ہے کہ کیا ریاستی پرت کمپریشن کو کنٹرول کرتی ہے۔ یہ ہے کہ آیا یہ وہ قدر فراہم کرتا ہے جو استعمال کی مقامی میموری نہیں کرتی ہے۔

زیادہ تر مقامی میموری عارضی ہے۔ لیٹا مستثنیٰ ہے: یہ ڈیزائن کے لحاظ سے سیشنوں میں میموری کو برقرار رکھتا ہے۔ لیکن یہاں تک کہ لیٹا کی میموری ٹول سے متعلق، غیر پورٹیبل، اور غیر متعین ہے۔ ایجنٹ فیصلہ کرتا ہے کہ کیا ذخیرہ کرنا ہے اور کب LLM سے چلنے والی ٹول کالز کے ذریعے، اس لیے ایک ہی گفتگو مختلف میموری کی حالتیں پیدا کر سکتی ہے۔ کرسر اسے نہیں پڑھ سکتا۔ کلاڈ کوڈ اسے نہیں پڑھ سکتا۔ ایک پائیدار ریاستی تہہ کراس پلیٹ فارم، تعین، ورژن، اور ماخذ تک ٹریس ایبل ہے۔

قیمتی ہونے کے لیے آپ کو ہارنس کو کنٹرول کرنے کی ضرورت نہیں ہے۔ آپ کو ہارنس کے فیصلوں پر زندہ رہنے کی ضرورت ہے۔ صرف منسلک، پائیدار حالت ڈیزائن کے لحاظ سے زندہ رہتی ہے۔ جب کوئی کنٹرول سیاق و سباق کو کمپیکٹ کرتا ہے، تو ریاستی تہہ مکمل ریکارڈ رکھتی ہے۔ جب آپ کل کوئی مختلف ٹول کھولتے ہیں، تو اسٹیٹ لیئر میں وہی ہوتا ہے جو آپ نے کل اسٹور کیا تھا۔

## ٹرگرنگ بمقابلہ ٹرانسپورٹ

Nicolò Boschi (Hindsight/Vectorize) [Wooders کے ساتھ متفق](https://x.com/nicoloboschi/status/2042145292632379598): "MCP کے ذریعے میموری کا استعمال کرنا اور یہ امید کرنا کہ ماڈل میموری سے معلومات کو اسٹور اور تلاش کرے گا۔" تشویش حقیقی ہے۔ اگر ماڈل کو یہ فیصلہ کرنا ہے کہ کب ذخیرہ کرنا اور بازیافت کرنا ہے، تو وہ ذخیرہ کرنا بھول سکتا ہے۔ جب یہ اہمیت رکھتا ہے تو یہ بازیافت کو چھوڑ سکتا ہے۔

MCP کے بجائے، Hindsight [hooks](https://docs.anthropic.com/en/docs/claude-code/hooks): اسکرپٹس کا استعمال کرتا ہے جو لائف سائیکل ایونٹس جیسے سیشن کے آغاز، فوری جمع کرانے، یا ٹول کی تکمیل پر خود بخود چلتے ہیں۔ کوئی LLM فیصلہ نہیں کرتا کہ انہیں برطرف کیا جائے۔ Hindsight's Claude Code پلگ ان چار لائف سائیکل ہکس کا استعمال کرتا ہے تاکہ ہر گفتگو کو خود بخود برقرار رکھا جاسکے اور ہر پرامپٹ پر خودکار یاد کیا جاسکے۔ یہ کام کرتا ہے۔

لیکن یہ دلیل دو چیزوں کو ملاتی ہے: یادداشت کیسے متحرک ہوتی ہے اور یہ کہاں رہتی ہے۔

Hindsight کے ہکس Hindsight API کو کہتے ہیں۔ وہ ہارنس کی بلٹ ان میموری پر نہیں لکھتے ہیں۔ ہکس محرک ہیں۔ بیرونی سرور اسٹوریج ہے۔ وہ علیحدگی پوری فن تعمیر ہے۔ ایک ہک جس نے کلاڈ کوڈ کی مقامی میموری کو لکھا تھا وہی حدود کا وارث ہوگا: عارضی، غیر پورٹیبل، کل کرسر کے لیے پوشیدہ۔

ہکس متحرک مسئلہ کو حل کرتے ہیں۔ وہ اسٹوریج کا مسئلہ حل نہیں کرتے ہیں۔ ہر پائیدار میموری سسٹم کو دونوں کی ضرورت ہوتی ہے۔

ہکس وسیع پیمانے پر ہیں اگرچہ عالمی طور پر دستیاب نہیں ہیں۔ کلاڈ کوڈ میں 12+ واقعات کے ساتھ ایک پلگ ان سسٹم ہے۔ کرسر کے پاس بیٹا میں 14+ ایونٹس کے ساتھ hooks.json ہے۔ اوپن کوڈ میں 20+ ایونٹس ہیں جن میں کمپیکشن کنٹرول اور سسٹم پرامپٹ انجیکشن شامل ہیں۔ کوڈیکس میں ٹول لیول ہکس کے ساتھ سیشن ہکس ہوتے ہیں۔ چیٹ جی پی ٹی اور کلاڈ ویب ایپ صرف ایم سی پی ہی رہیں گے۔ Hindsight خود بالکل ان معاملات کے لیے MCP سرور بھیجتا ہے۔

اس کا جواب ہکس ہے جہاں دستیاب ہے، MCP جہاں نہیں، دونوں ہر استعمال کے نیچے ایک ہی پائیدار ریاستی تہہ پر لکھ رہے ہیں۔ "ایم سی پی ناامید ہے" قابل اعتماد کو متحرک کرنے کے بارے میں ایک بیان ہے، اس بارے میں نہیں کہ میموری کو کہاں رہنا چاہئے۔

## پرتیں تکمیلی ہیں۔

پانچ مختلف کمپیکشن اور سیاق و سباق کے فیصلے کرنے والے پانچ ہارنسز ایجنٹ کو جو کچھ جانتا ہے اس کے پانچ مختلف ورژن تیار کرتے ہیں۔ "ڈرائیونگ" تشبیہ سیاق و سباق کے انتظام کے لیے کام کرتی ہے۔ یہ تب ٹوٹ جاتا ہے جب آپ پانچ کاریں چلاتے ہیں اور ان سب میں مستقل نیویگیشن ڈیٹا کی ضرورت ہوتی ہے۔

سیاق و سباق کا انتظام اور پائیدار ریاست مقابلہ نہیں کر رہے ہیں۔ ایک کنٹرول ایجنٹ اور ٹول لوپ کو چلاتا ہے۔ ایک سیاق و سباق کی پرت، اندر یا بیرونی، یہ انتظام کرتی ہے کہ ماڈل ہر موڑ کو کیا دیکھتا ہے۔ ایک ریاستی پرت انتظام کرتی ہے کہ سیشنز اور ٹولز میں کیا سچ ہے۔ کوئی بھی استعمال یا سیاق و سباق پراکسی قابل تصدیق سچائی، اصل، تعین، اسکیما کی توثیق، یا کراس ٹول تک رسائی کی پیشکش نہیں کرتا ہے۔ ہارنس ایمبیڈڈ میموری کی دلیل بیک وقت ہر ہارنس کے نیچے مشترکہ ریاستی پرت کی دلیل ہے۔

## جو میں بنا رہا ہوں۔

میں [Neotoma](https://neotoma.io) بنا رہا ہوں، ایک ساختی میموری کی تہہ جو کسی بھی استعمال کے نیچے رہتی ہے: entity ریزولوشن، ٹائم لائنز، پرووینس، ڈیٹرمنزم، کراس پلیٹ فارم تک رسائی۔

ان دھاگوں نے بدل دیا جو میں آگے بنا رہا ہوں۔ میں نے MCP کو واحد انضمام کی سطح سمجھا تھا۔ اب میں لائف سائیکل ایکسٹینشن لیئر کے طور پر ہکس شامل کر رہا ہوں۔ MCP بنیادی ایجنٹ انٹرفیس رہتا ہے۔

علیحدگی جان بوجھ کر کی جاتی ہے۔ MCP ایجنٹ کے معاہدے کا مالک ہے: سیشن شروع ہونے پر ایک بار بھری ہوئی ہدایات، سٹرکچرڈ سٹوریج ٹولز جو ایجنٹ پوری سیاق و سباق سے آگاہی کے ساتھ کال کرتا ہے۔ ہکس ہارنس کنٹریکٹ کے مالک ہیں: لائف سائیکل واقعات جو ایجنٹ کنٹرول نہیں کرتا ہے۔ ایک `UserPromptSubmit` ہک متعلقہ اداروں کو خود بخود بازیافت کرتا ہے اس سے پہلے کہ ایجنٹ ہر پرامپٹ دیکھے۔ `PostToolUse` ہکس ہر فائل میں ترمیم اور شیل کمانڈ کو مشاہدے کے طور پر حاصل کرتے ہیں۔ اگر ایجنٹ کا اپنا بند ہونے والا اسٹور چھوٹ گیا ہو تو ایک `سٹاپ` ہک خام گفتگو کو برقرار رکھتا ہے۔ ایک 'پری کمپیکٹ' ہک اس بات کا مشاہدہ کرتا ہے کہ ہارنس کیا ضائع کرنے والا ہے۔

نتیجہ MCP معیار کی چھت کے نیچے ایک قابل اعتماد منزل ہے۔ ہکس کے بغیر، MCP آج کی طرح کام کرتا ہے۔ ایم سی پی کے بغیر، ہکس خام مشاہدہ کیپچر فراہم کرتے ہیں لیکن کوئی ساختی ہستی نکالنا نہیں ہے۔ دونوں مل کر تعییناتی بازیافت، غیر فعال مشاہدہ، کومپیکشن بیداری، اور کریش ریکوری دیتے ہیں۔

یہ Hindsight کے نقطہ نظر سے مختلف ہے۔ Hindsight خام ٹرانسکرپٹس کو ہکس کے ذریعے حاصل کرتا ہے، پھر اداروں کو نکالنے کے لیے ایک الگ سرور سائیڈ LLM چلاتا ہے۔ اس کا مطلب ہے کہ دوسرا ماڈل فیصلہ کرتا ہے کہ کیا اہمیت ہے، اضافی لاگت اور فی آپریشن میں تاخیر کے ساتھ۔ Neotoma ہستی نکالنے والے ایجنٹ پر مبنی رکھتا ہے: وہی ماڈل جو بات چیت کو سمجھتا ہے صفر کی معمولی LLM لاگت پر نکالتا ہے۔ ہکس انٹیلی جنس نہیں بلکہ نیچے کی قابل اعتماد پرت فراہم کرتے ہیں۔

کلاڈ کوڈ، کرسر، اوپن کوڈ، اور کوڈیکس کے لیے پلگ ان اگلے ہیں۔ ہکس نیوٹوما کو لکھتے ہیں، ہارنس کی بلٹ ان میموری کو نہیں۔ یہ سب ایک ہی پائیدار ریاستی تہہ تک پہنچتے ہیں، جہاں دستیاب ہو ہکس کے ذریعے اور جہاں دستیاب نہیں وہاں MCP۔

ووڈرز ٹھیک کہتے ہیں کہ کنٹرول سیاق و سباق کا مالک ہے۔ Boschi درست ہے کہ ہکس نے MCP کو بھروسے کو متحرک کرنے پر شکست دی۔ قدوائی سے پتہ چلتا ہے کہ سیاق و سباق کے انتظام کو بھی بیرونی بنایا جا سکتا ہے۔ ان میں سے کوئی بھی سوال یہ نہیں کرتا کہ جب آپ پانچ ہارنس استعمال کرتے ہیں تو سچائی کا مالک کون ہوتا ہے۔ اس جواب کو ان سب کے نیچے رہنا ہے۔