📌 هذا المقال يتطلب مستوى: مبتدئ
لو سألت ChatGPT سؤال طويل، وبعد شوية لقيته نسي أول كلامك، هتعرف من هنا ليه بيحصل ده بالظبط، وإزاي تتعامل معاه بدل ما تلوم النموذج. المشكلة مش إنه غبي، المشكلة إن ليه حدود لكمية النص اللي يقدر يشوفها في نفس اللحظة. الحد ده اسمه "نافذة السياق".
نافذة السياق: ليه النموذج بينسى أول المحادثة؟
المشكلة باختصار
أي نموذج لغوي — سواء ChatGPT أو Claude أو Gemini — بيقرأ نص محدود في كل طلب. لو محادثتك عدّت الحد ده، النموذج بيبدأ "يقص" من الأول علشان يفسح مكان للجديد. النتيجة إنه بيرد وكأنه معرفش الحاجة اللي قلتها في أول الكلام. ده مش نسيان بشري، ده حد تقني ثابت في التصميم.
تخيّل طاولة صغيرة (مثال للمبتدئ)
تخيّل إنك بتشتغل على طاولة صغيرة تسع 20 ورقة بس. كل ما تحط ورقة جديدة والطاولة مليانة، لازم تشيل ورقة قديمة من على الطرف التاني علشان تفضي مكان. لو حد سألك عن حاجة كانت مكتوبة في ورقة اتشالت من ساعة، هتقوله "معنديش الورقة دي دلوقتي".
النموذج بالظبط كده. الطاولة هي نافذة السياق. الأوراق هي كلماتك ورد النموذج. لما المحادثة تطول أكتر من حجم الطاولة، أقدم جزء بيقع بره، والنموذج مبيبقاش شايفه. مفيش خزنة خلفية بيرجعلها — اللي بره الطاولة، بره دماغه في اللحظة دي.
الشرح الدقيق: إيه هي نافذة السياق فعلاً
النموذج مبيقراش حروف ولا كلمات زينا. بيقسّم النص لوحدات صغيرة اسمها "توكنز" (Tokens). التوكن ممكن يكون كلمة قصيرة، أو جزء من كلمة، أو علامة ترقيم. كقاعدة تقريبية: التوكن الواحد ≈ 0.75 كلمة إنجليزية. العربي بيكلّف أكتر، غالبًا 2 إلى 3 أضعاف عدد التوكنز مقابل نفس المعنى بالإنجليزي، لأن مُقسّم التوكنز اتدرّب على إنجليزي أكتر.
نافذة السياق هي أقصى عدد توكنز يقدر النموذج يتعامل معاها في الطلب الواحد. والرقم ده بيشمل الاتنين مع بعض: كلامك أنت (المدخلات) + رد النموذج (المخرجات). يعني لو النافذة 128 ألف توكن، ده سقف للحوار كله مش لسؤالك بس.
الأحجام بتختلف بين النماذج. في وقت كتابة المقال (أواخر 2025) تقريبًا: GPT-4o حوالي 128 ألف توكن، Claude حوالي 200 ألف، وGemini 1.5 Pro يوصل لمليون وفي نسخ لحد مليونين. مليون توكن يعني تقدر تحط كتاب كامل تقريبًا في طلب واحد. بس زي ما هنشوف، الرقم الكبير له تمن.
جرّبها بنفسك: عُدّ التوكنز بسطرين كود
مكتبة tiktoken من OpenAI بتوريك كل نص بياخد كام توكن. جرّب الكود ده وشوف الفرق بين العربي والإنجليزي بعينك:
# pip install tiktoken
import tiktoken
enc = tiktoken.get_encoding("cl100k_base")
en = "The context window is the model's short-term memory."
ar = "نافذة السياق هي الذاكرة قصيرة المدى للنموذج."
print("إنجليزي:", len(enc.encode(en)), "توكن") # ~10 توكنز
print("عربي:", len(enc.encode(ar)), "توكن") # أعلى بكتير لنفس المعنى