لقد تمكنت من إنشاء إضافة وأداة مخصصة تتيح ذاكرة مستمرة لشخصيات الذكاء الاصطناعي في ديسكورس (Discourse AI personas). إنها تعمل بشكل جيد من خلال الاختبارات المحدودة التي أجريتها، وأردت مشاركتها إذا وجدها شخص ما مفيدة.
ما تفعله
يسمح هذا الحل لشخصيات الذكاء الاصطناعي بتذكر المعلومات الخاصة بالمستخدم عبر المحادثات.
مثال: يمكن للمستخدم أن يقول «تذكر أنني أفضل الوضع الداكن» وسيقوم الذكاء الاصطناعي بتخزين هذا التفضيل واستدعائه في التفاعلات المستقبلية.
المكونات
يتكون هذا النظام من ثلاثة أجزاء:
- الإضافة (
discourse-ai-persistent-memory)
توفر تخزينًا في الخلفية وواجهة مستخدم لتفضيلات المستخدم حيث يمكن للمستخدمين عرض ذكرياتهم أو إضافتها أو حذفها. - أداة ذكاء اصطناعي مخصصة
أداة JavaScript تمنح الشخصيات إمكانية الوصول إلى وظائف الذاكرة:
memory.set،memory.get،memory.list،memory.delete - مطالبة نظام الشخصية (Persona System Prompt)
تعليمات تخبر الذكاء الاصطناعي متى وكيف يستخدم أداة الذاكرة.
كيف يعمل
- يتم تخزين الذكريات كـ أزواج من المفاتيح/القيم في
PluginStore، ويتم تحديد نطاقها لكل مستخدم. - تقوم الإضافة بحقن وظائف الذاكرة في
ToolRunnerعبر إلحاق وحدة (module prepend). - يمكن للمستخدمين إدارة ذكرياتهم على:
/u/{username}/preferences/interface - يقوم الذكاء الاصطناعي بتحميل جميع الذكريات في السياق (وليس الاسترجاع الانتقائي).
مستودع GitHub
https://github.com/BrianCraword/discourse-ai-persistent-memory
طلب التقييم
أقدر الحصول على تعليقات حول:
- النهج المتبع في استخدام الإلحاق (prepend) للحقن في
ToolRunner - ما إذا كان تحميل جميع الذكريات مقابل الاسترجاع الانتقائي منطقيًا
- أي اعتبارات أمنية ربما فاتني ذكرها
- تحسينات جودة الكود العامة
إخلاء المسؤولية
أنا لست مبرمجًا - تم بناء هذا بمساعدة الذكاء الاصطناعي. أنا غير قادر على تقديم الدعم، ولكن نرحب بأي شخص في استخدامه أو نسخه أو تحسينه. استخدمه على مسؤوليتك الخاصة.
المطالبة (PROMPT):
## نظام الذاكرة
لديك نظام ذاكرة مستمر عبر أداة user_memory. استخدمها لتذكر الحقائق المهمة حول كل مستخدم.
### متى يتم حفظ الذكريات (SAVE):
* يذكر المستخدم التفضيلات (أسلوب الاتصال، مواضيع الاهتمام، تفضيلات التنسيق)
* يشارك المستخدم تفاصيل شخصية (المهنة، الموقع، الهوايات)
* يذكر المستخدم المشاريع أو الأهداف الجارية
* يطلب منك المستخدم صراحةً التذكر
### متى يتم استدعاء الذكريات (RECALL):
* في بداية محادثة جديدة، استدعِ user_memory بالإجراء "list" لمعرفة ما تعرفه
* عند مناقشة المواضيع التي قد تتعلق بمحادثات سابقة
### اصطلاحات مفاتيح الذاكرة:
* preference_style، preference_topics، preference_format
* personal_profession، personal_location، personal_interests
* project_YYYY_MM (على سبيل المثال، project_2026_01)
* goal_[topic] (على سبيل المثال، goal_learning_python)
### مثال على الاستخدام:
* للحفظ: `{ action: "save", key: "preference_style", value: "concise responses" }`
* للاستدعاء: `{ action: "recall", key: "personal_profession" }`
* لسرد الكل: `{ action: "list" }`
* للنسيان: `{ action: "forget", key: "old_key" }`
قم دائمًا بتحية المستخدمين العائدين عن طريق التحقق من ذكرياتهم أولاً.
---
لا يحتاج تعريف الأداة نفسه إلى تغييرات لأنه عام بالفعل - فقط قم بتحديث مثال وصف المعلمة إذا أردت:
**وصف المعلمة (key):** مفتاح الذاكرة (مثل preference_style، current_project)
هل تريد مني تعديل النبرة أو إضافة/إزالة أي حالات استخدام محددة؟
الأداة (TOOL):
الاسم: ذاكرة المستخدم (User Memory)
اسم الأداة: user_memory
الوصف:
نظام ذاكرة يسمح للذكاء الاصطناعي بحفظ واستدعاء وسرد ونسيان الحقائق حول المستخدمين.
تستمر الذكريات عبر المحادثات.
الملخص:
تخزين واستدعاء حقائق مستمرة حول المستخدم
المعلمات:
- action (سلسلة نصية) [مطلوب]
الإجراء المراد تنفيذه: save (حفظ)، recall (استدعاء)، list (سرد)، أو forget (نسيان)
- key (سلسلة نصية) [اختياري]
مفتاح الذاكرة (مثل preference_style، current_project)
- value (سلسلة نصية) [اختياري]
القيمة المراد تخزينها (مطلوبة فقط لإجراء الحفظ save)
