كل ما يعرفه Claude في الجلسة يعيش داخل context window واحدة محدودة — الملفات التي قرأها، الـ diffs التي أنشأها، رسائلك، ورسائله هو. وهي لا تمتلئ بلطف: الجلسة الطويلة المتشعّبة تصبح بهدوء أسوأ، لا أبطأ فحسب. الحل رخيص بمجرد أن تعرفه — /clear لمسح اللوح بين المهام غير المترابطة، و/compact لتلخيص مهمة طويلة، وsubagent لأي قراءة كبيرة لا تريدها أن تزحم الخيط الرئيسي. تكتبها مباشرةً في المحادثة، الأمر نفسه في Claude Desktop كما في الـ terminal؛ وعلى Desktop، بدء محادثة جديدة هو بذاته لوح نظيف.
إليك النموذج الذهني الذي يجعل كل شيء آخر يتّضح: ليس لدى Claude أي ذاكرة عن جلستك أبعد مما هو داخل context window الآن. كل ملف فتحه، وكل command شغّله، وكل رسالة أرسلها أيٌّ منكما — كله جالس في buffer واحد محدود. ليست هناك database يستشيرها بهدوء. حين يقول الناس إن جلسة طويلة «صارت أغبى»، فما حدث فعلًا أن النافذة امتلأت بالضجيج — ملفات قُرئت نصفها، ومنعطف debugging تخلّيت عنه، وثلاث نسخ من function — فغرق الإشارة المهمة. والنموذج يبذل قصارى جهده ليُعير انتباهه لكل ذلك.
فالمهارة الحقيقية ليست prompt سحريًا. إنها النظافة — أن تقرّر ما هو داخل النافذة وتفرّغه حين يكفّ عن استحقاق مكانه. ثلاث حركات تغطّي كل شيء تقريبًا:
/clear بين المهام غير المترابطة. هذه هي الكبرى. تُنهي refactor، ثم
تبدأ على bug لا علاقة له به — فتجرّ context الـ refactor كاملًا معك في الطريق.
والآن صار النموذج يوازن أربعين ملفًا لا صلة لها بسؤالك الجديد. /clear
يمسح اللوح (يبقى CLAUDE.md عندك وإعداد المشروع). مهمة جديدة، نافذة طازجة. إن
أخذت عادة واحدة من هذه الصفحة، فلتأخذ هذه.
/compact داخل مهمة طويلة واحدة. أحيانًا تطول مهمة واحدة طولًا مشروعًا — كـ
migration، أو جلسة debugging عميقة — ولا تريد أن تفقد الخيط، بل أن تتخلّص من
الزحام فقط. /compact يلخّص المحادثة حتى الآن ويتابع من الملخّص:
تبقى معك الفكرة الجوهرية وتقايض التاريخ الحرفي الذي كان يزاحم كل شيء.
subagent للقراءات الكبيرة. «اقرأ هذه الأربعين ملفًا وأخبرني أين نتحقّق من الـ tokens» هو بالضبط نوع السؤال الذي تريد إجابته ولا تريد أربعين ملفه. سلّمه إلى subagent: يقوم بالتنقيب في نافذته الخاصة ويعيد إليك التقرير في فقرة واحدة، تاركًا context الرئيسي عندك نظيفًا للتغيير الفعلي.
ويسري المنطق نفسه في الاتجاه الآخر، نحو CLAUDE.md. ولأنه يُقرأ في كل
محادثة على الإطلاق، فهو قطعة الـ context الوحيدة التي تدفع ثمنها باستمرار — لذا أبقِه
قصيرًا وصادقًا. ملف memory متضخّم ليس راحة؛ بل ضريبة دائمة على
كل نافذة ستفتحها يومًا. الـ context الرشيق ليس قيدًا تحاول الالتفاف حوله. إنه
اللعبة كلها.
لماذا يفيد معظم لحظات «Claude صار أغبى في منتصف الطريق» هي في الحقيقة «الـ context امتلأ بالضجيج».
أمثلة- ابدأ مهمة جديدة بـ
/clear. حمل context الميزة السابقة إلى مهمة لا علاقة لها بها هو أكثر طريقة شائعة تنحرف بها الجلسات. - الجأ إلى
/compactحين تملأ النافذةَ مهمةٌ طويلة واحدة — فهو يبقي الخيط لكنه يقايض التاريخ الحرفي بملخّص. - ادفع القراءات الكبيرة إلى [subagent](/ar/features/subagents/): «ابحث في الـ repo كله عن X» يُرجِع الإجابة دون أن يُلقي أربعين ملفًا في context الرئيسي عندك.
- أبقِ
CLAUDE.mdرشيقًا — فهو يُقرأ في كل محادثة، وكل سطر قديم فيه إيجار تدفعه على النافذة إلى الأبد.
أسئلة يطرحها الناس
- ما هي الـ context window؟
- الـ context window هي كل ما يستطيع Claude "رؤيته" في الجلسة دفعةً واحدة — الملفات التي قرأها، والـ diffs التي أنشأها، ورسائلك ورسائله. وهي محدودة، وليس لدى النموذج أي ذاكرة عن الجلسة أبعد مما فيها الآن.
- لماذا يبدو أن Claude يصير أسوأ خلال جلسة طويلة؟
- عادةً تكون النافذة قد امتلأت بالضجيج — ملفات قُرئ نصفها، ومنعطف تُخلّي عنه، وثلاث نسخ من function — فغرقت الإشارة المهمة. ليس أن Claude صار أغبى؛ بل إنه يُعير انتباهه لكثير من الأمور غير ذات الصلة.
- ما الفرق بين /clear و/compact؟
- `/clear` يمسح اللوح لمهمة جديدة غير مترابطة (ويبقى `CLAUDE.md` عندك). و`/compact` يلخّص مهمة طويلة واحدة ويتابع من الملخّص، فيبقي الفكرة الجوهرية ويتخلّص من التاريخ الحرفي. امسح بين المهام؛ ولخّص داخل المهمة الواحدة.
- كيف أمنع القراءات الكبيرة من زحم الـ context عندي؟
- ادفعها إلى subagent. «ابحث في الـ repo كله عن X» يُرجِع الإجابة فقط في خيطك الرئيسي، بدل أن يُلقي أربعين ملفًا في الـ context window عندك.
- هل يعمل /clear و/compact في Claude Desktop؟
- نعم — تكتبهما مباشرةً في محادثة Desktop، تمامًا كما في الـ terminal. وعلى Desktop، مجرّد بدء محادثة جديدة يمنحك نافذة طازجة لمهمة لا علاقة لها بسابقتها.