النموذج لا يتذكر. أنت من يتذكر.
النماذج اللغوية الكبيرة (LLMs) ليس لديها ذاكرة.
كنت أعتقد أن كل جلسة دردشة تخزن سياقها الخاص. كنت مخطئاً. عندما تتحدث مع LLM، فإنه لا يتذكر سؤالك الأخير ما لم تقم بإرساله مرة أخرى.
النموذج عديم الحالة (stateless). وهذا يعني أن كل طلب هو بداية جديدة.
لإنشاء محادثة، يجب عليك إدارة السجل بنفسك. تقوم بذلك عن طريق إرسال مصفوفة (array) تضم جميع الرسائل السابقة مع كل طلب جديد.
"الذاكرة" ليست سوى قائمة من الرسائل:
- المستخدم: مرحباً.
- المساعد: أهلاً بك!
- المستخدم: كيف حالك؟
إذا لم تضمن السطرين الأولين في طلبك التالي، فلن يعرف النموذج أنك قد قلت مرحباً بالفعل.
تعلمت هذا من خلال تجنب استخدام الـ SDKs. يستخدم معظم المطورين أدوات مثل Anthropic SDK لإخفاء هذا التعقيد. يقوم الـ SDK بمعالجة سجل الرسائل والترويسات (headers) نيابة عنك.
إذا كنت تريد تعلم كيفية عمل الـ LLMs، فاستخدم raw fetch بدلاً من ذلك. لا تستخدم طبقة تجريد (abstraction). عندما تدير دورة الطلب والاستجابة يدوياً، ستتمكن من رؤية كل قرار يتم اتخاذه.
تتيح لك هذه السيطرة اليدوية بناء استراتيجيات متقدمة لاحقاً، مثل:
- النوافذ المنزلقة (Sliding windows) لإدارة الدردشات الطويلة.
- التوليد المعزز بالاسترجاع (RAG).
- البحث الدلالي (Semantic search).
فهم هذه المصفوفة هو أساس تطوير الذكاء الاصطناعي. أنت من يوفر السياق. النموذج لا يعرف إلا ما ترسله.
المصدر: https://dev.to/marcochavezco/the-model-doesnt-remember-you-do-3mmk