البحث في الذاكرة في OpenClaw
التضمينات مع الكلمات المفتاحية، ومعادلة الترتيب، وتناقص الوزن مع التقادم، والاسترجاع بالمحفزات، وما يحدث عندما يغيب المزوّد
تجد أداة البحث في الذاكرة الملاحظات ذات الصلة في ملفات ذاكرة الوكيل حتى عندما تختلف الصياغة عن النص الأصلي: فهي تقسم الذاكرة إلى أجزاء صغيرة وتبحث فيها بالتضمينات أو بالكلمات المفتاحية أو بكليهما. تضمينات OpenAI هي الخيار الافتراضي، وهناك نحو اثني عشر مزوّدًا مدعومًا، منها مزوّد محلي مدار لا يحتاج إلى مفتاح API. إليك كيف يجري البحث، والترتيب الذي تفصله الوثائق، والاسترجاع بالمحفزات الذي يعمل قبل الرد، وقواعد الرجوع الاحتياطي، وذاكرة الجلسات، وقائمة استكشاف الأخطاء وإصلاحها.
المزوّدون والمساران
- يسمي المفتاح provider واحدًا من OpenAI أو Gemini أو Voyage أو Mistral أو Bedrock أو DeepInfra أو GitHub Copilot أو Ollama أو LM Studio أو نقطة نهاية عامة متوافقة مع OpenAI، أو local الذي يثبت خادم llama.cpp موثقًا ونموذج تضمين صغيرًا حجمه نحو ثلث غيغابايت؛ ويعمل أيضًا إدخال مزوّد مخصص عندما يستخدم نوع API مدعومًا.
- يعمل مسارا استرجاع بالتوازي ثم تدمج نتائجهما: يطابق البحث المتجهي المعنى المتشابه، فيجد استعلام عن مضيف Gateway ملاحظة عن الجهاز الذي يشغل OpenClaw، ويطابق البحث بالكلمات المفتاحية BM25 المصطلحات الحرفية مثل المعرّفات ونصوص رسائل الخطأ ومفاتيح الإعداد. وإذا لم يتوفر إلا أحد المسارين، عمل ذلك المسار وحده.
- يفهرس البحث في أسماء الملفات المسارات بمعزل عن محتوى الملاحظات، فيتقدم المسار المطابق تمامًا أو اسم الملف الأساسي أو جذره على المطابقات الجزئية، بينما تظل المقتطفات مأخوذة من محتوى الملاحظات.
- تحتاج بعض نقاط النهاية المتوافقة مع OpenAI إلى أنواع إدخال غير متماثلة للاستعلامات والمستندات، ويضبطها مفتاحا إعداد.
تفقد الملاحظات القديمة وزنها في الترتيب تدريجيًا لتظهر المعلومات الحديثة أولًا.
الترتيب
يطبق المحرك المدمج معادلة حتمية: الصلة الهجينة مضروبة في تناقص الحداثة ثم في معامل الأهمية. تقيم الأهمية مرة واحدة عند كتابة الإدخال، ويكتبه مسار عمل للذاكرة يتضمن نموذجًا أصلًا، وغياب التقييم محايد. تتناقص الملاحظات اليومية المؤرخة بعمر نصف قدره ثلاثون يومًا، فتحصل ملاحظة الشهر الماضي على نصف وزنها الأصلي، بينما تبقى ملفات الذاكرة والمستخدم المنسقة والملفات غير المؤرخة صالحة على الدوام. وتنسب الوثائق نتيجة الصلة والحداثة والأهمية إلى الورقة البحثية Generative Agents، دون إضافة استدعاء نموذج وقت الاستعلام. ثم تعيد مرحلة تنويع ترتيب المرشحين الذين حصلوا على درجات لتقليل المقتطفات شبه المتطابقة، بإعداد ثابت منحاز إلى الصلة ومجموعة مرشحين محدودة، دون تغيير الدرجات أو استدعاء مزوّد. وتحفظ مطابقات الكلمات المفتاحية عندما تقع كل النتائج المرتبة دون الحد الأدنى المضبوط للدرجة، ويملأ البحث الهجين الخانات المتبقية بنتائج من الكلمات المفتاحية وحدها.
الاسترجاع بالمحفزات وقواعد الرجوع الاحتياطي
- في الجولات التفاعلية المؤهلة يقارن المحرك الرسالة الواردة بعبارات تحفيز قصيرة مخزنة على الإدخالات المفهرسة، ويمكنه إضافة ما يصل إلى ثلاثة إدخالات مختصرة إلى السياق المخفي قبل الرد؛ ولا تتأهل إلا الإدخالات الموثوقة التي تمت ترقيتها من ملفي الذاكرة والمستخدم في الجذر، ولا تحقن الملاحظات اليومية ونصوص المحادثات المستوردة ونصوص الجلسات تلقائيًا أبدًا.
- ضبط provider على none يعطل التضمينات عمدًا من أجل بحث بالكلمات المفتاحية فقط؛ أما تركه غير مضبوط أو على auto فيرجع إلى الترتيب بالكلمات المفتاحية فقط عندما يفشل إعداد التضمينات أو أحد الطلبات، وكذلك يفعل المزوّد local، وتظل الفهرسة تسجل النص للبحث بالكلمات المفتاحية قبل أول بحث.
- أما تسمية أي مزوّد آخر صراحة ثم فشله وقت الطلب فيجعل الأداة تبلغ عن الذاكرة بأنها غير متاحة بدلًا من التراجع بصمت، مما يبقي الإعداد المعطل ظاهرًا؛ والحل هو إصلاح إعداد المزوّد أو المصادقة، أو اختيار none لاسترجاع مقصود بالكلمات المفتاحية فقط.
يشرح دليل الذاكرة في OpenClaw الملفات التي يجري البحث فيها، ويشرح مقال ميزة dreaming في OpenClaw المسح الليلي الذي يقرر ما يرقى إليها، وبالتالي ما قد يحقنه الاسترجاع بالمحفزات.
ذاكرة الجلسات واستكشاف الأخطاء وإصلاحها
الاسترجاع الحرفي الكامل من نصوص المحادثات من اختصاص أداة البحث في الجلسات؛ أما فهرسة نصوص المحادثات في البحث في الذاكرة فاختيارية، وتفعل عبر علامة تجريبية وقائمة مصادر، مع خيار للمدونة النصية يقصر البحث على الملاحظات، وإعدادات ظهور قيمتها الافتراضية all، ووصول بين الوكلاء يحكمه إعداد التواصل بين الوكلاء. يمكن فهرسة الصور والصوت إلى جانب Markdown باستخدام نموذج تضمين واحد من Gemini، لكن فقط ضمن المسارات الإضافية، لا في جذور الذاكرة الافتراضية. عندما لا توجد نتائج، تحقق من حالة الفهرس وأعد بناءه؛ وعندما لا تعود إلا مطابقات الكلمات المفتاحية، فالأرجح أن مزوّد التضمينات غير مضبوط، وهو ما تظهره الحالة المفصلة؛ وعندما تنتهي مهلة التضمينات المحلية، افحص نقاط نهاية الخادم المدار قبل إعادة البناء؛ والنص بلغات CJK الذي يتعذر العثور عليه يحتاج إلى إعادة بناء قسرية للفهرس. يغطي مقال النماذج المحلية في OpenClaw النماذج المحلية التي يعمل المزوّدون المحليون إلى جانبها، ويغطي مقال الجلسات في OpenClaw نصوص المحادثات التي تفهرسها هذه الميزة الاختيارية.
على Diali
على Diali يعمل البحث في الذاكرة بأي مزوّد تضمينات يتيحه مفتاح النموذج الخاص بك، ويرجع إلى مسار الكلمات المفتاحية الذي تصفه الوثائق عندما لا يتوفر مزوّد؛ وفي الحالتين تبقى الملاحظات في مساحة العمل الدائمة للمساعد. OpenClaw المستضاف على Diali هو المساعد.
- المتجهات للمعنى، وBM25 للمصطلحات الحرفية، ثم الدمج.
- الصلة مضروبة في الحداثة وفي الأهمية؛ ويتناقص وزن الملاحظات اليومية إلى النصف كل ثلاثين يومًا.
- يبلغ عن المزوّد الصريح المعطل، ولا يخفى أبدًا.
كفاك قراءة، ابنِ وكيلك الخاص
جهز وكيلًا، واختر قناة، واجعله يعمل داخل التطبيق المفتوح لديك دائمًا.
