لقد رأيت موضوع سارة وودرز الأسبوع الماضي ووافقت على الفور على نصفه.

وودرز، أحد مؤسسي MemGPT (الآن Letta)، [جادل بأن الذاكرة ليست مكونًا إضافيًا، بل هي الأداة](https://x.com/sarahwooders/status/2040121230473457921). يتخذ الحزام قرارات غير مرئية لا يمكن لأي أداة خارجية التحكم فيها: ما الذي يبقى بعد الضغط، وكيف يتم تحميل السياق، وما إذا كان بإمكان الوكيل تعديل تعليماته الخاصة. "إن طلب توصيل الذاكرة بأداة تسخير الوكيل يشبه طلب توصيل القيادة بالسيارة."

من السهل تمرير الإطار. ما زلت أسمع خط الحزام يتكرر كخلفية ثابتة، وليس كمطالبة بالفحص. ويرجع ذلك جزئيًا إلى أن النصف الذي أتفق معه هو الصحيح.

## القرارات غير المرئية حقيقية

[يحتوي كلود كود على تسلسل هرمي للذاكرة متعدد المستويات مدمج في الحزام](https://docs.anthropic.com/en/docs/claude-code/memory): CLAUDE.md، حالة الجلسة، قواعد الضغط، حقن رسائل النظام. عندما [يضغط Claude Code](https://docs.anthropic.com/en/docs/claude-code/best-practices) محادثة مكونة من 100 ألف رمز إلى 20 ألف رمز، يقرر الحزام ما سيبقى. ولا يمكن لأي أداة خارجية تكرار هذا القرار أو تجاوزه.

وصف أحمد كيدواي، الذي أنشأ [السياق الافتراضي](https://github.com/virtual-context/virtual-context)، نفس البنية من مقعد المستخدم في [يقضي الذكاء الاصطناعي معظم حياته في القراءة عن حياته](https://open.substack.com/pub/virtualcontext/p/ai-spends-most-of-its-life-reading). يمكن لكل دورة إعادة تشغيل الموضوع بالكامل، لذا فإن معظم رموز الإدخال تذهب إلى إعادة قراءة ما حدث بالفعل. عند امتلاء النافذة، يستبدل الضغط التاريخ الأولي بملخص. لا تحصل على إيصال بند لما اختفى.

خلال جلسة واحدة، فإن اختيارات الحزام حول ما يدخل إلى نافذة السياق، وما يتم تلخيصه، وما يتم إسقاطه هي نظام الذاكرة الفعال. وودرز على حق في هذا الشأن.

## تفترض الحجة وجود حزام واحد

يخلص الخيط إلى أنه يجب عليك استخدام أداة تسخير الذاكرة أولاً. هذا الاستنتاج يتطلب منك أن تعمل داخل واحد.

أنا لا. أستخدم Cursor كواجهة أساسية، وClaude Code لمهام محددة، وChatGPT للمحادثات، والبرامج النصية المخصصة للأتمتة. هذه أربعة أدوات، كل منها يتخذ قراراته غير المرئية بشأن ما يجب تذكره.

الأشخاص الذين أتحدث إليهم والذين يبنون مع الوكلاء يستخدمون ثلاث إلى خمس أدوات. يتم ضغط كل منها بشكل مختلف، وتحميل السياق بشكل مختلف، وتخزين الحالة بشكل مختلف. يصبح المستخدم طبقة المزامنة البشرية بينهم جميعًا.

إن إضافة المزيد من الذاكرة المضمنة يجعل الأمر أسوأ وليس أفضل. تحصل كل أداة على ذاكرة داخلية أفضل. لا أحد منهم يوافق.

## ثلاثة مخاوف، وليس واحدا

تقوم وودرز بدمج إدارة نافذة السياق وحالة الجلسة والحالة الدائمة في مفهوم واحد تسميه "الذاكرة". هذه متميزة معماريا.

**إدارة نافذة السياق**: ما يناسب الموجه الآن، وما يتم ضغطه، وما يراه النموذج في هذا المنعطف. هذا هو مصدر قلق تسخير. وودرز على حق.

**حالة الجلسة**: تستمر داخل المحادثة. وهذا أيضًا مصدر قلق للحزام.

**الحالة الدائمة**: تستمر عبر الجلسات والأدوات والوكلاء، مع المصدر والإصدار. هذه بنية تحتية وليست تسخير.

لا يوجد أي نظام يوفر حالة حتمية ومرتبطة بالمخطط وملحقة فقط ومشتركة بين الأنظمة الأساسية ذات المصدر. إدارة السياق هي القيادة. الحالة الدائمة هي بيانات الملاحة. إنه يعلم القيادة ولكنه لا ينتمي إلى نظام نقل الحركة.

## حتى السياق يمكن أن يكون خارجيًا

يعد [السياق الافتراضي] الخاص بـ Kidwai (https://github.com/virtual-context/virtual-context) وكيلًا يقع بين عميلك وواجهة برمجة تطبيقات LLM الأولية. يقوم العميل بتعيين نافذة سياق مكونة من 20 مليون رمز مميز. النافذة الحقيقية للنموذج هي 200 كيلو بايت. يضغط السياق الظاهري والفهارس والصفحات بينهما. تنهار حمولة Claude Code ذات 937 ألف رمز مميز مع 52 سلسلة أدوات إلى ما يقرب من 65 ألف إشارة منسقة.

في [LongMemEval](https://github.com/virtual-context/virtual-context#benchmark-results)، سجل السياق الافتراضي دقة بنسبة 95% مقابل 33% لـ Claude Sonnet 4.5 مع سياق أولي كامل، بنصف التكلفة. يعمل الوكيل مع Claude Code، أو Cursor، أو OpenClaw، أو أي عميل يقبل عنوان URL الأساسي. يتيح VCATTACH لعميلين مشاركة نفس قاعدة المعرفة المضغوطة عبر الأنظمة الأساسية.

الآلية مهمة. VC لا يتجاوز الحزام. لا يزال الحزام يتخذ قرارات الضغط والاقتطاع الخاصة به ويؤلف طلب واجهة برمجة التطبيقات (API). يعترض VC هذا الطلب من خلال إعادة توجيه عنوان URL الأساسي. عندما يقوم الحزام باقتطاع سجل المحادثة، يكتشف VC الاقتطاع ويتعافى من مخزنه الدائم. ما يصل إلى النموذج هو النافذة المنسقة لـ VC، وليس المخرجات الأولية للأداة.

وودرز على حق في أنه لا توجد أداة خارجية يمكنها التحكم في القرارات الداخلية للأداة. لكن الوكيل الموجود بين الحزام وواجهة برمجة التطبيقات (API) يمكنه مراقبة تلك القرارات وعكسها جزئيًا. يرسل الحزام 937 ألف رمزًا بعد ضغطه. يرسل VC 65 كيلو بايت من الإشارة المنسقة إلى النموذج. لا يزال الحزام يدير حلقة الأداة والوكيل. الطبقة التي تقرر ما يراه النموذج فعليًا تعيش في الخارج.

وهذا يترك ثلاث طبقات، وليس اثنتين. تسخير يدير الوكيل. يمكن أن توجد طبقة إدارة سياق اختيارية بين الحزام وواجهة برمجة التطبيقات. وتقع طبقة الحالة الدائمة تحت كل شيء، وتحافظ على ما هو صحيح بغض النظر عن كيفية إدارة سياق أي جلسة.

## التحكم مقابل القيمة

لا يمكن لأداة خارجية التحكم في قرارات ضغط الحزام. حقيقي. لكن السؤال ليس ما إذا كانت طبقة الحالة تتحكم في الضغط أم لا. هو ما إذا كان يوفر قيمة لا توفرها الذاكرة الأصلية للتسخير.

معظم الذاكرة الأصلية سريعة الزوال. Letta هو الاستثناء: فهو يحافظ على الذاكرة عبر الجلسات حسب التصميم. ولكن حتى ذاكرة Letta خاصة بالأدوات، وغير محمولة، وغير حتمية. يقرر الوكيل ما سيتم تخزينه ومتى يتم ذلك عبر استدعاءات الأدوات المستندة إلى LLM، بحيث يمكن أن تنتج نفس المحادثة حالات ذاكرة مختلفة. لا يستطيع المؤشر قراءتها. كلود كود لا يستطيع قراءته. طبقة الحالة المتينة هي عبارة عن منصة مشتركة، وحتمية، وإصدارية، ويمكن تتبعها إلى المصدر.

لا تحتاج إلى التحكم في الحزام حتى تكون ذا قيمة. أنت بحاجة إلى النجاة من قرارات الحزام. حالة الإلحاق فقط، تبقى على قيد الحياة حسب التصميم. عندما يقوم أحد الأدوات بضغط السياق، فإن طبقة الحالة تحتفظ بالسجل الكامل. عندما تفتح أداة مختلفة غدًا، فإن طبقة الحالة تحتوي على ما قمت بتخزينه بالأمس.

## التحفيز مقابل النقل

نيكولو بوشي (Hindsight/Vectorize) [متفق عليه مع Wooders](https://x.com/nicoloboschi/status/2042145292632379598): "إن استخدام الذاكرة عبر MCP والأمل في أن يقوم النموذج بتخزين المعلومات والبحث عنها من الذاكرة أمر ميؤوس منه." القلق حقيقي. إذا كان على النموذج أن يقرر متى سيتم تخزينه واسترجاعه، فمن الممكن أن ينسى التخزين. يمكنه تخطي الاسترجاع عندما يكون الأمر مهمًا.

بدلاً من MCP، يستخدم Hindsight [hooks](https://docs.anthropic.com/en/docs/claude-code/hooks): تعمل البرامج النصية التي يتم تسخيرها تلقائيًا في أحداث دورة الحياة مثل بدء الجلسة، أو الإرسال الفوري، أو إكمال الأداة. لا يقرر أي LLM ما إذا كان سيتم طردهم أم لا. يستخدم البرنامج الإضافي Claude Code الخاص بـ Hindsight أربعة خطافات لدورة الحياة للاحتفاظ التلقائي بكل محادثة والاستدعاء التلقائي لكل مطالبة. إنها تعمل.

لكن هذه الحجة تخلط بين أمرين: كيفية تحفيز الذاكرة وأين تعيش.

تستدعي خطافات Hindsight واجهة Hindsight API. إنهم لا يكتبون إلى الذاكرة المدمجة في الحزام. الخطافات هي الزناد. الخادم الخارجي هو التخزين. هذا الفصل هو العمارة بأكملها. الخطاف الذي يكتب إلى الذاكرة الأصلية لـ Claude Code سوف يرث نفس القيود: سريع الزوال، وغير محمول، وغير مرئي للمؤشر غدًا.

الخطافات تحل مشكلة التحفيز. أنها لا تحل مشكلة التخزين. يحتاج كل نظام ذاكرة متين إلى كليهما.

الخطافات متاحة على نطاق واسع، وإن لم تكن متاحة عالميًا. يحتوي Claude Code على نظام إضافي يضم أكثر من 12 حدثًا. يحتوي المؤشر على ملف Hooks.json مع أكثر من 14 حدثًا في مرحلة تجريبية. يحتوي OpenCode على أكثر من 20 حدثًا بما في ذلك التحكم في الضغط والحقن الفوري للنظام. يحتوي Codex على خطافات جلسة مع خطافات على مستوى الأداة قيد التطوير. يبقى ChatGPT وتطبيق الويب Claude لـ MCP فقط. Hindsight نفسها تشحن خادم MCP لتلك الحالات بالضبط.

الإجابة هي الخطافات حيثما تكون متاحة، وMCP حيثما لا، كلاهما يكتبان على نفس طبقة الحالة المتينة أسفل كل سرج. عبارة "MCP ميؤوس منها" هي عبارة عن إثارة الموثوقية، وليس حول المكان الذي يجب أن تعيش فيه الذاكرة.

## الطبقات متكاملة

خمسة أحزمة تتخذ خمسة قرارات مختلفة للضغط والسياق تنتج خمسة إصدارات مختلفة لما يعرفه الوكيل. إن تشبيه "القيادة" يعمل من أجل إدارة السياق. ينكسر عندما تقود خمس سيارات وتحتاج إلى بيانات ملاحية متسقة عبرها جميعًا.

إدارة السياق والحالة الدائمة لا تتنافسان. يقوم الحزام بتشغيل الوكيل وحلقة الأداة. تدير طبقة السياق، سواء كانت مدمجة أو خارجية، ما يراه النموذج في كل دورة. تدير طبقة الحالة ما هو صحيح عبر الجلسات والأدوات. لا يوجد أداة مساعدة أو وكيل سياق يوفر حقيقة يمكن التحقق منها أو مصدرها أو حتمية أو التحقق من صحة المخطط أو الوصول عبر الأدوات. إن حجة الذاكرة المضمنة في الحزام هي في الوقت نفسه حجة طبقة الحالة المشتركة أسفل كل أداة.

## ما أقوم ببنائه

أقوم ببناء [Neotoma](https://neotoma.io)، وهي طبقة ذاكرة منظمة تعيش تحت أي أداة: تحليل الكيان، والجداول الزمنية، والمصدر، والحتمية، والوصول عبر الأنظمة الأساسية.

لقد غيرت هذه المواضيع ما أقوم بإنشائه بعد ذلك. لقد تعاملت مع MCP باعتباره سطح التكامل الوحيد. أقوم الآن بإضافة خطافات كطبقة امتداد لدورة الحياة. يظل MCP هو واجهة الوكيل الأساسية.

الانفصال متعمد. تمتلك MCP عقد الوكيل: تعليمات يتم تحميلها مرة واحدة عند بداية الجلسة، وأدوات تخزين منظمة يستدعيها الوكيل بوعي سياقي كامل. تمتلك الخطافات عقد الحزام: أحداث دورة الحياة التي لا يتحكم فيها الوكيل. يقوم الخطاف "UserPromptSubmit" باسترداد الكيانات ذات الصلة تلقائيًا قبل أن يرى الوكيل كل مطالبة. تلتقط خطافات "PostToolUse" كل أمر تحرير ملف وأمر Shell كملاحظات. يؤدي خطاف "الإيقاف" إلى استمرار المحادثة الأولية في حالة تفويت المتجر الختامي الخاص بالوكيل. يراقب الخطاف "PreCompact" ما هو على وشك التخلص منه.

والنتيجة هي أرضية موثوقية تحت سقف جودة MCP. بدون خطافات، يعمل MCP كما هو الحال اليوم. بدون MCP، توفر الخطافات التقاطًا أوليًا للمراقبة ولكن لا يوجد استخراج كيان منظم. كلاهما معًا يوفران الاسترجاع الحتمي، والملاحظة السلبية، والوعي بالضغط، والتعافي من الأعطال.

وهذا يختلف عن نهج الإدراك المتأخر. يلتقط Hindsight النصوص الأولية عبر الخطافات، ثم يقوم بتشغيل LLM منفصل من جانب الخادم لاستخراج الكيانات. وهذا يعني أن النموذج الثاني يحكم على ما يهم، مع تكلفة إضافية ووقت استجابة لكل عملية. يحافظ Neotoma على اعتماد وكيل استخراج الكيان: نفس النموذج الذي يفهم المحادثة يقوم بعملية الاستخراج بتكلفة LLM هامشية صفر. توفر الخطافات طبقة الموثوقية الموجودة أسفلها، وليس الذكاء.

المكونات الإضافية لـ Claude Code، وCursor، وOpenCode، وCodex هي التالية. تكتب الخطافات إلى Neotoma، وليس إلى الذاكرة المدمجة في الحزام. تصل جميعها إلى نفس طبقة الحالة المتينة، عن طريق الخطافات حيثما تكون متاحة وMCP حيثما لا.

وودرز على حق في أن الحزام يمتلك السياق. Boschi على حق في أن الخطافات تتفوق على MCP لإثارة الموثوقية. يوضح كيدواي أنه حتى إدارة السياق يمكن أن تكون خارجية. السؤال الذي لم يتناوله أي منهم هو من يملك الحقيقة عندما تستخدم خمسة أحزمة. يجب أن تعيش هذه الإجابة تحت كل منهم.