ذاكرة مساحة العمل v2 (غير متصلة): ملاحظات بحثية
الهدف: مساحة عمل بأسلوب Clawd (agents.defaults.workspace، الافتراضي ~/.openclaw/workspace) حيث يتم تخزين «الذاكرة» كملف Markdown واحد لكل يوم (memory/YYYY-MM-DD.md) بالإضافة إلى مجموعة صغيرة من الملفات المستقرة (مثلًا memory.md، SOUL.md).
تقترح هذه الوثيقة بنية ذاكرة تركّز على العمل دون اتصال تُبقي Markdown كمصدر الحقيقة القانوني القابل للمراجعة، مع إضافة استدعاء مُنظَّم (بحث، ملخصات كيانات، تحديثات الثقة) عبر فهرس مُشتق.
لماذا التغيير؟
الإعداد الحالي (ملف واحد لكل يوم) ممتاز من حيث:- التدوين «الإلحاقي فقط»
- التحرير البشري
- المتانة وقابلية التدقيق المعتمدة على git
- الالتقاط منخفض الاحتكاك («اكتبها فقط»)
- الاسترجاع عالي التذكّر («ماذا قررنا بشأن X؟»، «آخر مرة جرّبنا Y؟»)
- الإجابات المتمحورة حول الكيانات («أخبرني عن Alice / The Castle / warelay») دون إعادة قراءة العديد من الملفات
- استقرار الآراء/التفضيلات (والأدلة عند تغيّرها)
- قيود الزمن («ما الذي كان صحيحًا خلال نوفمبر 2025؟») وحل التعارضات وحسم الصراعات وحسم الصراعات
أهداف التصميم
- غير متصل: يعمل دون شبكة؛ يمكن تشغيله على الحاسوب المحمول/القلعة؛ بلا اعتماد سحابي.
- قابل للتفسير: يجب أن تُنسب العناصر المُسترجعة (الملف + الموضع) وأن تكون منفصلة عن الاستدلال.
- منخفض الطقوس: يظل التسجيل اليومي Markdown، دون عمل مخططات ثقيل.
- تزايدي: الإصدار v1 مفيد مع FTS فقط؛ الدلالي/المتجهات والرسوم البيانية ترقيات اختيارية.
- ملائم للوكلاء: يُسهّل «الاستدعاء ضمن حدود الرموز» (إرجاع حزم صغيرة من الحقائق).
نموذج النجم القطبي (Hindsight × Letta)
قطعتان للخلط:- حلقة تحكّم بأسلوب Letta/MemGPT
- الاحتفاظ بـ «نواة» صغيرة دائمًا ضمن السياق (الشخصية + حقائق المستخدم الأساسية)
- كل ما عدا ذلك خارج السياق ويُسترجع عبر الأدوات
- كتابات الذاكرة هي استدعاءات أدوات صريحة (إلحاق/استبدال/إدراج)، تُحفَظ ثم يُعاد حقنها في الدور التالي
- طبقة ذاكرة بأسلوب Hindsight
- فصل ما لوحظ مقابل ما يعتقد مقابل ما هو موجز
- دعم retain/recall/reflect
- آراء ذات حمولة ثقة يمكن أن تتطور مع الأدلة
- استرجاع واعٍ بالكيانات + استعلامات زمنية (حتى دون رسوم معرفة كاملة)
البنية المقترحة (Markdown كمصدر حقيقة + فهرس مشتق)
المخزن القانوني (ملائم لـ git)
الإبقاء على~/.openclaw/workspace كذاكرة قانونية مقروءة بشريًا.
تخطيط مساحة العمل المقترح:
- السجل اليومي يظل سجلًا يوميًا. لا حاجة لتحويله إلى JSON.
- ملفات
bank/مُنسّقة/مُعتنى بها، تُنتَج بواسطة مهام التأمل، ويمكن مع ذلك تحريرها يدويًا. - يظل
memory.md«صغيرًا + قريبًا من النواة»: الأشياء التي تريد أن يراها Clawd في كل جلسة.
المخزن المُشتق (استدعاء آلي)
إضافة فهرس مُشتق ضمن مساحة العمل (ليس بالضرورة متعقّبًا عبر git):- مخطط SQLite للحقائق + روابط الكيانات + بيانات وصفية للآراء
- SQLite FTS5 للاستدعاء اللفظي (سريع، صغير، غير متصل)
- جدول تضمينات اختياري للاستدعاء الدلالي (لا يزال غير متصل)
Retain / Recall / Reflect (الحلقة التشغيلية)
Retain: تطبيع السجلات اليومية إلى «حقائق»
رؤية Hindsight الأساسية ذات الصلة هنا: تخزين حقائق سردية مكتفية ذاتيًا، لا قصاصات صغيرة. قاعدة عملية لـmemory/YYYY-MM-DD.md:
- في نهاية اليوم (أو خلاله)، أضِف قسم
## Retainمع 2–5 نقاط تكون:- سردية (محافظة على سياق متعدد الأدوار)
- مكتفية ذاتيًا (مفهومة بذاتها لاحقًا)
- موسومة بالنوع + ذكر الكيانات
- بادئة النوع:
W(العالم)،B(خبرة/سيرة ذاتية)،O(رأي)،S(ملاحظة/ملخص؛ غالبًا مُولّد) - الكيانات:
@Peter،@warelay، إلخ (الـ slugs تُطابِقbank/entities/*.md) - ثقة الرأي:
O(c=0.0..1.0)اختيارية
## Retain صريح هو أسهل «رافعة جودة».
Recall: الاستعلامات عبر الفهرس المُشتق
يجب أن يدعم الاستدعاء:- لفظي: «اعثر على مصطلحات/أسماء/أوامر مطابقة» (FTS5)
- كياني: «أخبرني عن X» (صفحات الكيانات + حقائق مرتبطة بالكيانات)
- زمني: «ماذا حدث حول 27 نوفمبر» / «منذ الأسبوع الماضي»
- آراء: «ما الذي يفضّله Peter؟» (مع الثقة + الأدلة) (مع الثقة + الأدلة) (مع الثقة + الأدلة)
kind(world|experience|opinion|observation)timestamp(يوم المصدر، أو نطاق زمني مُستخرَج إن وُجد)entities(["Peter","warelay"])content(الحقيقة السردية)source(memory/2025-11-27.md#L12إلخ)
Reflect: إنتاج صفحات مستقرة + تحديث المعتقدات
التأمل مهمة مجدولة (يوميًا أو نبضultrathink) تقوم بـ:
- تحديث
bank/entities/*.mdمن الحقائق الحديثة (ملخصات الكيانات) - تحديث ثقة
bank/opinions.mdبناءً على التعزيز/التناقض - اقتراح تعديلات اختياريًا على
memory.md(حقائق «قريبة من النواة» ودائمة)
- لكل رأي:
- عبارة
- ثقة
c ∈ [0,1] - last_updated
- روابط الأدلة (معرّفات الحقائق الداعمة + المناقِضة)
- عند وصول حقائق جديدة:
- العثور على آراء مرشّحة عبر تداخل الكيانات + التشابه (FTS أولًا، التضمينات لاحقًا)
- تحديث الثقة بفروق صغيرة؛ القفزات الكبيرة تتطلب تناقضًا قويًا + أدلة متكررة
تكامل CLI: مستقل أم تكامل عميق
التوصية: تكامل عميق داخل OpenClaw، مع الحفاظ على مكتبة نواة قابلة للفصل.لماذا التكامل داخل OpenClaw؟
- OpenClaw يعرف بالفعل:
- مسار مساحة العمل (
agents.defaults.workspace) - نموذج الجلسة + النبضات
- أنماط التسجيل + استكشاف الأخطاء وإصلاحها
- مسار مساحة العمل (
- تريد أن يستدعي الوكيل نفسه الأدوات:
openclaw memory recall "…" --k 25 --since 30dopenclaw memory reflect --since 7d
لماذا فصل مكتبة رغم ذلك؟
- إبقاء منطق الذاكرة قابلًا للاختبار دون Gateway/بيئة التشغيل
- إعادة الاستخدام من سياقات أخرى (سكربتات محلية، تطبيق مكتبي مستقبلي، إلخ)
«S-Collide» / SuCo: متى نستخدمه (بحث)
إذا كان «S-Collide» يشير إلى SuCo (Subspace Collision): فهو نهج استرجاع ANN يستهدف مقايضات قوية بين الاستدعاء/الكمون باستخدام تصادمات متعلَّمة/مُنظَّمة في فضاءات فرعية (ورقة: arXiv 2411.14754، 2024). رأي عملي لـ~/.openclaw/workspace:
- لا تبدأ بـ SuCo.
- ابدأ بـ SQLite FTS + (اختياريًا) تضمينات بسيطة؛ ستحصل فورًا على معظم مكاسب تجربة المستخدم.
- فكّر في حلول فئة SuCo/HNSW/ScaNN فقط عندما:
- يكون المُتن كبيرًا (عشرات/مئات الآلاف من المقاطع)
- يصبح البحث بالتضمينات بالقوة الغاشمة بطيئًا جدًا
- تكون جودة الاستدعاء مُقيَّدة فعليًا بالبحث اللفظي
- SQLite FTS5 + مرشّحات بيانات وصفية (دون تعلّم آلي)
- الدمج + القوة الغاشمة (يعمل بشكل مدهش إذا كان عدد القطع منخفض)
- فهرس HNSW (شائع، متين؛ يحتاج ربط مكتبة)
- SuCo (بمستوى بحثي؛ جذّاب إذا وُجد تنفيذ متين يمكن تضمينه)
- ما هو أفضل نموذج تضمينات غير متصل لِـ «ذاكرة المساعد الشخصي» على أجهزتك (حاسوب محمول + مكتبي)؟
- إذا كان لديك Ollama بالفعل: أنشئ التضمينات بنموذج محلي؛ وإلا فاشحن نموذج تضمينات صغيرًا ضمن سلسلة الأدوات.
أصغر نموذج تجريبي مفيد
إذا كنت ترغب في إصدار صغير ، لا يزال مفيداً:- أضِف صفحات كيانات
bank/وقسم## Retainفي السجلات اليومية. - استخدم SQLite FTS للاستدعاء مع الاستشهادات (المسار + أرقام الأسطر).
- أضِف التضمينات فقط إذا تطلّبت جودة الاستدعاء أو الحجم ذلك.
المراجع
- مفاهيم Letta / MemGPT: «كتل الذاكرة الأساسية» + «الذاكرة الأرشيفية» + ذاكرة ذاتية التحرير مدفوعة بالأدوات.
- التقرير التقني لـ Hindsight: «retain / recall / reflect»، ذاكرة الشبكات الأربع، استخراج الحقائق السردية، تطور ثقة الآراء.
- SuCo: arXiv 2411.14754 (2024): «Subspace Collision» لاسترجاع أقرب الجيران التقريبي.