النماذج اللغوية الكبيرة· الدرس 2 من 7
- 1إزاي الـ LLM بيشتغل من جوه8 دقيقة
- 2الـ Context Window — ذاكرة الموديل المؤقتة7 دقيقة
- 3الـ Temperature والـ Sampling — التحكّم في العشوائية7 دقيقة
- 4رسائل الـ System والـ User — مين بيتكلّم7 دقيقة
- 5اختيار الموديل — الأكبر مش دايمًا الأحسن8 دقيقة
- 6اللي الـ LLM ما بيعرفش يعمله7 دقيقة
- 7التكلفة والزمن — فاتورتك بتتحسب إزاي7 دقيقة
الـ Context Window — ذاكرة الموديل المؤقتة
في سطر واحد · الـ context window هو أقصى كمية نص (tokens) الموديل يقدر يشوفها في المرة الواحدة — مدخلاتك وردّه مع بعض.
أي حاجة برّه النافذة دي كأنها مش موجودة. ده اللي بيخلّي الشات «ينسى» أول الكلام، وبيحكم تصميم أي تطبيق طويل.
تخيّل طاولة صغيرة: تحطّ عليها ورق لحد ما تتملّى. لو حطّيت ورقة جديدة، لازم تشيل واحدة قديمة. الموديل زيها بالظبط.
زي ما تقرا كتاب من خلال فتحة صغيرة في ورقة كارتون: بتزحلق الفتحة على السطور، وكل اللي جوّاها بس هو اللي شايفه دلوقتي — اللي فات برّه الفتحة كإنه مش موجود.
شات فاكر اسمك من ٣ رسايل، بس بعد ٢٠ رسالة طويلة الاسم خرج من النافذة — فبيسألك عليه تاني.
الموديل stateless — مش بيفتكر أي حاجة بين النداءات. كل «ذاكرة» الشات هي إن تطبيقك بيبعت تاريخ المحادثة كله من جديد مع كل رسالة، جوه حدّ النافذة (اللي بيتقاس بالـ tokens: رسالة الـ system + التاريخ + رسالتك الجديدة + مساحة الرد، كلهم من نفس الميزانية). لما المجموع يعدّي الحدّ، فيه حاجة لازم تتشال — أغلب التطبيقات بتقصّ أقدم الرسايل أو بتلخّصها. ولاحظ إن النافذة الكبيرة مش حل سحري: الاسترجاع من نص طويل جدًا بيضعف في النص اللي في النص (المشكلة المعروفة بـ lost in the middle)، والتكلفة بتزيد مع كل token بتبعته.
🧪 جرّب بنفسك — املا الـ context لحد ما يطفح: افتح شات جديد وقول للموديل «اسمي أسامة — افتكره». بعدين الصق نص طويل جدًا (مقال كبير أو اتنين) واطلب تلخيصه، وكرّر كذا مرة. في الآخر اسأله: «اسمي إيه؟» — مع موديل نافذته صغيرة أو تطبيق بيقصّ التاريخ، هتشوف لحظة «النسيان» بنفسك. لاحظ كمان إمتى بيبدأ يتجاهل تفاصيل من نص المحادثة مش بس أولها.
- افتراض إن الموديل «فاكر» المحادثات القديمة. مفيش أي ذاكرة جوه الموديل — لو تطبيقك مبعتش المعلومة في السياق، هي مش موجودة.
- حساب الحدّ بالحروف أو الكلمات بدل الـ tokens. العربي بالذات بياخد tokens أكتر من الإنجليزي لنفس المعنى، فالتقدير بالعين بيغلط كتير.
- نسيان إن الردّ بياخد من نفس الميزانية. لو ملّيت النافذة بالمدخلات، الموديل هيقصّ ردّه أو يقف في النص.
حطّ حدود النافذة في حساباتك من أول يوم في أي تطبيق فيه محادثة طويلة، مستندات كبيرة، أو history متراكم: هي اللي بتحدّد استراتيجية القصّ والتلخيص، وإمتى تحتاج RAG بدل ما تحشر المستند كله، وميزانية التكلفة لكل نداء.
متعقّدش التصميم على الفاضي: لو تفاعلاتك قصيرة — سؤال وجواب، تصنيف، استخراج من نص صغير — النافذة مش هتقرب من حدّها، وأي طبقة «إدارة ذاكرة» هتبقى هندسة زيادة. وبلاش تعتمد على النافذة الضخمة كبديل عن الـ retrieval لما بياناتك أكبر من أي نافذة أو بتتغيّر باستمرار.