Deepseek ArtifactsDeepseek Artifacts
دليل إنقاذ من الضغط

‏Claude Code يضغط المحادثة مرارًا: اكسر الحلقة وأنقذ عملك

لماذا يضغط Claude Code محادثتك مرارًا — كيف يتفاعل حد autocompact والضغط عند الخمول في 2.1.299 وعدم تطابق البوابات — مع الاسترداد عبر resume ونقاط التحقق، ومفتاح Idle compaction في /config، وCLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS، وإصلاحَي 2.1.301 و2.1.309 — في تسجيلات شاشة حقيقية.

الضغط المتواصل في لمحة

  • الضغط هو التلخيص التلقائي الذي يحرر مساحة السياق — يضغط Claude Code المحادثة عندما تقترب من نافذة النموذج (200K على Sonnet 4.6/Opus 4.6 بلا سياق موسع، ونحو 967K افتراضيًا في النماذج ذات نافذة 1M).
  • لظاهرة "الضغط مرارًا" ثلاثة أسباب معتادة: نافذة ممتلئة فعلًا، أو الضغط عند الخمول المضاف في 2.1.299 (محادثة تتجاوز 200K توكن تُترك خاملة نحو 54 دقيقة تُضغط قبل انتهاء كاش الـprompts لمدة ساعة)، أو عدم تطابق بوابة/اسم نموذج أُصلح في 2.1.301.
  • لا شيء ممّا أُرسل فعلًا يضيع: الملخص يحفظ الكود والقرارات الرئيسية، وresume مع نقاط التحقق يعيدان الباقي — صف الضغط في الجلسة المستأنفة يخبرك أين حُفظت الرسائل الأقدم (2.1.301).
  • اضبطها بدل محاربتها: /autocompact أو مفتاح autoCompactWindow يغيّر النافذة، وCLAUDE_CODE_AUTO_COMPACT_WINDOW يتغلب على الكل، و"idleCompaction": false (أو صف Idle compaction في /config) يعطّل الضغط عند الخمول.
  • حلقتان مرتبطتان بإصدارات محددة وصلا لهما إصلاح: الضغط المتكرر خلف بوابة LLM تسمّي نموذجًا مختلفًا (2.1.301)، والضغط المتكرر بعد قراءة ملفات تحت CLAUDE.md متداخل ضخم جدًا (2.1.309) — حدِّث قبل أن تضبط.

Claude Code: CLAUDE.md, Memory & Session Management

القناةDavid Mahler22:39

فتح

Stop Losing Work When You Compact Claude Code

القناةThe Art of Vibe Coding7:28

فتح

Model configuration — Claude Code documentation

الوثائقcode.claude.com

فتح

الإطارات مستخرجة من شرح David Mahler لإدارة الجلسات — مخططات سياق متحركة، وشبكة استخدام /context مع صف Autocompact buffer، ومخطط ملخص الضغط. أما شرائح الحد وhandoff فمن الشرح المتحرك لـ The Art of Vibe Coding. الحقائق متحقق منها مقابل سجل CHANGELOG لـ Claude Code (2.1.299 و2.1.301 و2.1.302 و2.1.309) ووثائق ضبط النماذج الرسمية. فيديو بوجه أمام الكاميرا وإطار مؤشر تحميل سبق استخدامه في دليلنا لتقليل التوكنات استُبعدا كمصدرين للإطارات.

تبقى حقوق إطارات الفيديو لأصحابها، وقد أُدرجت هنا كتوثيق خطوة بخطوة مع نسب المصدر وروابط عميقة.

أوقف Claude Code عن الضغط مرارًا وتكرارًا

الخطوة 1 — افهم ما يفعله الضغط

  1. 1

    اعرف ما هو الضغط فعلًا

    الضغط عملية تلقائية تحرر مساحة السياق بتلخيص الرسائل الأقدم مع الحفاظ على الكود والقرارات الرئيسية. يضغط Claude Code المحادثة عندما تقترب من نافذة النموذج — عند حدّ 200K على Sonnet 4.6 وOpus 4.6 بلا سياق موسع، أو افتراضيًا عند نحو 967K توكن في النماذج ذات نافذة أصلية 1M. رؤية "Compacting conversation…" مرة واحدة في جلسة طويلة تعني أن النظام يعمل كما صُمم، لا أن هناك خطأ.

    Compaction slide from a Claude Code session management tutorial defining compaction as an automatic process that frees up context space by summarizing older messages while preserving key code and decisions
    شريحة تعريف الضغط: عملية تلقائية تلخص الرسائل الأقدم مع الحفاظ على الكود والقرارات الرئيسية.شاهد عند 10:40
  2. 2

    شاهد ما يملأ نافذتك

    شغّل /context قبل تغيير أي شيء. يطبع الأمر النموذج، وعدد التوكنات مقابل النافذة، وتفصيلًا حسب الفئات — system prompt وsystem tools وأدوات MCP وملفات الذاكرة وMessages والمساحة الحر وAutocompact buffer المحجوز. في الجلسة المسجلة، احتكر Messages وحده 129.9k من أصل 149.1k توكن (65%)، مع 33k (16.5%) محجوزة للمخزن — ولهذا جاء الضغط: المحادثة نفسها، لا خلل ما، كانت تستهلك النافذة.

    Claude Code /context usage output showing Sonnet 4.6 at 149.1k of 200k tokens with Messages at 65 percent and the reserved Autocompact buffer of 33k tokens at 16.5 percent
    شبكة استخدام /context عند 75%: Messages عند 129.9k توكن ومخزن Autocompact البالغ 33k (16.5%) مُشار إليهما في الأسفل.شاهد عند 10:20
  3. 3

    تعرّف على شكل سياق منتفخ

    حين تتراكم المخرجات الطويلة وقراءات الملفات الكبيرة ونتائج الأدوات الضخمة، يخنق كتلة Messages كل ما عداه — أوصاف المهارات (skills) وأدوات MCP والتعليمات المحفوظة تُضغط قبل أن تنتبه. هذه هي الحالة التي يستفز فيها كل تبادل إضافي دورة ضغط جديدة. إذا أظهر /context هيمنة Messages بينما تتقلص صفوف التعليمات النافعة، فالعلاج هو إنقاص ما تطعمه للجلسة، لا إعادة معايرة الحدود فقط.

    Bloated context diagram from a Claude Code tutorial showing a Messages block grown so large it crowds out Skill Descriptions, MCP tools and remembered instructions before compaction
    مخطط السياق المنتفخ: كتلة Messages كبرت حتى تسحق أوصاف المهارات وأدوات MCP والتعليمات المحفوظة.شاهد عند 11:26

الخطوة 2 — استعد عملك وأعد ضبط النافذة

  1. 4

    الاسترداد: الملخص يحفظ القرارات وresume يحفظ التاريخ

    لا شيء ممّا أُرسل يختفي. يحوّل الضغط كتلة Messages إلى Conversation Summary بينما تبقى صفوف CLAUDE.md وAuto Memory في موضعها، وتعيد نقاط التحقق في Claude Code مع claude --resume / /resume الباقي. ومنذ 2.1.301 يخبرك صف الضغط في الجلسة المستأنفة أيضًا أين حُفظت الرسائل الأقدم بدل عرض تاريخ لا يستطيع تحميله. إذا قاطع الضغط عملًا يهمّك، فاستأنف الجلسة واقرأ الملخص قبل أن تعيد شرح أي شيء.

    Compaction before and after diagram converting a large Messages block into a compact Conversation Summary while red-boxed CLAUDE.md and Auto Memory rows stay preserved in the context window
    مخطط الضغط قبل وبعد: تتحول Messages إلى Conversation Summary بينما تُحفظ صفوف CLAUDE.md وAuto Memory المؤطرة بالأحمر.شاهد عند 7:56
  2. 5

    قبل ضغط كبير، اكتب العمل على القرص

    للجلسات التي لا تحتمل أن تفقد سياقها، ابنِ الجسر بنفسك: اطلب من Claude Code وثيقة تسليم (handoff) — أو استخدم مهارة تسليم مثل /handoff-doc — تعيد قراءة الجلسة كاملة: كل قرار، وكل ملف مُسّ، وكل طرف معلق، ثم تقطرها في HANDOFF.md واحد منظم على القرص. بعد الضغط أو في جلسة جديدة، توجيه الطلب التالي إلى هذا الملف يستعيد الاتجاه أسرع من الملخص وحده.

    Handoff doc flow slide showing the /handoff-doc skill reading a whole Claude Code session and distilling every decision, file touched and loose end into one structured HANDOFF.md on disk
    مسار handoff: تعيد مهارة /handoff-doc قراءة الجلسة كاملة — كل قرار وملف مُسّ وطرف معلق — في HANDOFF.md واحد منظم.شاهد عند 1:00
  3. 6

    اضبط نافذة autocompact بدل أن تخشاها

    نقطة التفعيل قابلة للضبط. /autocompact <قيمة> تضبطها للنموذج الحالي وتحفظها في إعدادات المستخدم؛ ومفتاح autoCompactWindow (مثل "autoCompactWindow": 200000 في ~/.claude/settings.json) ينطبق على كل النماذج؛ و--autocompact يتجاوز لتشغيل واحد فقط؛ ومتغير البيئة CLAUDE_CODE_AUTO_COMPACT_WINDOW يتغلب على الكل، ويقبل من 100,000 إلى 1,000,000 توكن (ومنذ 2.1.304 يمكنك كتابة 200k أو 1M). وتُسقف القيم عند النافذة الحقيقية للنموذج، و/autocompact auto يعود إلى الافتراضي المضبوط.

    Trigger threshold slide explaining that 20 percent of a 1M token Opus session equals roughly 200,000 tokens or an hour of real work before Claude Code compacts
    حساب الحد: 20% من جلسة Opus بواجهة 1M توكن تعادل نحو 200,000 توكن — حوالي ساعة عمل حقيقي.شاهد عند 2:12

الخطوة 3 — الضغط عند الخمول: سلوك 2.1.299

  1. 7

    تعرّف على الضغط عند الخمول (‏Claude Code 2.1.299)

    منذ 2.1.299 ثمة مشغل ثانٍ لا علاقة له بنافذة ممتلئة: الضغط عند الخمول. محادثة تحمل أكثر من 200K توكن تتركها خاملة نحو 54 دقيقة تُضغط قبل انتهاء كاش الـprompts لمدة ساعة، حتى لا تعالج رسالتك التالية النص الكامل بسعره الكامل. إذا ضغط Claude Code أثناء غيابك — يظهر الإشعار في النص عند عودتك — فهذه هي الميزة نفسها، لا حلقة عطل.

  2. 8

    عطّل الضغط عند الخمول أو اخفض حدّه الأدنى

    مفتاحان، وكلاهما موثق في سجل تغييرات 2.1.299: اضبط "idleCompaction": false في settings.json لتعطيله كليًا، أو اضبط CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS لتغيير الحد الأدنى البالغ 200K توكن الذي لا يتفعل الضغط عند الخمول دونه أبدًا (وكلاهما يتطلب v2.1.290 فأحدث). ومنذ 2.1.302 يوجد صف Idle compaction في /config أيضًا، وتقول الإشعارات المعروضة بعد الضغط عند الخمول الآن كيف تعطّله. يتطلب الإعداد أكثر من 200K توكن خاملة نحو 54 دقيقة — الجلسات القصيرة لا تُمسّ أبدًا.

  3. 9

    قرر إن كنت تريد تعطيله فعلًا

    الضغط عند الخمول يقايض تكلفة بأخرى. يبقى مفعّلًا: تخسر النص الدقيق عند عودتك بعد ساعة؛ يُعطَّل: تعالج رسالتك التالية النص الكامل فوق 200K توكن بكاش منتهٍ — أبطأ ومحسوبًا بأسعار الخطأ في الكاش (cache miss). إذا كانت جلستك طويلة لكنك تنقطع كثيرًا، فخفض CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS عادة أفضل من التعطيل: يتم الضغط بشروطك وعلى كتلة أصغر.

الخطوة 4 — حلقات الإصدارات المحددة والوقاية

  1. 10

    حدّث قبل أن تضبط: حلقة البوابة 2.1.301

    إذا تكرر الضغط فعلًا على نافذة ممتلئة، فافحص إصدارك أولًا. أصلح الإصدار 2.1.301 محادثات كانت "تُضغط مرارًا وتكرارًا، على نموذج لم تختره، خلف بوابة LLM تسمّي ردودها نموذجًا مختلفًا عن المطلوب" — كانت ردود البوابة تسمّي النموذج X بينما تطلب النموذج Y، فتُضغط المحادثة في كل دورة. وصحح الإصدار نفسه صف الضغط في الجلسة المستأنفة الذي كان يقترح ctrl+o لتاريخ لم يُحمَّل. مستخدمو البوابات على 2.1.300 أو أقدم: حدّثوا قبل لمس أي إعداد.

  2. 11

    أنقص ملفات CLAUDE.md — حلقة الملف المتداخل 2.1.309

    حلقة موثقة أخرى: كانت الجلسات تظل تُضغط بعد قراءة ملفات تحت CLAUDE.md متداخل ضخم جدًا — أصلحها 2.1.309، ولم يعد CLAUDE.md المتداخل فوق حد الحجم يحمّل إلا بدايته. راجع ملفات ذاكرتك على أي حال: يُحمَّل CLAUDE.md على مستوى المستخدم في كل المشاريع، وتُحمَّل ملفات نطاق المشروع في مجلد العمل، وتُحمَّل ملفات الأدلة الفرعية عند الطلب عندما يزورها Claude. أخرج من الملفات المحمّلة دائمًا كل ما ليس تعليمة شاملة.

    Claude Code memory scopes diagram listing user-level CLAUDE.md loaded for all projects, project-scope CLAUDE.md in the working directory and on-demand CLAUDE.md files visited by Claude
    مخطط نطاقات الذاكرة: CLAUDE.md على مستوى المستخدم لكل المشاريع، وملفات نطاق المشروع في مجلد العمل، وملفات عند الطلب يحملها Claude عند زيارته.شاهد عند 4:44
  3. 12

    امنع الحلقة التالية

    ثلاث عادات تجعل الضغط حدثًا لا يُذكر. أبقِ ملفات CLAUDE.md نحيفة لتنجو التعليمات من كل ضغط. ودع الضغط يقع عند الحد بدل تأجيله — تتراجع جودة الاستجابات كلما امتلأت النافذة، والملخص المكتوب عند 20% المتبقية أفضل من المكتوب عند 95%. وأفرغ على القرص الحالة التي تهمك (وثائق handoff وخطط وقوائم مهام) لتبدأ كل إعادة ضبط من شيء أفضل من ملخص.

    Why wait slide with a red trigger bar showing Claude Code response quality degrading when a compaction at the 20 percent threshold is postponed past the autocompact point
    شريحة لماذا التأجيل سيئ: تتراجع جودة الاستجابات عند تجاوز حد الضغط وتأجيل الضغط.شاهد عند 2:20

الضغط عند الخمول، 2.1.299 بالتفصيل

الضغط عند الخمول هو أحدث أسباب "ضغط الجلسة مرارًا" — وأسهلها سوء قراءة على أنه خلل. قدّمه سجل تغييرات 2.1.299 في الطرفية بمبرر صريح، وصقله 2.1.302 و2.1.301 في أدوات التحكم من حوله. الحقائق، متحققًا منها مقابل السجل:

  • 1المشغل: محادثة تحمل أكثر من 200K توكن تُترك خاملة نحو 54 دقيقة — مؤقّتة بحيث يقع الضغط قبل انتهاء كاش الـprompts لمدة ساعة.
  • 2المبرر: "حتى لا تعالج رسالتك التالية كل ذلك من جديد" — نص فوق 200K توكن غير مضغوط بعد انتهاء الكاش يُعالج توكنًا توكنًا بأسعار الخطأ في الكاش (cache miss).
  • 3مفتاح التعطيل: "idleCompaction": false في settings.json — أو، منذ 2.1.302، صف Idle compaction في /config.
  • 4أداة الضبط: ‏CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS يغيّر الحد الأدنى البالغ 200K توكن؛ المحادثات دونه لا تُضغط عند الخمول أبدًا.
  • 5حد الإصدار: المتغير والإعداد كلاهما يتطلبان Claude Code v2.1.290 فأحدث — في الإصدارات الأقدم الميزة غير موجودة أصلًا، ولهذا قد تبدو تغيرًا مفاجئًا في السلوك بعد تحديث.
  • 6الضمانات: الجلسات القصيرة لا تُمسّ أبدًا، ويظهر الإشعار في النص عند عودتك، ومنذ 2.1.302 يقول الإشعار نفسه كيف تعطّل الميزة.

إذا شاركت الجلسات مع فريق، فتذكر أن الإعداد خاص بكل جهاز: "idleCompaction": false في إعدادات المستخدم لديك لا يتبع المستودع، فقد تُضغط جلسة زميلك الخاملة حتى لو لم تُضغط جلستك أبدًا. وللجلسات الطويلة المشتركة، التركيبة المتوقعة هي خفض CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS مع وثيقة handoff تُكتب قبل أن ينقطع أحد.

الأسئلة الشائعة حول الضغط

تابع الاستكشاف