Sessions and memory

Dreaming

Dreaming هو نظام دمج الذاكرة في الخلفية في memory-core. ينقل الإشارات القوية قصيرة المدى إلى ذاكرة دائمة مع إبقاء العملية قابلة للتفسير والمراجعة.

ما يكتبه Dreaming

  • حالة الآلة في memory/.dreams/ (مخزن الاستدعاء، وإشارات المراحل، ونقاط تحقق الاستيعاب، والأقفال).
  • مخرجات قابلة للقراءة البشرية في DREAMS.md (أو dreams.md موجود) وملفات تقارير اختيارية للمراحل ضمن memory/dreaming/<phase>/YYYY-MM-DD.md.

تظل الترقية طويلة المدى تكتب فقط إلى MEMORY.md.

نموذج المراحل

يشغّل Dreaming ثلاث مراحل متعاونة في كل دورة مسح، بالترتيب: الخفيفة -> REM -> العميقة. هذه مراحل تنفيذ داخلية، وليست أوضاعًا منفصلة يضبطها المستخدم.

المرحلة الغرض كتابة دائمة
الخفيفة فرز وتجهيز المواد الحديثة قصيرة المدى لا
REM التأمل في السمات والأفكار المتكررة لا
العميقة تقييم المرشحين الدائمين وترقيتهم نعم (MEMORY.md)
المرحلة الخفيفة
  • تقرأ حالة الاستدعاء قصيرة المدى الحديثة، وملفات الذاكرة اليومية، ونصوص الجلسات المنقّحة عند توفرها.
  • تزيل الإشارات المكررة وتجهّز الأسطر المرشحة.
  • تكتب كتلة ## Light Sleep مُدارة عندما يتضمن التخزين مخرجات مضمنة.
  • تسجّل إشارات التعزيز للترتيب العميق اللاحق.
  • لا تكتب مطلقًا إلى MEMORY.md.
مرحلة REM
  • تنشئ ملخصات للسمات والتأملات من الآثار الحديثة قصيرة المدى.
  • تكتب كتلة ## REM Sleep مُدارة عندما يتضمن التخزين مخرجات مضمنة.
  • تسجّل إشارات تعزيز REM التي يستخدمها الترتيب العميق.
  • لا تكتب مطلقًا إلى MEMORY.md.
المرحلة العميقة
  • ترتّب المرشحين باستخدام تقييم موزون وبوابات عتبات (يجب أن تجتاز minScore وminRecallCount وminUniqueQueries جميعًا).
  • تعيد تحميل المقتطفات من الملفات اليومية المباشرة قبل الكتابة، بحيث تُتخطى المقتطفات القديمة أو المحذوفة.
  • تلحق الإدخالات المُرقّاة بـ MEMORY.md.
  • تكتب ملخص ## Deep Sleep في DREAMS.md، واختياريًا في memory/dreaming/deep/YYYY-MM-DD.md.

استيعاب نصوص الجلسات

يمكن لـ Dreaming استيعاب نصوص الجلسات المنقّحة في مجموعة بيانات Dreaming. عند توفرها، تغذي النصوص المرحلة الخفيفة إلى جانب إشارات الذاكرة اليومية وآثار الاستدعاء. تُنقّح المحتويات الشخصية والحساسة قبل الاستيعاب.

يوميات الأحلام

يحتفظ Dreaming بسرد يوميات الأحلام في DREAMS.md. بعد توفر مادة كافية لكل مرحلة، يشغّل memory-core دورة وكيل فرعي في الخلفية بأفضل جهد ويلحق إدخالًا قصيرًا باليوميات، مستخدمًا نموذج وقت التشغيل الافتراضي ما لم يُضبط dreaming.model. إذا لم يكن النموذج المضبوط متاحًا، تعيد دورة اليوميات المحاولة مرة واحدة باستخدام نموذج الجلسة الافتراضي؛ ولا يُعاد إجراء المحاولة عند إخفاقات الثقة أو قائمة السماح، بل تظل ظاهرة في السجلات بدلًا من الرجوع بصمت إلى إدخال عام في اليوميات.

يتوفر أيضًا مسار تعبئة تاريخية مستند إلى أدلة لأعمال المراجعة والاسترداد:

أوامر التعبئة التاريخية
  • يعاين memory rem-harness --path ... --grounded مخرجات اليوميات المستندة إلى أدلة من ملاحظات YYYY-MM-DD.md التاريخية.
  • يكتب memory rem-backfill --path ... إدخالات يوميات مستندة إلى أدلة وقابلة للتراجع في DREAMS.md.
  • يجهّز memory rem-backfill --path ... --stage-short-term مرشحين دائمين مستندين إلى أدلة في مخزن الأدلة قصيرة المدى نفسه الذي تستخدمه المرحلة العميقة العادية.
  • يزيل memory rem-backfill --rollback و--rollback-short-term عناصر التعبئة التاريخية المجهّزة تلك دون المساس بإدخالات اليوميات العادية أو الاستدعاء المباشر قصير المدى.

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

إشارات الترتيب العميق

يستخدم الترتيب العميق ست إشارات أساسية موزونة بالإضافة إلى تعزيز المراحل:

الإشارة الوزن الوصف
الصلة 0.30 متوسط جودة الاسترجاع للإدخال
التكرار 0.24 عدد الإشارات قصيرة المدى التي راكمها الإدخال
تنوع الاستعلامات 0.15 سياقات الاستعلام/اليوم المميزة التي أظهرته
الحداثة 0.15 درجة حداثة تتناقص بمرور الوقت
الدمج 0.10 قوة التكرار عبر عدة أيام
الثراء المفاهيمي 0.06 كثافة وسوم المفاهيم المستمدة من المقتطف/المسار

تضيف إصابات المرحلتين الخفيفة وREM تعزيزًا صغيرًا يتناقص مع الحداثة من memory/.dreams/phase-signals.json.

يمكن أن تُضاف نتائج التجارب الظلية فوق الدرجة الأساسية بوصفها إشارة مراجعة قبل أي كتابة دائمة: تمنح التجربة المفيدة المرشح تعزيزًا صغيرًا محدودًا، وتُبقي التجربة المحايدة ترقيته مؤجلة، وتضع التجربة الضارة علامة الرفض عليه في دورة التقييم تلك. هذه الإشارة مخصصة للتقارير فقط؛ إذ يمكنها تغيير ترتيب المرشحين أو بيانات المراجعة الوصفية، لكنها لا تكتب مطلقًا إلى MEMORY.md ولا ترقّي مرشحًا بمفردها.

تغطية تقرير التجربة الظلية في ضمان الجودة

يتضمن مختبر ضمان الجودة سيناريو مخصصًا للتقارير فقط لاستكشاف كيفية مراجعة تجربة ظلية مستقبلية في Dreaming لذاكرة مرشحة قبل الترقية: يقارن وكيل إجابة أساسية بإجابة يمكنها استخدام الذاكرة المرشحة، ثم يكتب تقريرًا محليًا يتضمن حكمًا وسببًا وعلامات مخاطر. يقتصر نطاق هذه التغطية على ضمان الجودة؛ فهي تتحقق من بقاء عنصر التقرير منفصلًا عن MEMORY.md ومن أن الوكيل لا يدّعي مطلقًا أن المرشح قد رُقّي. ولا تضيف سلوكًا إنتاجيًا للتجارب الظلية ولا تغيّر محرك الترقية في المرحلة العميقة.

يحافظ مشغّل التجربة الظلية memory-core على العقد نفسه المخصص للتقارير فقط لمسارات الشيفرة التي تحتاج إلى عنصر ثابت. يقبل المرشح، وموجّه التجربة، والنتيجة الأساسية، ونتيجة المرشح، والحكم، والسبب، وعلامات المخاطر، ومراجع الأدلة، ثم يكتب تقريرًا باستخدام promotion action: report-only. تُربط الأحكام المفيدة بتوصية promote، والأحكام المحايدة بـ defer، والأحكام الضارة بـ reject؛ ولا يكتب أي منها إلى MEMORY.md أو يطبّق ترقية المرحلة العميقة.

الجدولة

عند التمكين، يدير memory-core تلقائيًا مهمة Cron واحدة لدورة Dreaming كاملة، مع إزالة التكرار عبر مساحة عمل وقت التشغيل الأساسية وأي مساحات عمل مضبوطة للوكلاء، بحيث لا يؤدي توسيع مساحات عمل الوكلاء الفرعيين إلى استبعاد DREAMS.md وحالة الذاكرة للوكيل الرئيسي.

الإعداد الافتراضي
dreaming.frequency 0 3 * * *
dreaming.model النموذج الافتراضي

البدء السريع

تمكين Dreaming

json
{  "plugins": {    "entries": {      "memory-core": {        "config": {          "dreaming": {            "enabled": true          }        }      }    }  }}

وتيرة مخصصة لدورة المسح

json
{  "plugins": {    "entries": {      "memory-core": {        "config": {          "dreaming": {            "enabled": true,            "timezone": "America/Los_Angeles",            "frequency": "0 */6 * * *"          }        }      }    }  }}

أمر الشرطة المائلة

text
/dreaming status/dreaming on/dreaming off/dreaming help

يتطلب /dreaming on و/dreaming off حالة المالك للمتصلين عبر القنوات أو operator.admin لعملاء Gateway. أما /dreaming status و/dreaming help فهما للقراءة فقط.

سير عمل CLI

معاينة الترقية / تطبيقها

bash
openclaw memory promoteopenclaw memory promote --applyopenclaw memory promote --limit 5openclaw memory status --deep

يستخدم memory promote اليدوي عتبات المرحلة العميقة افتراضيًا ما لم تُستبدل بعلامات CLI.

تفسير الترقية

فسّر سبب ترقية مرشح معين أو عدم ترقيته:

bash
openclaw memory promote-explain "router vlan"openclaw memory promote-explain "router vlan" --json

معاينة حزمة اختبار REM

عاين تأملات REM والحقائق المرشحة ومخرجات الترقية العميقة دون كتابة أي شيء:

bash
openclaw memory rem-harnessopenclaw memory rem-harness --json

الإعدادات الافتراضية الرئيسية

توجد جميع الإعدادات ضمن plugins.entries.memory-core.config.dreaming.

enabledbooleandefault: false

تمكين دورة Dreaming أو تعطيلها.

frequencystringdefault: 0 3 * * *

وتيرة Cron لدورة Dreaming الكاملة.

modelstring

استبدال اختياري لنموذج الوكيل الفرعي ليوميات الأحلام. استخدم قيمة provider/model معيارية عند ضبط قائمة سماح allowedModels لوكيل فرعي أيضًا.

phases.deep.maxPromotedSnippetTokensnumberdefault: 160

الحد الأقصى للعدد التقديري للرموز المحتفظ بها من كل مقتطف استدعاء قصير المدى يُرقّى إلى MEMORY.md. يظل مصدر الترتيب ظاهرًا.

واجهة الأحلام

عند التمكين، تعرض علامة تبويب الأحلام في Gateway ما يلي:

  • حالة تمكين Dreaming الحالية
  • الحالة على مستوى المراحل ووجود دورة المسح المُدارة
  • أعداد العناصر قصيرة المدى والمستندة إلى أدلة والإشارات والعناصر المُرقّاة اليوم
  • توقيت التشغيل المجدول التالي
  • مسار مشهد منفصل مستند إلى أدلة لإدخالات إعادة التشغيل التاريخي المجهّزة
  • قارئ قابل للتوسيع ليوميات الأحلام ومدعوم بـ doctor.memory.dreamDiary

ذو صلة

Was this useful?
On this page

On this page