# إدارة السياق

> **آخر تحقق**: 2026-11-12 · 📄 وفق الوثائق الرسمية (وثائق نافذة السياق وإعدادات النماذج في Claude Code، ونظرة عامة على نماذج Anthropic؛ جرى التحقق هذه المرة من جزأي نافذة السياق وقائمة النماذج)

تعمل كل جلسة في Claude Code ضمن **نافذة سياق**. ويساعدك فهم كيفية عمل السياق على استخدام Claude بفعالية أكبر وتجنب الأخطاء الناتجة عن تجاوز السياق.

## فهم نافذة السياق

حتى 2026-11-12، وفقًا لوثائق Claude Code ونظرة عامة على نماذج Anthropic: تعمل Fable 5.2 (صدر في 9 نوفمبر 2026)، وFable 5.1، وFable 5، وSonnet 5 وما بعدها، وHaiku 5.5، وOpus 4.7 وما بعدها، افتراضيًا بنافذة سياق تبلغ **1,000,000 token (1M)**، من دون الحاجة إلى لاحقة `[1m]`. لا تصل Opus 4.6 وSonnet 4.6 إلى 1M إلا عبر نسختهما `[1m]`؛ وإلا فإنهما تعملان عند 200K. على QCode، ينتمي كل من `claude-fable-5-2` و`claude-fable-5-1` الذي ما زال متاحًا، إلى جانب النماذج الشائعة الاستخدام `claude-opus-5-5` و`claude-sonnet-5-5` و`claude-haiku-5-5`، إلى المجموعة الأولى. للإبقاء على الجلسات عند نافذة 200K، عيّن متغير البيئة `CLAUDE_CODE_DISABLE_1M_CONTEXT=1`.

يتضمن السياق:
- كل سجل المحادثة (رسائلك + ردود Claude)
- محتويات الملفات المشار إليها باستخدام `@`
- مدخلات استدعاءات الأدوات ومخرجاتها
- prompts النظام ومحتوى CLAUDE.md

مع تقدم المحادثة، ينمو السياق باستمرار. وعندما يقترب السياق من حدّه، قد تتباطأ سرعة استجابة Claude، وسيؤدي ذلك في النهاية إلى تشغيل الضغط التلقائي أو إنتاج أخطاء.

## ضغط السياق: /compact

يضغط أمر `/compact` سجل المحادثة الحالي في ملخص موجز، مما يحرر مساحة السياق مع الاحتفاظ بالمعلومات المهمة.

```
/compact
```

يمكنك أيضًا إضافة تعليمات مخصصة للتحكم في ما يركز عليه الضغط:

```
/compact Keep all code examples and the completed task list
```

**الضغط التلقائي**: ما لم تضبط نافذتك الخاصة، يضغط Claude Code تلقائيًا مع اقتراب المحادثة من حد سياق النموذج؛ بالنسبة إلى النماذج ذات نافذة 1M الأصلية، يكون الإعداد الافتراضي نحو **967K tokens** (وفق الوثائق الرسمية). للضغط مبكرًا، شغّل أمرًا مثل `/autocompact 500k` لضبط النافذة (يعيد `auto` الإعداد الافتراضي؛ يتطلب Claude Code v2.1.221 أو أحدث). يمكنك أيضًا تشغيل `/compact` استباقيًا عندما يصل السياق إلى 70–80% لتجنب الانتظار حتى اللحظة الأخيرة.
## مسح السجل: /clear

يقوم الأمر `/clear` بمسح كل سجل المحادثة وبدء جلسة جديدة:

```
/clear
```

> **ملاحظة**: يزيل `/clear` كل السياق، بما في ذلك معلومات المشروع التي تعلّمها Claude بالفعل. استخدمه عند الانتقال إلى مهمة جديدة غير مرتبطة تمامًا.

## التحقق من حالة السياق: /context

استخدم الأمر `/context` لعرض استخدام السياق الحالي:

```
/context
```

## مراجع الملفات باستخدام @

استخدم الرمز `@` لإضافة محتويات الملف إلى السياق:

```
@src/main.ts Explain what this file does
@package.json Check dependency versions
@README.md
```

**أفضل الممارسات**:
- أشِر فقط إلى الملفات ذات الصلة بالمهمة الحالية لتجنب إضافة سياق غير ضروري
- تستهلك الملفات الكبيرة مساحة السياق بسرعة — أعطِ الأولوية للإشارة إلى الملفات الأساسية
- استخدم `CLAUDE.md` لتوفير خلفية المشروع بدلًا من لصقها بشكل متكرر في كل محادثة

## الإدخال عبر الأنابيب

مرّر إخراج الأمر أو محتويات الملف إلى Claude عبر الأنابيب:

```bash
# Pipe file contents in
cat error.log | claude "Analyze this error"

# Pipe command output in
git diff | claude "Generate a commit message"

# Multi-line input
echo "Please analyze the following code:
$(cat src/utils.ts)" | claude
```

## منع تجاوز الجلسة الطويلة

### العَرَض: E015 خطأ الخادم الداخلي

عندما يقترب سياق المحادثة من حد سعة النموذج (~95%)، يعيد Anthropic API خطأ 500. يغلّف QCode.cc هذا كاستجابة 429:

```
429 {"error":{"code":"E015","message":"Internal server error"},"status":500}
```

هذا سلوك معروف في Anthropic API (وليس خاصًا بـ QCode.cc). يغلّف QCode.cc أخطاء 5xx هذه كاستجابات 429 للاستفادة من آلية إعادة المحاولة المدمجة في Claude Code.

### خطوات الحل

1. **جرّب `/compact`**:
   - إذا نجح، يمكن للمحادثة أن تستمر بشكل طبيعي
   - إذا أخطأ `/compact` نفسه (إذ يتطلب طلب الضغط إرسال السياق الكامل أيضًا)، فانتقل إلى الخطوة التالية

2. **اخرج وأعد تشغيل Claude Code**:
   ```bash
   # Press Ctrl+C or type /exit
   # Then restart
   claude
   ```

### نصائح الوقاية

- **الضغط بانتظام**: شغّل `/compact` بشكل استباقي عندما يصل السياق إلى 70–80% بدلًا من انتظار التجاوز
- **قسّم المهام**: قسّم المهام الكبيرة إلى مهام أصغر، مع استخدام جلسة منفصلة لكل منها
- **استخدم CLAUDE.md بدلًا من اللصق المتكرر**: اكتب خلفية المشروع في `CLAUDE.md` — يقرأها Claude تلقائيًا عند بدء التشغيل، لذا لا تحتاج إلى تكرارها في كل محادثة
- **تجنّب استيراد الملفات الكبيرة**: تستهلك الإشارة إلى ملف كبير قدرًا كبيرًا من السياق — فضّل الإشارة إلى الأقسام الأساسية فقط
- **راقب باستخدام `/cost`**: يعرض الأمر `/cost` استخدام token للجلسة الحالية
## مرجع الأوامر السريع

| الأمر | الغرض |
|---------|---------|
| `/compact` | ضغط السياق (مع الاحتفاظ بملخص) |
| `/clear` | مسح السياق بالكامل |
| `/context` | عرض حالة السياق |
| `/cost` | عرض استخدام token |
| `@<file path>` | الإشارة إلى ملف في السياق |

## هرمية هندسة السياق

يعني «هندسة السياق» تنظيم ما يقرأه Claude في كل طلب تنظيماً مقصوداً، وذلك بوضع المعلومات عالية القيمة والمستقرة في المقدمة وإبعاد الضجيج. يتبع سياق Claude Code **هرمية أسبقية** واضحة (من الأعلى إلى الأدنى):

1. **سياسة المؤسسات / السياسة المُدارة** — قواعد تفرضها مؤسستك من الأعلى. أعلى أسبقية؛ ولا يمكن للأفراد تجاوزها.
2. **ذاكرة المشروع `CLAUDE.md` / `AGENTS.md`** — تعليمات المشروع في جذر المستودع، تصف اصطلاحات الشيفرة وأوامر البناء وخلفية المشروع.
3. **قواعد محدَّدة النطاق بالمسار** — ملفات `CLAUDE.md` المتداخلة أو `.claude/rules` في المجلدات الفرعية، وتُطبَّق فقط على العمل ضمن ذلك المسار.
4. **سجل المحادثة الحيّ** — التبادل في الجلسة الحالية. أدنى أسبقية، وهو الجزء الأكثر عرضة للتضخم.

يساعدك فهم هذه الهرمية على وضع التعليمات في **المكان الصحيح**: الاصطلاحات العامة تُوضع في `CLAUDE.md` على مستوى المشروع، والقواعد الخاصة بمجلد معيّن تُوضع في قواعد محدَّدة النطاق بالمسار — بدلاً من إعادة ذكرها في كل محادثة.

### نصائح عملية

- **أبقِ التعليمات موجزة وعالية الدلالة**: كلما كان `CLAUDE.md` أكثر إيجازاً كان اتباع Claude له أسهل؛ فالمحتوى الطويل والخارج عن الموضوع يخفف التعليمات الأساسية.
- **استخدم `/compact` عند نقاط التوقف المنطقية**: اضغط السجل بعد إنهاء مرحلة — فالمحادثات الطويلة غير المركّزة تُضعف الدقة.
- **استخدم `/clear` بين المهام غير المترابطة**: امسح السجل عند الانتقال إلى مهمة غير مترابطة تماماً حتى لا يتداخل السياق القديم.
- **أشِر إلى الملف بالمسار بدلاً من اللصق**: استخدم `@<file path>` لتدع Claude يقرأ الملفات عند الحاجة بدلاً من حشو كتل كبيرة في المحادثة — فهذا يوفّر السياق ويحسّن الدقة.
- **ضع المحتوى المستقر أولاً**: المحتوى الذي لا يتغير مثل prompts النظام و`CLAUDE.md` وكتل الخلفية الكبيرة ينبغي أن يأتي أولاً ويبقى دون تعديل، حتى يستفيد من **التخزين المؤقت للـ prompt** (تكلّف قراءات التخزين المؤقت نحو 10% من الإدخال العادي). ولهذا السبب تحديداً يوفّر `CLAUDE.md` موجز ومستقر مع إعادة استخدام الجلسات المال.

باختصار: ادفع المحتوى المستقر عالي القيمة إلى أعلى الهرمية وأبقه دون تغيير، واكبح سجل المحادثة المتقلب دورياً. للمزيد من التفصيل، راجع [ذاكرة المشروع CLAUDE.md](/docs/usage/claude-md) و[تحسين التكلفة](/docs/usage/cost-optimization).
## تفاصيل أوامر السياق الشائعة

حتى 2026-10-15، وفقًا لمرجع أوامر Claude Code:

| الأمر | ما تقوله الوثائق |
|---|---|
| `/compact [instructions]` | يلخّص المحادثة حتى الآن لتحرير السياق؛ يمكنك إضافة تعليمات حول ما يجب الاحتفاظ به |
| `/clear` | يبدأ محادثة جديدة بسياق فارغ (أسماء بديلة `/reset`، `/new`)؛ يمكن العثور على المحادثة السابقة مجددًا باستخدام `/resume` |
| `/context` | يعرض استخدام السياق الحالي كشبكة ملوّنة مع اقتراحات تحسين لأكبر المستهلكين؛ أضف `all` لتوسيع التفاصيل |
| `/rewind` | يعيد المحادثة والشيفرة إلى نقطة سابقة؛ يمكنك أيضًا اختيار "Summarize from here" أو "Summarize up to here" لضغط جزء واحد فقط والاحتفاظ بالآخر |
| `/autocompact [auto\|size]` | يضبط نافذة الضغط التلقائي، مثل `/autocompact 500k`؛ وتعيدها `auto` إلى الوضع الافتراضي المُهيّأ لنموذجك |

وفقًا لوثائق الذاكرة الرسمية، تُعاد قراءة `CLAUDE.md` الموجود في جذر المشروع من القرص بعد `/compact` ولا يُفقد؛ قد تختفي التعليمات المذكورة في المحادثة فقط بعد الضغط، لذا اكتب أي شيء يجب أن يبقى في `CLAUDE.md`.

## ملاحظات عند استخدام QCode

- **نماذج Claude** ليس لديها فئة منفصلة للسياق الطويل وتُحاسَب على tokens الفعلية. أما **نماذج GPT**، فعندما يتجاوز إدخال طلب واحد (بما في ذلك tokens المطابقة من التخزين المؤقت) 272K، يُحاسَب الطلب كله بسعر السياق الطويل؛ القاعدة موجودة في [الفوترة](/docs/reference/billing). الضغط قبل أن تقترب جلسة طويلة من 272K أقل تكلفة.
- تُعيد كل جولة إرسال السياق الحالي بالكامل إلى النموذج، لذا كلما طالت الجلسة زاد عدد tokens التي تستهلكها كل جولة. يمكن تقديم بادئة مستقرة (`CLAUDE.md`، prompt النظام) من التخزين المؤقت، بينما يؤدي تغيير المحتوى المبكر غالبًا إلى إبطال ذلك.
- استخدم `/usage` (الاسم البديل `/cost`) لاستخدام الجلسة الحالية. تُحاسِب QCode لكل token؛ أسعار كل نموذج مدرجة في [qcode.cc/models](https://qcode.cc/models).

## الأخطاء الشائعة وكيفية استكشافها وإصلاحها

| العَرَض | السبب | الإصلاح |
|---|---|---|
| `429` مع `E015` / `Internal server error` في جسم الاستجابة | السياق قريب من حد النموذج (نحو 95%): تجاوز سعة جلسة طويلة | شغّل `/compact` أولًا؛ وإذا فشل ذلك أيضًا، فاخرج وأعد التشغيل، راجع «منع تجاوز سعة الجلسة الطويلة» أعلاه |
| `/compact` نفسه يفشل | يجب أن يحمل طلب الضغط السياق كله أيضًا، ولم يعد يتسع | اخرج وأعد تشغيل Claude Code؛ استخدم `/resume` للعودة إلى محادثة سابقة إذا لزم الأمر |
| نسي Claude متطلبًا بعد الضغط | كان مذكورًا في المحادثة فقط | ضعه في `CLAUDE.md` |
| تريد تثبيت نافذة 200K | النافذة الافتراضية هي 1M بالفعل | عيّن متغير البيئة `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` |
| ينمو السياق بسرعة غير معتادة | تمت الإشارة إلى ملفات كبيرة، أو إخراج الأداة طويل | استخدم `/context` للعثور على المستهلكين الكبار والإشارة إلى الأجزاء ذات الصلة فقط |

## الأسئلة الشائعة

### هل أستخدم `/compact` أم `/clear`؟

استخدم `/compact` عندما تستمر في العمل على الشيء نفسه، لأنه يحتفظ بملخص. واستخدم `/clear` فقط عند الانتقال إلى مهمة غير ذات صلة تمامًا، لأنه يبدأ من فراغ.

### هل يؤدي الضغط إلى فقدان `CLAUDE.md`؟

لا. تُعاد قراءة `CLAUDE.md` الموجود في جذر المشروع بعد الضغط؛ وتُحمَّل ملفات `CLAUDE.md` المتداخلة في الأدلّة الفرعية والقواعد المرتبطة بالمسارات مرة أخرى عند الطلب.

### كيف أجعل الضغط التلقائي يبدأ أبكر؟

اضبط النافذة بأمر مثل `/autocompact 500k`؛ وتعيدها `auto` إلى الوضع الافتراضي المُهيّأ لنموذجك. يتطلب الأمر Claude Code v2.1.221 أو أحدث. يمكنك أيضًا تشغيل `/compact` بنفسك عندما يصل الاستخدام إلى ما بين 70% و80% (قاعدة تقريبية مقترحة، وليست رقمًا رسميًا).

### ضغطت وفقدت شيئًا. هل يمكنني الرجوع؟

نعم. استخدم `/rewind` واختر نقطة سابقة لاستعادة المحادثة أو الشيفرة أو كليهما. يعتمد ذلك على نقاط التحقق الخاصة بالجلسة؛ راجع [نصائح سير العمل](/docs/usage/workflow-tips).