الجلسات والذاكرة

الجلسات

كيف تعمل الجلسات

كل محادثة مع وكيل تحدث في جلسة. تُعرَّف الجلسات بمفاتيح تُشفِّر السياق, أي وكيل وأي قناة وأي دردشة.

تحتفظ الجلسات بنص كامل (JSONL يضاف إليه فقط) لجميع الرسائل واستدعاءات الأدوات والنتائج. هذا النص هو ما يمنح الوكلاء سياقاً حول المحادثة الجارية.

مفاتيح الجلسة

يتم توجيه الجلسات تلقائياً بناءً على السياق:

النمط المعنى
agent:main:main المحادثة المباشرة الرئيسية
agent:<id>:<channel>:group:<id> دردشة جماعية على قناة محددة
agent:<id>:<channel>:channel:<id> محادثة قناة/غرفة
cron:<jobId> تنفيذ مهمة مجدولة
hook:<uuid> تنفيذ مُشغَّل بـ Webhook

دورة حياة الجلسة

تتبع الرموز

تتبع الجلسات استخدام الرموز التراكمي (الإدخال والإخراج وقراءة الذاكرة المؤقتة وكتابتها) لمراقبة التكلفة وإدارة نافذة السياق.


الضغط

ما هو الضغط؟

عندما تقترب المحادثة من حد نافذة سياق النموذج، يقوم Neotask بـضغطها, تلخيص الرسائل القديمة في نظرة عامة مكثفة وبدء جلسة جديدة بذلك الملخص بالإضافة إلى الرسائل الأخيرة.

كيف يعمل

  1. الكشف, مراقبة استخدام السياق (المشغّل الافتراضي: 80% من نافذة السياق)
  2. التلخيص, تُلخَّص الرسائل القديمة في إدخال ضغط
  3. جلسة جديدة, تبدأ جلسة جديدة مع حقن الملخص في الأعلى
  4. الحفظ, تُحفظ النصوص القديمة للسجل لكنها لا تُحمَّل في السياق بعد ذلك

التكوين

الضغط اليدوي

يمكنك تشغيل الضغط يدوياً في أي وقت باستخدام أمر /compact. هذا مفيد عندما تريد إعادة ضبط السياق دون فقدان المعلومات المهمة.


الذاكرة

ذاكرة الوكيل

كل وكيل لديه نظام ذاكرة لحفظ المعلومات المهمة عبر الجلسات:

البحث المتجهي

يدعم Neotask البحث بالتشابه المتجهي في ذاكرة الوكيل:

  1. الفهرسة, تُفهرَس ملفات الذاكرة باستخدام التضمينات
  2. البحث, يستعلم الوكلاء عن الذاكرة بلغة طبيعية ("ماذا قال المستخدم عن تفضيلات API الخاصة به؟")
  3. الاستدعاء, تُرجع الذكريات ذات الصلة مرتبةً حسب التشابه

إضافة الذاكرة (LanceDB)

توفر إضافة ذاكرة LanceDB تخزيناً متجهياً متقدماً:

الاستدعاء التلقائي

عند بدء الجلسة، يمكن استدعاء الذكريات ذات الصلة تلقائياً وحقنها في سياق الوكيل. يمنح هذا الوكلاء استمرارية عبر الجلسات دون تحميل سجلات محادثة كاملة.


استمرار الجلسة

تُخزَّن جميع بيانات الجلسة محلياً:

التنظيف