المحتويات
- 1. الجواب المختصر — اضغطه عند حدّ فاصل، لا وفق مؤقّت
- 2. الضغط يجري على ثلاث مراحل — ما تقوله الوثائق فعلًا
- 3. ما الذي ينجو، وما الذي يختفي
- 4. التكلفة لا يحدّدها حجم سياقك
- 5. المفاضلة بين /compact و /clear و /rewind و /recap
- 6. يمكنك تحريك نافذة الضغط التلقائي بنفسك
- 7. ثلاث حالات ينقلب فيها الجدول الدوري ضدّك
- 8. في الممارسة — ما تفعله قبل الضغط أهمّ
- 9. رسالتان قد تصادفهما
- الخلاصة
- الأسئلة الشائعة
الأمر /compact في Claude Code ليس شيئًا تضغطه وفق مؤقّت. لحظة الضغط الصحيحة هي حدّ فاصل في العمل — مهمة انتهت، وأخرى على وشك أن تبدأ. والوثائق الرسمية تقول ذلك حرفيًا: شغّل /compact عند حدّ فاصل طبيعي في العمل، مثلًا بين مهمة وأخرى، بدلًا من انتظار الضغط التلقائي ليعمل في منتصف مهمة (وثائق Claude Code الرسمية، "Prompt caching").
أما قواعد مثل "اضغطه كل 30 دقيقة" أو "اضغطه متى تجاوز السياق 70%" فهي تصوّب نحو الهدف الخطأ. سيشرح بقية المقال السبب خطوة بخطوة، لكن الخلاصة السريعة هي أن تكلفة الضغط وخسارته يحدّدهما ليس متى ضغطته، بل ما الذي رميته وهل كان التخزين المؤقت دافئًا.
📌 من أين جاءت هذه المعلومات: كل مواصفة ورقم إصدار واسم إعداد أدناه جرى التحقق منه في 8 أغسطس 2026 مقابل وثائق Claude Code وملاحظات الإصدار، وأحدث إصدار حينها كان v2.1.226 بتاريخ 8 أغسطس 2026. يتحرك Claude Code بسرعة، وقد اكتسب مجال الضغط سلوكيات جديدة حتى في الإصدارات الأخيرة، إذ يتطلب /autocompact الإصدار v2.1.221 أو أحدث. تحقّق من نسختك أنت عبر claude --version .
1. الجواب المختصر — اضغطه عند حدّ فاصل، لا وفق مؤقّت
إليك جدول القرار أولًا. وهو موجود ليجعلك تقرّر بحسب الموقف لا بحسب الساعة.
✅ متى تضغطه
حين تُنهي مهمة وتكون على وشك بدء مهمة طويلة. لا يهمّ أن يكون في السياق متّسع باقٍ. الغاية هي أن تقدّم التشغيل التلقائي إلى وقت يناسبك، حتى لا يقاطعك شيء في منتصف المهمة.
🟡 متى يكون /clear هو الخيار الأفضل
حين لا تكون للمهمة التالية أي صلة بالسابقة. وإن كنت لا تحتاج حتى إلى الملخّص، فلا سبب يدعوك لدفع ثمن إنتاجه. تقولها الوثائق بوضوح: إن أردت بداية جديدة بدل الاستمرارية، فإن /clear مجاني.
🔵 متى يكون /rewind هو الخيار الأفضل
حين تريد التخلّص من الاتجاه الذي سلكته بأكمله. فالإرجاع يقتطع الجلسة إلى نقطة مخزّنة مؤقتًا بالفعل، ولذلك هو أرخص من الضغط الذي عليه أن يبني بادئة جديدة كليًا.
❌ متى لا تضغطه
في منتصف مهمة. فالتفاصيل التي كنت لا تزال تنوي استعمالها تُسحق داخل ملخّص. وكل ضغطة "على سبيل الاحتياط" تشتري لك مهمة إعادة قراءة الملفات نفسها بعدها مباشرة.
سؤال واحد يفصل بين هذه الحالات الأربع. هل ما زلت ستحتاج إلى ما أنت على وشك رميه؟ وباستعارة صياغة الوثائق نفسها، الضغط يفيدك حين يكون السياق الذي تُسقطه غير مطلوب فعلًا بعد الآن. أما الجدول الدوري الثابت فهو طريقة للتنصّل من هذا الحكم، فيصيب أحيانًا ويخطئ أحيانًا — وخسارة المرات التي يخطئ فيها أكبر من مكسب المرات التي يصيب فيها.
2. الضغط يجري على ثلاث مراحل — ما تقوله الوثائق فعلًا
قبل أن تسأل عمّا إذا كان عليك ضغطه يدويًا، عليك أن تعرف الآلية التي تعمل سواء ضغطت شيئًا أم لا. فحين يبدأ السياق بالامتلاء، لا يقفز Claude Code مباشرة إلى تلخيص المحادثة. تصف الوثائق الأمر هكذا.
"يدير Claude Code السياق تلقائيًا كلما اقتربت من الحد: يُسقط مخرجات الأدوات القديمة أولًا، ثم يلخّص المحادثة إن لزم الأمر. تُحفظ طلباتك ومقاطع الشيفرة المهمة، لكن التعليمات التفصيلية من بداية المحادثة قد تُفقد. ضع القواعد الدائمة في CLAUDE.md بدلًا من الاعتماد على سجل المحادثة." (How Claude Code works)
إذن هناك مراحل: (1) إسقاط مخرجات الأدوات القديمة، (2) تلخيص المحادثة تلقائيًا، (3) ضغطك أنت لـ /compact .
1. إسقاط مخرجات الأدوات
تبقى المحادثة سليمة ولا يسقط إلا نتائج الأدوات القديمة. ولا تفعل أنت شيئًا. تعمل هذه الطبقة قبل الوصول إلى التلخيص أصلًا.
2. الضغط التلقائي
حين لا تكفي المرحلة الأولى، تُستبدل المحادثة نفسها بملخّص. وهذه هي المعالجة نفسها التي يقوم بها /compact اليدوي؛ الفارق الوحيد هو توقيت التشغيل.
3. الضغط اليدوي /compact
وظيفته الوحيدة والحقيقية هي تقديم المرحلة الثانية إلى لحظة تناسبك. وفوق ذلك يمكنك أن تخبره بما ينبغي الاحتفاظ به — وهذا هو الفارق الآخر عن المرحلة الثانية.
هنا يكمن جوهر الجواب. فالضغط اليدوي /compact يقدّم شيئًا كان سيحدث على أي حال. ليس رافعة توفّر لك سياقًا إضافيًا كلما زدت من شدّها. وهو يستحق الضغط فقط حين يكون اختيارك للتوقيت بنفسك ذا قيمة.
⚠️ ملاحظة حول المصطلح. تسمّي عدة مقالات المرحلة الأولى "الضغط المصغّر (micro-compaction)"، لكن حتى 8 أغسطس 2026 لا تستخدم الوثائق الرسمية هذه التسمية. ما تقدّمه الوثائق هو وصف للسلوك — أن مخرجات الأدوات القديمة تُسقط أولًا. فإن بحثت عن المصطلح ولم تجد شيئًا رسميًا، فهذا هو السبب.
3. ما الذي ينجو، وما الذي يختفي
ما يحدث لـ قواعدك أثناء الضغط يتوقف كليًا على الطريقة التي حُمّلت بها. تنشر الوثائق قائمة بحسب كل آلية، وهذه هي مرتّبة.
| الآلية | بعد الضغط | معناها في الممارسة |
|---|---|---|
| مطالبة النظام ونمط الإخراج | بلا تغيير | لأنهما ليسا جزءًا من سجل المحادثة |
| ملف CLAUDE.md في جذر المشروع والقواعد غير المقيّدة بنطاق | يُعاد حقنها من القرص | أأمن مكان تضع فيه أشياءك. وهو أيضًا المكان الذي تسري فيه تعديلاتك أخيرًا (انظر القسم 8) |
| الذاكرة التلقائية | تُعاد حقنها من القرص | مصمَّمة أصلًا لتبقى عبر الجلسات، فنجاتها من الضغط أقلّ ما تفعله |
القواعد التي تحمل paths: |
تُفقد إلى أن يُقرأ ملف مطابق مرة أخرى | لإبقائها، احذف مفتاح paths: أو انقل القاعدة إلى CLAUDE.md في الجذر |
| ملف CLAUDE.md المتداخل في مجلد فرعي | يُفقد إلى أن يُقرأ ملف من المجلد نفسه مرة أخرى | مثل ما سبق، وهو أسهل غياب يمرّ دون انتباه |
| متون المهارات التي استدعيتها | يُعاد حقنها لكن بسقف | 5,000 توكن لكل مهارة و25,000 إجمالًا، ويُسقط الأقدم أولًا |
| الخطّافات (hooks) | غير معنية | لأنها تعمل كشيفرة، لا كسياق |
يخرج من هذا الجدول ثلاث نتائج عملية.
أولًا، إن كنت تتوقّع أن يجري ضغطك، فضع القواعد التي لا تحتمل فقدانها في ملف CLAUDE.md في جذر المشروع. هذه هي النقطة الوحيدة التي تكرّرها الوثائق باستمرار. أما القواعد التي تحمل paths: وملفات CLAUDE.md المتداخلة فتشتري الراحة بثمن السقوط عند كل ضغط — ولا شيء على الشاشة يخبرك أنها ذهبت.
ثانيًا، أعلى ملف المهارة هو ما يهمّ. فالاقتطاع عند إعادة الحقن يبقي بداية الملف، ولذلك فإن التعليمات المهمة في SKILL.md مكانها الأعلى. وفوق ذلك، تقول ملاحظات الوثائق عن السياق إن قائمة المهارات المحمّلة عند بدء الجلسة لا يُعاد حقنها بعد /compact ؛ ولا يُحتفظ إلا بالمهارات التي استدعيتها فعلًا.
ثالثًا، لا شيء يعلن لك ما الذي فُقد. ولهذا بالضبط يصمد المبدأ: إن كان فقدان شيء سيؤلمك، فاحتفظ به في ملف لا في المحادثة.
4. التكلفة لا يحدّدها حجم سياقك
افتراض أن "السياق الأكبر يجعل /compact أغلى" افتراض طبيعي، لكنه صحيح إلى النصف فقط. الذي يحرّك السعر فعلًا هو ما إذا كان التخزين المؤقت للمطالبة دافئًا. وهذا شرح الوثائق.
"لإنتاج الملخّص، يرسل Claude Code طلبًا منفصلًا بمطالبة النظام والأدوات والسجل نفسها، مضافًا إليها تعليمة تلخيص في النهاية. وما دام التخزين المؤقت دافئًا، يقرأ ذلك الطلب بادئتك من الذاكرة المؤقتة، فيكلّف أقلّ بكثير مما يوحي به حجم السياق، ويذهب معظم الوقت إلى توليد الملخّص. [...] وبعد استراحة أطول من عمر التخزين المؤقت، لا يبقى شيء مخزّن ليُقرأ، فيعيد طلبُ التلخيص معالجة السجل كاملًا كمدخل غير مخزّن. ولهذا يكون /compact في أغلى حالاته حين تستأنف جلسة قديمة." (Prompt caching)
هذه الفقرة وحدها أقوى حجة ضد تشغيل الضغط وفق جدول دوري.
الضغط أثناء الجلسة والتخزين المؤقت دافئ
تُقرأ البادئة من الذاكرة المؤقتة. وكل ما تشعر به هو الوقت المستغرق في كتابة الملخّص. ضغطة واحدة هنا رخيصة.
الضغط بعد استراحة والتخزين المؤقت بارد
يُعاد معالجة السجل كاملًا قبل أن يُلخَّص أي شيء. وهي أغلى لحظة ممكنة للأمر نفسه. ونيّة "دعني أرتّب أولًا في الصباح" قد تكون أسوأ حركة على الإطلاق.
الدور التالي مباشرة للضغطة
يُعاد بناء التخزين المؤقت من ملخّص قصير، ولذلك هذا الجزء ليس ثقيلًا. والانطباع بأن "الأمور تبطؤ بعد الضغط" يأتي عادةً من الحالتين أعلاه، لا من هنا.
يتوقّف عمر التخزين المؤقت على طريقة استيثاقك. فمع اشتراك Claude يُطلَب تلقائيًا عمر افتراضي مدته ساعة واحدة؛ أما عبر مفتاح API أو مزوّد سحابي فالافتراضي خمس دقائق، ويرفعه ENABLE_PROMPT_CACHING_1H=1 إلى ساعة. ما يعني أن "عدت من الغداء، دعني أشغّل /compact أولًا" يكاد يكون تشغيلًا باردًا مضمونًا على مفتاح API.
وكون /compact نفسه طلبًا كبيرًا أمر تشدّد عليه وثائق التكلفة أيضًا: "يقرأ /compact المحادثة التي يلخّصها، فضغط سياق كبير هو بحد ذاته طلب كبير. وإن أردت بداية جديدة بدل الاستمرارية، فإن /clear مجاني." (Manage costs effectively). ومن زاوية توفير التوكنات كذلك، هناك لحظات كثيرة يتفوّق فيها /clear على /compact مضغوطًا بدافع العادة.
5. المفاضلة بين /compact و /clear و /rewind و /recap
ليس /compact الطريقة الوحيدة لتخفيف سياقك. وحين تخلط بين أوامر وُجدت لأغراض مختلفة، ينتهي بك الأمر تدفع ثمن الأغلى منها.
| الأمر | سجل المحادثة | التخزين المؤقت | متى تختاره |
|---|---|---|---|
/compact [instruction] |
يُستبدل بملخّص | تُبطَل طبقة المحادثة | أنت مستمرّ، لكنك لم تعد بحاجة إلى تفاصيل السجل |
/clear [name] |
يُفرَّغ | يُعاد بناؤه بلا أي تكلفة تلخيص | المهمة التالية غير ذات صلة. أعطها اسمًا ويعيدها /resume |
/rewind |
يُقتطع رجوعًا إلى نقطة سابقة | يصيب التخزين المؤقت الأقدم | تريد إزالة الاتجاه كلّه. ويمكن إرجاع الشيفرة معه |
/recap |
لا يُمسّ، إذ يعرض ملخّصًا فقط | يبقى كما هو | تريد فقط أن تقرأ "أين وصلنا حتى الآن" |
/context [all] |
لا يُمسّ | يبقى | قِس قبل أن تضغط أي شيء. عرض ملوّن لما يشغل المساحة |
يستحق /recap أن تتذكّره. فكثيرون يضغطون /compact لأن "المحادثة صارت طويلة، وأودّ تلخيصها" — وهذا الغرض لا يستدعي تدمير السجل. وبحسب الوثائق، لا يفعل /recap سوى إلحاق ملخّص كمخرج أمر، فتبقى البادئة المخزّنة مؤقتًا سليمة.
وطبيعة /rewind لا تقلّ أهمية. تشرح الوثائق أن الإرجاع يعيدك إلى المحتوى نفسه الذي خُزّن مؤقتًا عند تلك النقطة، فيصيب الطلب التالي التخزين المؤقت الأقدم. وحين تكون قد سلكت الاتجاه الخطأ، فالجواب الصحيح هو /rewind لا /compact — لأن الضغط يبني بادئة جديدة، بينما الإرجاع يعود إلى بادئة موجودة أصلًا. ولنقاط التحقق والإرجاع مقال خاص بها.
6. يمكنك تحريك نافذة الضغط التلقائي بنفسك
قبل أن تتعذّب في السؤال عمّا إذا كنت ستضغطه يدويًا، من المفيد أن تعرف أنك تستطيع تحريك النقطة التي ينطلق عندها التشغيل التلقائي. فمنذ الإصدار v2.1.221 فصاعدًا، يتيح لك الأمر /autocompact تحديد مقدار امتلاء السياق الذي يبدأ عنده الضغط التلقائي.
ضبط النافذة على 500K توكن، ويُحفظ في إعدادات المستخدم فيسري على الجلسات اللاحقة أيضًا
/autocompact 500k
العودة إلى الافتراضي المناسب للنموذج
/autocompact auto
المدى المقبول هو من 100K إلى 1M توكن. يمكنك كتابة رقم صريح مثل 200000 ، أو قيمة بلاحقة مثل 500k أو 1M ، أو رقمًا مجرّدًا بين 100 و1000 مثل 200 فيُقرأ بالآلاف. ويمكن أن يأتي الإعداد من أربعة مواضع، وأولويتها ثابتة.
1. متغيّر البيئة، وهو الأعلى
المتغيّر CLAUDE_CODE_AUTO_COMPACT_WINDOW . ما دام مضبوطًا فهو يتجاوز الأمر والراية وملف الإعدادات
2. راية التشغيل
الأمر claude --autocompact 500k . يسري على تلك الجلسة وحدها ولا يغيّر إعداداتك المحفوظة
3. الأمر نفسه
الأمر /autocompact . يكتب القيمة في autoCompactWindow ضمن إعدادات المستخدم
4. ملف الإعدادات
المفتاح autoCompactWindow . وإن كان لدى مؤسستك إعداد مُدار فوقه، فذاك هو الذي يفوز
⚠️ متغيّر البيئة هو الوحيد ذو الصيغة المختلفة. تنصّ الوثائق صراحة على أن CLAUDE_CODE_AUTO_COMPACT_WINDOW لا يقبل إلا عددًا صحيحًا مجرّدًا، وأن قيمة مثل 500k تُقرأ 500 ثم تُقصَر إلى الحد الأدنى 100K. فإن كتبته بالطريقة نفسها التي تكتب بها الأمر، تكون قد طلبت جزءًا من ألف مما قصدت، ثم رُفعت قسرًا إلى ضغط أكثر تكرارًا بكثير.
وهناك تحذير ثانٍ في الموضع نفسه. القيمة used_percentage في شريط الحالة تقيس دائمًا مقابل نافذة السياق الكاملة للنموذج، فبمجرد ضبطك لهذا المتغيّر لم تعد تلك النسبة تخبرك متى سينطلق الضغط. وهنا بالضبط ينهار أسلوب "راقب النسبة واضغطه يدويًا".
والافتراضي، حين لا تضبط أي نافذة إطلاقًا، موثّق أيضًا. فمن دون أي إعداد، يحدث الضغط عند بلوغ حدّ السياق للنموذج، مع استثناءات: الجلسات السحابية تُضغط مبكرًا كلما اقتربت من الحد، ويُضغط Sonnet 4.6 و Opus 4.6 بلا سياق ممتدّ عند حدّ 200K، ويسلك Opus 4.8 و Opus 5 العاملان بسياق 200K على Amazon Bedrock أو Agent Platform من Google Cloud أو Microsoft Foundry السلوك نفسه، بينما ينطلق Sonnet 5 عند العتبة الافتراضية الخاصة بذلك النموذج.
ويمكنك أيضًا إيقاف الضغط التلقائي كليًا، عبر الإعداد autoCompactEnabled وقيمته الافتراضية true ويظهر باسم "Auto-compact" في /config ، أو عبر متغيّر البيئة DISABLE_AUTO_COMPACT . لكن هذا غير مُوصى به. فإيقافه لا يقلّص شيئًا؛ يصطدم السياق بالسقف ببساطة، وتكون قد استبدلت بالضغط خطأ "Prompt is too long". الضغط التلقائي ميزة تحميك، لا ميزة تعترض طريقك.
7. ثلاث حالات ينقلب فيها الجدول الدوري ضدّك
بهذه التفاصيل في اليد، يتّضح أين يخسر أسلوب "اضغطه بانتظام وحسب" مالك.
1. ضغطه في منتصف مهمة
التفاصيل التي كنت لا تزال ستستعملها تُسحق داخل الملخّص. وفوق ذلك تسقط قواعد paths: وملفات CLAUDE.md المتداخلة، فيبدأ العمل التالي مباشرة في مخالفة قواعدك بهدوء. إنه نوع من التدهور يصعب رؤية سببه.
2. ضغطه أول شيء بعد استراحة
انتهت صلاحية التخزين المؤقت، فتُعاد معالجة السجل كاملًا قبل تلخيصه. وهي أغلى لحظة للأمر /compact نفسه — والنيّة الحسنة "دعني أرتّب قبل أن أبدأ" تمشي إليها مباشرة.
3. ضغطه في جلسة قصيرة
بلا سجل يستحق التلخيص، لن تحصل إلا على Not enough messages to compact. ويحدث ذلك أيضًا حين يملأ لصق ضخم واحد السياق — وهناك يكون الجواب الصحيح /clear لا ملخّصًا.
اقلب ذلك تحصل على القاعدة: أعلى ضغطة يدوية قيمةً هي تلك التي تسبق مباشرة بدء عمل طويل. فالضغط هناك يخفّض احتمال أن يقاطعك الضغط التلقائي في منتصف الطريق. القيمة في التوقيت، لا في العدد.
8. في الممارسة — ما تفعله قبل الضغط أهمّ
ما يُحدث فرقًا حقيقيًا مع /compact ليس كيف تضغطه بل ما الذي تُثبته في ملفات قبل أن تفعل. وكما يبيّن جدول القسم 3، يُعاد حقن ملف CLAUDE.md في جذر المشروع والذاكرة التلقائية من القرص. وأي شيء مكتوب هناك ينجو من أي عدد من عمليات الضغط.
وهناك خاصية أخرى يُغفَل عنها. تعديل CLAUDE.md أثناء الجلسة لا يسري في حينه. تصوغها الوثائق هكذا: "التعديلات لا تُبطل التخزين المؤقت، لكنها أيضًا لا تسري. ويُحمَّل المحتوى الجديد عند /clear أو /compact أو إعادة التشغيل التالية." وبقراءة معكوسة، هذا يعني أن /compact هو أيضًا العملية التي تجعل القواعد التي قرّرتها أثناء الجلسة تسري فعلًا.
قائمة تحقّق لما قبل الضغط
- هل كتبت قواعد هذه الجلسة وقراراتها في ملف؟ فكل ما يوجد في المحادثة فقط يخفّ أثره في الملخّص
- هل أخبرته بما ينبغي الاحتفاظ به؟ يمكنك تسليمه بؤرة تركيز، كما في
/compact keep the auth fix plan and the test results - هل المهمة التالية استمرار حقيقي لما سبق؟ فإن كانت غير ذات صلة، فإن
/clearأرخص - هل التخزين المؤقت دافئ الآن؟ تجنّب اللحظة التي تلي استراحة طويلة
- عند الشك، شغّل
/contextوقِس ما الذي يشغل المساحة فعلًا
وهنا النقطة التي يفوّتها أكثر من غيرها من يفكّر في الضغط اليدوي. فعادة "أضغطه بنفسي استباقيًا لأنني أخشى أن يُضغط من ورائي فأفقد خيط الحديث" شائعة بما يكفي. لكن الوثائق تقول هذا مباشرة بعد شرح الضغط التلقائي: للتحكّم فيما يُحفظ عبر الضغط، أضف قسم "Compact Instructions" إلى ملف CLAUDE.md لديك، أو شغّل /compact مع بؤرة تركيز (How Claude Code works).
بعبارة أخرى، تحديد بؤرة التركيز ليس امتيازًا للضغط اليدوي وحده. ضعه في CLAUDE.md فيسري أيضًا على الضغط الذي يجري وأنت بعيد عن مكتبك. وإن كانت الغاية من روتينك اليدوي الاستباقي هي أن تقرّر كيف يُقلَّم السياق، فإن هذه هي النسخة التي تعمل فعلًا — إذ لا ينفعك الروتين اليدوي إلا وأنت تنظر.
وكتابته ليست صعبة. ومثال الوثائق نفسه يبدو هكذا.
تعليمات الضغط الافتراضية الموضوعة في CLAUDE.md، مثال من الوثائق الرسمية
# Compact instructions
When you are using compact, please focus on test output and code changes
وللفائدة، هكذا يدير هذا الموقع الأمر. يحمل ملف CLAUDE.md في مستودع هذه المدونة قاعدتين منذ وقت طويل: "اقترح /compact على المستخدم متى صار السياق طويلًا"، و"قبل تشغيل /compact ، احفظ في الذاكرة كل ما ينبغي أن يصير قاعدة، من ملاحظات وقرارات منهجية". وهذا المقال نفسه كُتب في جلسة مرّت بعملية ضغط. وفي الاستعمال اليومي، ليست القاعدة الأولى هي التي تستحق مكانها، بل الثانية. فإخراج ما يستحق البقاء إلى ملفات مسبقًا ينجح بثبات أكبر بكثير من الاجتهاد في تشكيل الملخّص.
وثمة أمر آخر يستحق الإضافة: ليس /compact الطريقة الوحيدة لتقليص السياق. توصي إرشادات التكلفة الرسمية بـ تفويض العمل ذي المخرجات الثقيلة — تشغيل الاختبارات، وجلب الوثائق، ومعالجة السجلات — إلى وكلاء فرعيين. فالوكيل الفرعي له نافذة سياق خاصة به ولا يعيد إلا ملخّصًا، فلا يتضخّم السياق الرئيسي أصلًا. وترتيب الأمور بحيث لا تحتاج إلى الضغط أفضل من أن تُحسن الضغط.
9. رسالتان قد تصادفهما
هناك رسالتان قد تصطدم بهما عمليًا، ومعناهما أقلّ وضوحًا مما ينبغي.
| الرسالة | ماذا تعني | ماذا تفعل |
|---|---|---|
Not enough messages to compact. |
لا توجد محادثة تستحق التلخيص. ويحدث ذلك أيضًا حين يملأ لصق ضخم واحد السياق | ابدأ من جديد بـ /clear |
Autocompact is thrashing: the context refilled to the limit... |
نجح الضغط، لكن ملفًا ضخمًا أو مخرجات أداة أعادت ملء السياق بعدها مباشرة، وتكرّر ذلك عدة مرات. وقد توقّف تفاديًا لحلقة لا تنتهي | الخطوات الأربع المذكورة أدناه، بترتيب الوثائق الموصى به |
وعلاج الثانية مذكور بالترتيب في الوثائق. (1) اقرأ الملفات الضخمة على أجزاء، بنطاق أسطر أو بحسب الدوال. (2) اضغط بتعليمة تسمّي المخرجات التي تريد إسقاطها، مثل /compact keep only the plan and the diff . (3) انقل ذلك العمل إلى وكيل فرعي ليعمل في نافذة سياق منفصلة. (4) وإن لم تعد المحادثة السابقة مطلوبة، استخدم /clear . والجزء الكاشف هو أن الخطوة الأولى تأتي أولًا: فالوثائق تقول عمليًا إن هذه ليست مشكلة ضغط، بل مشكلة قراءة.
الخلاصة
لست بحاجة إلى تشغيل /compact يدويًا وفق جدول دوري. فالضغط التلقائي يعمل سواء فعلت أم لا، وهو المعالجة نفسها. وضغطه بنفسك يشتري لك شيئين اثنين بالضبط — اختيار التوقيت، وتحديد ما يُحتفظ به — وكلاهما يؤتي ثمرته في موضع واحد: بين مهمة وأخرى.
ومن ناحية التكلفة، يخسر الجدول الدوري أيضًا. فسعر الضغط تحدّده حرارة التخزين المؤقت، ولذلك يكون "دعني أرتّب قبل أن أبدأ" بعد الاستراحة أغلى نسخة منه. فإن كانت بداية جديدة تكفي، فإن /clear مجاني؛ وإن كنت تغيّر الاتجاه، فإن /rewind أرخص لأنه يعود إلى تخزين مؤقت موجود؛ وإن كنت تريد قراءة ملخّص فقط، فإن /recap يترك السجل وشأنه. واختيار الأمر الصحيح من الأربعة أنفع من ضغط الأمر نفسه مرات أكثر.
غير أن أكثر النتائج عملية تقع خارج مسألة كيفية الضغط. كل ما لا تحتمل فقدانه مكانه ملف، لا محادثة. فملف CLAUDE.md في جذر المشروع والذاكرة التلقائية يُعاد حقنهما من القرص، بينما تسقط قواعد paths: وملفات CLAUDE.md المتداخلة في صمت. ومعرفة هذا التباين هي ما يفصل بين جلسة طويلة تصمد وأخرى تتدهور بهدوء.
الأسئلة الشائعة
س1. إذن كل كم دقيقة ينبغي أن أضغط /compact ؟
لا ينبغي أن يُحسم الأمر بالوقت إطلاقًا. اللحظة الموصى بها الوحيدة هي بعد انتهاء مهمة مباشرة وقبل أن تبدأ المهمة الطويلة التالية. تقول الوثائق "عند حدّ فاصل طبيعي في العمل، مثلًا بين مهمة وأخرى"، ولا تعطي أي عتبة زمنية أو نسبة مئوية.
س2. هل لا بأس بترك كل شيء للضغط التلقائي؟
التلقائي واليدوي هما المعالجة نفسها؛ التوقيت وحده يختلف. والمشكلة أن التلقائي قد يقاطعك في منتصف المهمة. وضغطه مرة واحدة يدويًا قبل مرحلة عمل طويلة يخفّض احتمال تلك المقاطعة. ويمكنك أن تعطي التلقائي تعليمات أيضًا — اكتبها في CLAUDE.md تحت عنوان # Compact instructions فتسري على الضغط الذي يجري وأنت بعيد عن مكتبك، انظر القسم 8.
س2-2. بعد أن ضغط من تلقاء نفسه، صرت أشعر أن تعليماتي لم تعد تصل
لست تتوهّم. تنصّ الوثائق على أن "التعليمات التفصيلية من بداية المحادثة قد تُفقد". وفوق ذلك، تسقط قواعد paths: وملفات CLAUDE.md المتداخلة إلى أن يُقرأ الملف المطابق مرة أخرى، وتُسقط المهارات المستدعاة من الأقدم فالأحدث متى تجاوزت 25,000 توكن إجمالًا. والمسألة ليست اختفاء محتوى بقدر ما هي ترقّق صامت للقواعد المتّبعة، فيستمرّ العمل بينما تنخفض الدقة وحدها. وثلاثة إجراءات مضادة: (1) انقل القواعد التي تريد إبقاءها إلى CLAUDE.md في الجذر حيث يُعاد حقنها؛ (2) سمِّ ما ينبغي الاحتفاظ به عبر # Compact instructions ؛ (3) استخدم /autocompact ليعمل مبكرًا فلا يقع الضغط عند السقف تمامًا.
س3. هل أستخدم /compact أم /clear ؟
استخدم /compact إن كانت المهمة التالية استمرارًا للسابقة، و/clear إن لم تكن كذلك. تنصّ وثائق التكلفة صراحة على أنه "إن أردت بداية جديدة بدل الاستمرارية، فإن /clear مجاني". وإن مرّرت اسمًا إلى /clear أمكنك العودة إلى الجلسة من قائمة /resume ، فلا شيء تخشى فقدانه.
س4. هل يمحو الضغط قواعد CLAUDE.md لديّ؟
لا يُمحى ملف CLAUDE.md في جذر المشروع — بل يُعاد حقنه من القرص. الذي يذهب هو القواعد التي تحمل بيانات paths: في مقدّمتها، وملفات CLAUDE.md المتداخلة في المجلدات الفرعية، وهذه لا تعود إلا بعد قراءة ملف مطابق مرة أخرى. وللقواعد التي تريد إبقاءها، احذف مفتاح paths: أو انقلها إلى CLAUDE.md في الجذر.
س5. هل يمكنني إيقاف الضغط التلقائي؟
يمكنك ذلك، بضبط الإعداد autoCompactEnabled على false ، أو عبر "Auto-compact" في /config ، أو عبر متغيّر البيئة DISABLE_AUTO_COMPACT . لكنه غير مُوصى به. فإيقافه لا يقلّص سياقك؛ ستصطدم بالسقف وتحصل على خطأ وحسب. وإن كان ما تريده هو أن يعمل مبكرًا، فالحركة الصحيحة ليست تعطيله بل تضييق النافذة عبر /autocompact .
س6. كم توكنًا يستهلك /compact ؟
يتفاوت تفاوتًا هائلًا بحسب حرارة التخزين المؤقت. اضغطه أثناء الجلسة فتُقرأ البادئة من الذاكرة المؤقتة، فيكلّف، بتعبير الوثائق، أقلّ بكثير مما يوحي به حجم السياق. واضغطه بعد استراحة أطول من عمر التخزين المؤقت فتُعاد معالجة السجل كاملًا بلا تخزين، فيصير الأمر نفسه في أغلى حالاته. وعمر التخزين المؤقت ساعة واحدة مع الاشتراك، وخمس دقائق افتراضيًا عبر مفتاح API أو مزوّد سحابي.
س7. هل يمكنني تحديد ما يُحتفظ به؟
نعم. اكتب تعليمة بعد /compact فيُنتَج الملخّص بتلك البؤرة، مثل /compact keep the auth fix plan and the test results . وإن كانت التعليمة نفسها تصلح في كل مرة، فأنشئ عنوان # Compact instructions في CLAUDE.md فيسري بوصفه الافتراضي.
س8. لماذا تبدو الاستجابات بطيئة بعد الضغط مباشرة؟
الدور التالي مباشرة للضغط ليس ثقيلًا. وبحسب الوثائق، يعيد ذلك الدور بناء التخزين المؤقت من ملخّص قصير، فليس هو الجزء البطيء. وما تشعر به عادةً هو تشغيل الضغط نفسه أثناء توليد الملخّص، أو حالة ضغطته فيها والتخزين المؤقت بارد أصلًا.
س9. هل توجد ميزة اسمها "الضغط المصغّر"؟
السلوك موجود — تشرح الوثائق أن مخرجات الأدوات القديمة تُسقط أولًا وأن المحادثة لا تُلخَّص إلا عند الحاجة، وهذا تصريح واضح بأن شيئًا يحدث قبل التلخيص. لكن حتى 8 أغسطس 2026 لا تستخدم الوثائق الرسمية اسم "الضغط المصغّر" أو "micro-compaction". فالمصطلح جاء من مقالات طرف ثالث لا من Anthropic، فتعامل معه على هذا الأساس.
مقالات ذات صلة
- خطأ "Prompt is too long" في Claude Code — كيف تصلح سياقًا اصطدم بالسقف
- ما هي نافذة السياق — ما حجم النافذة، ولماذا ليس الأكبر أفضل تلقائيًا
- توفير التوكنات في Claude Code — ما الذي ينفع إلى جانب الضغط
- نقاط التحقق والإرجاع — لتغيير الاتجاه، يتفوّق
/rewindعلى/compact