كيف تبني طبقة ذاكرة مخصصة لنموذج لغوي كبير من الصفر
يُعد بناء طبقة ذاكرة مخصصة لنموذج لغة كبير (LLM) من الصفر تحديًا مثيرًا في مجال تطوير تطبيقات الدردشة الذكية، حيث أن النماذج الافتراضية لا تحتفظ بأي ذاكرة بين الجلسات. هذا التصميم "اللا حالة" يُحسّن الأداء والسلامة، لكنه يُعقّد إمكانية تخصيص التفاعل مع المستخدم. لحل هذه المشكلة، يُقترح بناء نظام ذاكرة يعتمد على مبادئ هندسة السياق، باستخدام تقنيات متقدمة مثل استخلاص المعلومات الهيكلية، التلخيص، قواعد البيانات المتجهة، وتحديد الاستعلامات. النظام يعتمد على أربع مكونات رئيسية: الاستخراج، التضمين، الاسترجاع، والصيانة. في مرحلة الاستخراج، تُحوّل محادثات المستخدم إلى "حقائق ذاكرة" بسيطة ومستقلة باستخدام أداة مثل DSPy، حيث يتم تحديد معلومات مثل تفضيلات المستخدم أو تفاصيل شخصية. على سبيل المثال، من محادثة "أنا أحب الشاي أكثر من القهوة"، يُستخرج حقيقة "المستخدم يحب الشاي" و"لا يحب القهوة الآن". بعد الاستخراج، تُحوّل هذه الحقائق إلى متجهات باستخدام نموذج تضمين مثل text-embedding-3-small (بأبعاد 64 لتحسين السرعة والتكلفة)، ثم تُخزن في قاعدة بيانات متجهة مثل QDrant، مع فهرسة البيانات حسب معرف المستخدم لضمان العزل والسرعة. في مرحلة الاسترجاع، يُستخدم نموذج ذكي (Agent) يعتمد على نمط ReAct (الاستدلال والعمل) لاتخاذ قرارات ذكية. عند تلقي سؤال جديد، يُقيّم النموذج ما إذا كان يحتاج إلى استرجاع ذاكرة سابقة. إذا لزم الأمر، يُنشئ استعلامًا متجهيًا من السؤال ويبحث في قاعدة البيانات عن أقرب تشابهات، ثم يُضمن النتائج في السياق لتحسين إجابة النموذج. أما في مرحلة الصيانة، فيُعالج التحديث الديناميكي للذاكرة. إذا تغيرت معلومة (مثلاً: من "أحب الشاي" إلى "أكره الشاي")، لا يتم إضافة معلومة جديدة، بل تُحذف القديمة وتُستبدل بحديثة. يتم ذلك عبر نموذج عامل آخر يُقرّر ما إذا كان يجب إضافة، تحديث، حذف، أو تجاهل المعلومة الجديدة، باستخدام أدوات مخصصة في DSPy. يُعد هذا النظام مرنًا وقابلًا للتوسع، ويمكن تطويره لاستخدام قواعد بيانات رسمية (Graph) أو إضافة تسميات (Metadata) لاسترجاع أسرع، أو حتى الاعتماد على ملفات نصية بدل قواعد بيانات متجهة. كل هذه المكونات تُظهر كيف أن إدارة الذاكرة ليست مجرد تخزين، بل هي عملية ذكية تُدمج بين التحليل، التلخيص، والتفاعل الذاتي. في النهاية، يُعد هذا النموذج نموذجًا عمليًا وتعليميًا لفهم كيفية تحويل النماذج غير المُتذكرة إلى أنظمة تفاعلية وذات شخصية، مع إمكانية التخصيص والتطور مع الزمن.
