أطلس مرن مفتوح المصدر، وهو نظام مبني على Elasticsearch الذي يحافظ على ثلاث فئات من الذاكرة للعملاء. يتكامل Atlas مع الوكلاء عبر MCP ويحافظ على عزل الذكريات لكل مستخدم. وعند تقييمها على أساس القدرة على الإجابة على الأسئلة، سجلت النتيجة 0.89 Recall@10.
يعد Atlas حلاً لمشكلة تحديد بيانات السياق المناسبة لإضافتها إلى موجه LLM الخاص بالوكيل عند التعامل مع المستخدمين الذين لديهم تاريخ طويل من التفاعل مع الوكيل. إن تحميل سجل التفاعل بأكمله ليس حلاً قابلاً للتطوير، وفقًا لـ Elastic:
الحل القياسي هو إدخال السياق السابق في نافذة السياق. وينقسم هذا إلى التكلفة، وزمن الوصول، وتأثير “الضياع في المنتصف” الموثق جيدًا، حيث تتجاهل النماذج الحقائق الموضوعة بعيدًا عن حواف الموجه. نافذة سياق 1M-token هي لوحة مسودة. إنه ليس نظام ذاكرة… ما ينقصنا هو الذاكرة طويلة المدى: مخزن مستمر يستمر حتى نهاية الجلسة، ويمتد إلى سنوات من التفاعل، ويتيح لك استرداد الحقائق حسب المحتوى، والوقت، والمستخدم.
المفهوم الأساسي في أطلس هو أن هناك ثلاثة أنواع من الذاكرة التي حددها العلم المعرفي: الذاكرة العرضية، والتي تلتقط “ما حدث”؛ الدلالية، “ما هو صحيح؛” والإجرائية “ما يصلح”. يحتفظ Atlas بمؤشرات Elasticsearch منفصلة لكل نوع من الذاكرة، نظرًا لأن كل نوع له قواعده ودورة حياته الخاصة.
يتم إنشاء الذكريات عن طريق تخزين كل إدخال مستخدم كحدث ذاكرة عرضي. هذه في الغالب فساد نفاد الذاكرة، على الرغم من أن بعضها “يصبح دليلاً على حقائق ثابتة”. ويتم ذلك عن طريق مطالبة LLM بذلك توحيد هم. سوف تحدد LLM الجديد حقائق أو الذكريات الدلالية وتخزين كل منها جملة قصيرة، إلى جانب الذكريات العرضية الداعمة كدليل، وكذلك أي حقائق سابقة تثبت الحقيقة الجديدة يحل محل.
يقوم الدمج أيضًا بتحديث الذاكرة الإجرائية بطريقتين. أولاً، من خلال إنشاء “قواعد اللعبة” الجديدة، وهي عبارة عن سلسلة من الخطوات لحل مشكلة ما. كما يقوم أيضًا بتحديث عدادات النجاح والفشل لقواعد اللعبة الموجودة. يمكن أن تؤدي هذه الأعداد إلى تحيز نتائج الاسترداد لتعزيز قواعد اللعبة الأكثر نجاحًا.
يصل الوكلاء إلى الذكريات عبر استعلام مختلط واحد عبر كل هذه المؤشرات التي تستخدم Reciprocal Rank Fusion (RRF) عبر البحث المعجمي BM25 بالإضافة إلى البحث الدلالي Jina v5؛ يتم إعادة ترتيب النتائج المدمجة باستخدام أداة إعادة الترتيب عبر التشفير. يضمن الأمان على مستوى المستند (DLS) أن الاستعلامات تبحث فقط في مستندات الذاكرة التابعة لذلك المستخدم.
في مناقشة حول Atlas على Hacker News، تساءل بعض المستخدمين عما إذا كان استخدام Elasticsearch كوحدة تخزين “مبالغة”، واقترحوا قواعد بيانات أخرى قادرة على التعامل مع المتجهات مثل SQLite. أجاب مستخدم آخر:
تبدأ “أي قاعدة بيانات متجهة أخرى” في الانهيار بمجرد احتياجك إلى أشياء مثل التسجيل المكتوب … ثم يبدأ السؤال في “هل تحتاج إلى [Approximate Nearest Neighbor] من أجل الأداء؟”… ومن المسلم به أن القوة الغاشمة تؤدي أداءً لعدد أكبر بكثير من المتجهات مما يمنحها معظم الأشخاص الفضل فيها، ولكنها بالتأكيد تصل إلى جدار أقل بكثير من مليون إذا كنت تريد أن يكون لها زمن استجابة من نوع صفحة الويب. إن الحفاظ على Elasticsearch ليس مجانيًا، ولكن اختيار قاعدة بيانات ضعيفة القوة والاضطرار إلى النقل إلى القاعدة الصحيحة يستغرق أيضًا وقتًا طويلاً.
كود مصدر أطلس متاح على GitHub.
