Loading blog posts...
Loading blog posts...
جاري التحميل...

كتبت مطالبة من خمس كلمات فقط، ومع ذلك وصل Claude Code إلى حد الجلسة مرة أخرى. فالمطالبة ليست الطلب بالكامل. قد يعالج Claude أيضاً الرسائل السابقة والملفات وتعريفات الأدوات ومخرجات الطرفية في كل مرة.
الحل الدائم هو أن تتحكم في ما يدخل إلى الجلسة، ومتى يُمسح السياق، وما الأعمال التي تستحق جلسة مستقلة.
Important
تعتمد حدود الجلسة على حجم السياق الذي تتم معالجته، وليس فقط على طول المطالبة الجديدة. قد يكون الطلب قصيراً، لكنه يظل مكلفاً إذا كان يحمل وراءه محادثة كبيرة.
أنه المهمة الحالية، واحفظ أي تغييرات مطلوبة، ثم شغّل:
text/clear
السياق (Context) هو كل ما يمكن أن يأخذه Claude في الاعتبار أثناء تنفيذ الطلب. وقد يشمل المحادثة وتعليمات النظام ووصف الأدوات والملفات المحددة ومخرجات الأوامر والتحليل الناتج.
يؤدي تشغيل /clear إلى إزالة المحادثة القديمة من الطلبات اللاحقة. لكنه لا يحذف ملفات المشروع ولا يتراجع عن التغييرات المكتوبة على القرص.
لذلك يفيد /clear بعد الانتهاء من إصلاح خطأ، أو تحديث التوثيق، أو إعادة هيكلة الكود، أو إجراء تحقيق. ويصبح أكثر فائدة قبل الانتقال إلى عمل لا علاقة له بالمهمة السابقة.
لا ينبغي لجلسة بدأت بتصحيح أخطاء المصادقة أن تستمر إلى تصميم مخطط قاعدة البيانات. فقد تظل السجلات القديمة والافتراضات ومحتويات الملفات مرتبطة بالطلبات اللاحقة، حتى بعد أن تفقد فائدتها.
بعد /clear، قدّم إلى Claude وصفاً مختصراً للمهمة التالية:
textTask: [SPECIFIC TASK] Relevant files: - [FILE PATH] - [FILE PATH] Constraints: - [CONSTRAINT] - [CONSTRAINT] Done when: - [TESTABLE COMPLETION CONDITION] Do not inspect unrelated directories unless required.
تستبدل هذه المطالبة السياق المتراكم بمجموعة عمل صغيرة وواضحة. كما تقلل عمليات استكشاف الملفات التي قد تسحب كوداً غير ضروري إلى الجلسة.
شرط الاكتمال مهم. من دونه، قد يواصل الوكيل البحث والاختبار والمراجعة بعد انتهاء العمل المفيد فعلياً.
أعطِ العمل المهم اسماً قبل مغادرته:
text/rename
استخدم اسماً وصفياً مرتبطاً بالنتيجة، مثل checkout-timeout-investigation أو postgres-migration-plan. فالاسم الواضح يجعل استعادة الجلسة لاحقاً أسهل من البحث بين جلسات بلا أسماء.
لا تستأنف جلسة محفوظة إلا إذا كان سجلها ما زال مفيداً:
text/resume
الاستمرارية لها تكلفة. يكون الاستئناف منطقياً عندما تحتاج، بدونه، إلى إعادة بناء القرارات السابقة ونتائج الاختبارات والأساليب التي جرى استبعادها.
استخدم الرجوع عندما تصبح الأجزاء اللاحقة من المحادثة مشتتة أو غير صحيحة:
text/rewind
يعيد /rewind العمل إلى نقطة سابقة من دون نقل كل المحادثة اللاحقة معه. يفيد ذلك بعد تحقيق طويل انتهى إلى طريق مسدود، أو بعد تعليمة دفعت الجلسة في اتجاه خاطئ.
| الأمر | متى تستخدمه | تأثيره في السياق |
|---|---|---|
/clear | عند بدء عمل غير مرتبط | يزيل المحادثة السابقة من الطلبات اللاحقة |
/rename | عندما قد تحتاج إلى استئناف العمل | يسهّل العثور على الجلسة |
/resume | عندما يظل التحليل السابق مهماً | يستعيد الجلسة المحفوظة |
/rewind | عندما تصبح الأجزاء اللاحقة غير مفيدة | يعيدك إلى نقطة تحقق سابقة |
لإنجاز مهمة صغيرة ومستقلة، ابدأ جلسة منفصلة باستخدام نموذج أقل تكلفة:
bashclaude --model haiku
يناسب Haiku مهام مثل تصنيف الأخطاء، أو تلخيص ملف قصير، أو إعادة تسمية المعرّفات، أو كتابة اختبارات محددة. أما المهام التي تحتاج إلى تحليل أعمق، فقد تبرر استخدام نموذج أقوى.
اختر النموذج ومستوى الجهد والوضع السريع في بداية الجلسة. وحافظ على هذه الإعدادات ما دامت الجلسة نشطة.
يمكن لأداة Claude Code استخدام التخزين المؤقت للمطالبات (Prompt Caching)، ما يمنع إعادة معالجة السياق المتطابق من الصفر ما دامت البيانات المخزنة مؤقتاً صالحة. وقد يؤدي تغيير النموذج أو إعدادات المعالجة في منتصف الجلسة إلى إبطال هذه الذاكرة المؤقتة.
عند حدوث ذلك، قد يعالج الطلب التالي جزءاً أكبر بكثير من المحادثة مرة أخرى. تظل المطالبة الظاهرة قصيرة، لكن حجم الإدخال الفعلي يصبح كبيراً.
Warning
قد يكون الانتقال إلى نموذج أرخص في منتصف جلسة كبيرة أعلى تكلفة مما تتوقع. فتح جلسة صغيرة ومنفصلة يمنع نقل السياق القديم ويحمي الذاكرة المؤقتة للجلسة النشطة.
استخدم هذا الأسلوب عندما تواجه الجلسة الرئيسية مهمة جانبية بسيطة:
bashcd /path/to/project claude --model haiku
بعد ذلك، قدّم للجلسة الجديدة المواد المطلوبة فقط:
textInspect src/auth/token.ts. Find the branch that returns an expired token. Return: 1. The responsible function 2. The condition that triggers the bug 3. A minimal patch Do not inspect other directories unless this file imports relevant logic.
لا ترث الجلسة المنفصلة أي نقاش أو سجل أوامر أو ملفات غير مرتبطة. يبدأ سياقها من الصفر تقريباً، ثم ينمو حول المهمة المفوّضة فقط.
اختيار النموذج عملية موازنة. يقلل النموذج الأصغر تكلفة العمل المباشر، بينما قد ينجز النموذج الأكبر التحليل المعقد بعدد أقل من المحاولات الفاشلة. المقياس الأفضل هو إجمالي العمل الذي جرت معالجته، لا سعر الطلب الواحد.
استبدل مخرجات البناء غير المقيّدة بأمر يعرض النتائج المهمة فقط:
bashnpm run build > /tmp/build.log 2>&1 || { tail -n 80 /tmp/build.log exit 1 } echo "Build completed successfully"
يحفظ هذا الأمر السجل الكامل خارج المحادثة. لا يرى Claude سوى سطر نجاح واحد، أو آخر 80 سطراً إذا فشلت عملية البناء.
من دون التصفية، قد تطبع أوامر تثبيت الحزم والبناء والاختبارات والحاويات مئات أو آلاف الأسطر. وقد تظل هذه المخرجات متاحة في الطلبات اللاحقة، فتُعالج مراراً.
يجب أن تجيب استجابة الأداة المفيدة عن 3 أسئلة: هل نجح الأمر؟ ما الذي فشل؟ وأين يوجد السجل الكامل؟ لا حاجة إلى عرض كل عملية نجحت.
بالنسبة إلى حزم الاختبارات، اعرض حالات الفشل فقط:
bashpytest -q --tb=short > /tmp/pytest.log 2>&1 || { grep -A 20 -B 5 -E "FAILED|ERROR|Traceback" /tmp/pytest.log | tail -n 160 exit 1 } echo "Tests passed"
يمنع حد المخرجات خطأً متسلسلاً واحداً من إغراق الجلسة. ويظل السجل الكامل متاحاً في /tmp/pytest.log لفحصه عند الحاجة.
وتستفيد مخرجات Git من الأسلوب نفسه:
bashgit status --short git diff --stat git diff -- src/auth/token.ts
قد يؤدي تشغيل git diff من دون تحديد مسار إلى إدخال جميع تغييرات المستودع في السياق. ابدأ بالملخص، ثم اطلب الملف أو الجزء المطلوب لاتخاذ القرار الحالي فقط.
أنشئ سكربتاً صغيراً إذا كنت تشغّل العملية كثيرة المخرجات باستمرار:
bash#!/usr/bin/env bash set -o pipefail LOG_FILE="${TMPDIR:-/tmp}/project-build.log" if npm run build >"$LOG_FILE" 2>&1; then echo "PASS: build" else echo "FAIL: build" tail -n 100 "$LOG_FILE" exit 1 fi
يؤدي حفظ هذا السكربت باسم scripts/build-brief.sh إلى توحيد المخرجات المختصرة للمطورين ومهام CI ووكلاء البرمجة. كما يُبقي تفاصيل الفشل متاحة من دون تحميل السجل الكامل إلى سياق Claude.
اطلب من Claude استخدام السكربت المختصر:
textRun scripts/build-brief.sh. If it fails, inspect only the reported errors first. Read the complete log only when those errors are insufficient.
هكذا تضع ميزانية للمخرجات. تصبح السجلات الكاملة استثناءً بدلاً من أن تكون الخيار الافتراضي.
تحقق من السياق الحالي قبل تفعيل مزيد من عمليات التكامل:
text/context
توضح طريقة عرض السياق مقدار المساحة التي تشغلها المحادثة والأدوات والملفات وغيرها من مواد الجلسة. شغّل الأمر بعد توصيل أداة جديدة، أو عندما تصبح تكلفة الجلسة مرتفعة بشكل غير متوقع.
يربط بروتوكول سياق النموذج (Model Context Protocol)، أو MCP، أداة Claude Code بأدوات ومصادر بيانات خارجية. وقد يتيح خادم MCP أنظمة تتبع المشكلات، أو قواعد البيانات، أو المتصفحات، أو أنظمة التحكم في المصدر، أو أنظمة المراقبة، أو API داخلية.
يمكن لكل خادم متصل إضافة أسماء أدوات ومخططات وتعليمات ووثائق. ولا تحتاج الأداة إلى العمل حتى تستهلك السياق، إذا كان تعريفها الكامل يُحمّل عند بدء الجلسة.
فعّل فقط الخوادم المطلوبة للمهمة الحالية. فنادراً ما يحتاج إصلاح CSS في واجهة أمامية إلى أدوات إدارة قواعد البيانات والتعامل مع الحوادث ونشر الخدمات السحابية في الوقت نفسه.
| حالة الأداة | سلوك السياق | الاستخدام المناسب |
|---|---|---|
| مفعّلة بتعريفاتها الكاملة | قد تُحمّل التعليمات فوراً | الأدوات المطلوبة طوال الجلسة |
| مؤجلة | تُحمّل التعليمات الكاملة عند طلبها | مجموعات الأدوات الكبيرة أو قليلة الاستخدام |
| معطّلة | لا تضيف أي تعليمات أدوات نشطة | عمليات التكامل غير المرتبطة |
فضّل الأدوات المؤجلة عندما تكون متاحة. يُبقي التحميل المؤجل المخططات الكبيرة خارج السياق النشط حتى تحتاج فعلياً إلى الأداة.
على سبيل المثال، قد يتيح خادم MCP لقاعدة بيانات عمليات كثيرة ومخططات تفصيلية للمعاملات. إذا كانت المهمة تقتصر على تعديل توثيق ثابت، فلن تكون لهذه التعريفات فائدة، لكنها قد تزيد حجم كل طلب.
افحص إعدادات MCP عندما يعرض /context مساحة كبيرة مخصصة للأدوات. تشرح وثائق Model Context Protocol كيف تعرض الخوادم قدراتها وتتصل بالعملاء.
Tip
تعامل مع الأدوات المفعّلة كما تتعامل مع مكتبات البرامج المستوردة. يجب أن يخدم كل استيراد المهمة الحالية، لا طلباً افتراضياً قد يأتي مستقبلاً.
استخدم وكيلاً فرعياً لمهمة بحث محددة النطاق:
textReview the files under src/payments/providers/. Return no more than 400 words covering: - Provider interface - Retry behavior - Error mapping - Shared dependencies - The three files most relevant to adding a new provider Do not propose code changes.
يستطيع الوكيل الفرعي معالجة كمية كبيرة من المواد وإعادة ملخص صغير إلى الجلسة الرئيسية. ويكون ذلك مفيداً عندما يوجّه الملخص عدة قرارات لاحقة.
التفويض لا يلغي استهلاك الرموز. بل ينقل جزءاً من العمل إلى وكيل أو جلسة أخرى. وقد يزيد الاستهلاك الإجمالي إذا قرأ الوكيل الفرعي ملفات كثيرة، ثم أنشأ رداً طويلاً، وأعاد الوكيل الرئيسي التحقيق نفسه بعد ذلك.
تظهر الوفورات فقط عندما تحل النتيجة المختصرة محل الرجوع المتكرر إلى مواد المصدر الأكبر.
استخدم Haiku للمهام المفوّضة البسيطة، مثل تصنيف الملفات أو استخراج معلومات محددة أو كتابة ملخصات قصيرة. أما تحليل البنية المعقدة فقد يحتاج إلى نموذج أقوى، خصوصاً إذا كانت الأخطاء ستؤدي إلى مزيد من العمل.
تجنب التفويض عندما تحتاج الجلسة الرئيسية إلى معلومة صغيرة واحدة، ثم ستنتهي فوراً. فبدء وكيل آخر يضيف تعليمات واستدعاءات أدوات ورسالة عائدة مقابل فائدة محدودة.
يمكنك اتخاذ القرار عملياً بهذه الطريقة:
| الحالة | هل تفوّضها؟ | السبب |
|---|---|---|
| تلخيص 30 ملفاً لاستخدامه في تخطيط متكرر | غالباً مفيد | تحل نتيجة مختصرة واحدة محل القراءات المتكررة |
| العثور على ثابت واحد في ملف معروف | غالباً غير ضروري | تكلفة التفويض أكبر من المهمة |
| مقارنة عدة سجلات والإبلاغ عن الأخطاء المتكررة | غالباً مفيد | تبقى السجلات الخام خارج الجلسة الرئيسية |
| تنفيذ تغيير مترابط بإحكام | يعتمد على الحالة | قد يفتقر الوكيل الفرعي إلى سياق التصميم المطلوب |
اجعل صيغة النتيجة صارمة. فالوكيل الفرعي الذي يعيد صفحات من النص ينقل سياقه الكبير إلى الجلسة الرئيسية ببساطة.
قبل إرفاق مستند، حوّله إلى نص عادي إذا لم يكن التنسيق مهماً:
bashpdftotext architecture-review.pdf /tmp/architecture-review.txt wc -l /tmp/architecture-review.txt sed -n '1,220p' /tmp/architecture-review.txt
يقيس هذا الأسلوب حجم المستند قبل تحميله. كما يسمح بقراءة أجزاء محددة بدلاً من إرسال ملف PDF بالكامل.
قد تستهلك لقطات الشاشة وملفات PDF مدخلات أكثر من النص العادي المكافئ. فالصور تحتاج إلى معالجة بصرية، بينما قد تجمع ملفات PDF بين النص والتخطيط والخطوط المضمّنة والرسومات.
استخدم لقطات الشاشة للمشكلات البصرية فعلاً، مثل المسافات أو القص أو الألوان أو عرض المخططات. أما تتبعات الأخطاء والإعدادات والسجلات، فالصقها كنص بدلاً من ذلك.
استخدم طلباً محدد النطاق مع المستندات الطويلة:
textRead /tmp/architecture-review.txt. Inspect only sections related to: - Authentication boundaries - Secret storage - Token rotation Return a maximum of 12 bullet points. Include source section names for every finding.
يمنع هذا النطاق Claude من التعامل مع المستند بالكامل على أنه متساوي الأهمية. كما تحافظ أسماء أقسام المصدر على إمكانية التتبع من دون إعادة اقتباسات طويلة.
تحتاج المهام المجدولة والوكلاء العاملون في الخلفية إلى الانضباط نفسه. راجع المهام المتكررة، وعطّل أي عمل لم يعد يخدم هدفاً نشطاً.
تجنب ربط جلسة قديمة وكبيرة بمهمة متكررة تعمل في الخلفية. فقد تعالج المهام المتكررة سجلاً قديماً في كل تشغيل، كما أن الفترات الطويلة بين مرات التشغيل قد تقلل فوائد الذاكرة المؤقتة المتاحة.
سجّل لكل مهمة متكررة:
textTask: [BACKGROUND TASK] Frequency: [SCHEDULE] Required inputs: [FILES OR DATA] Maximum output: [LINES OR WORDS] Stop condition: [SUCCESS CONDITION] Session policy: Start fresh unless continuity is required
يفصل هذا القالب تعليمات المهمة الدائمة عن سجل المحادثة. كما يضع حداً واضحاً لحجم الاستجابة في كل تشغيل.
شغّل هذه الأوامر عند نقاط التحقق الطبيعية:
text/context
text/usage
text/cost
يعرض /context ما يشغل نافذة السياق الحالية. وهو أول ما يجب فحصه عندما تبدو الجلسة كبيرة رغم قِصر المطالبات.
يساعد /usage على تتبع الاستهلاك أثناء الجلسة النشطة. شغّله بعد عمليات البحث الواسعة في الكود، أو قراءة المستندات الكبيرة، أو تنفيذ أعمال تعتمد بكثافة على الأدوات.
يعرض /cost معلومات التكلفة عندما تدعمها إعدادات Claude Code الحالية ونوع الحساب. قارنه قبل العمليات المكلفة وبعدها بدلاً من الانتظار حتى نهاية المهمة.
يمكن اتباع روتين التحقق التالي:
text1. Run /context before a broad investigation. 2. Complete one bounded unit of work. 3. Run /usage and /cost. 4. Save conclusions to a project file. 5. Run /clear before unrelated work.
حفظ النتائج على القرص مهم. ذاكرة المحادثة مكلفة ومؤقتة، بينما يمكن تحميل ملاحظة مختصرة من المشروع عند الحاجة فقط.
استخدم ملف نقطة تحقق مثل docs/claude-checkpoint.md:
markdown## Objective [CURRENT OBJECTIVE] ## Confirmed findings - [FINDING] - [FINDING] ## Decisions - [DECISION AND REASON] ## Remaining work - [NEXT ACTION] ## Relevant files - `[FILE PATH]`
يحوّل هذا الملف محادثة طويلة إلى مستند صغير يمكن مراجعته. تستطيع جلسة جديدة قراءته من دون إعادة كل أمر فاشل أو افتراض جرى استبعاده.
وبالنسبة إلى حدود تكلفة البنية التحتية الأوسع، ينطبق مبدأ ميزانية السياق نفسه على الخدمات المستضافة. يوضح دليل تكاليف Cloudflare Workers وحدودها كيف تؤثر قيود التنفيذ الخفية في قرارات البنية.
أنشئ جلسة واحدة مضبوطة وسجّل خط الأساس لها:
text/clear
text/context
بعد ذلك، شغّل أمراً كثير المخرجات بالطريقة المعتادة، وافحص /context، ثم امسح السياق مرة أخرى وشغّل النسخة المصفّاة. قارن حجم مخرجات الأمر التي دخلت إلى الجلسة.
بعدها، فعّل خادم MCP واحداً مطلوباً فقط، ثم افحص السياق مرة أخرى:
text/context
كرر العملية بعد تفعيل خادم آخر. يكشف ذلك تكلفة السياق لكل عملية تكامل من دون الاعتماد على التخمين.
أخيراً، أنجز مهمتين غير مرتبطتين. في الاختبار الأول، واصل العمل ضمن الجلسة نفسها. وفي الاختبار الثاني، استخدم /clear بين المهمتين. قارن /usage و/cost عند نقاط التحقق نفسها.
تعتمد القيم الدقيقة على النموذج والحساب وحالة الذاكرة المؤقتة والمهمة. لكن ينبغي أن يظهر بوضوح أثر استخدام سياق أصغر.
إذا بدا أن /clear يفقد معلومات مهمة، فهذا يعني أن الجلسة لم تكن تملك نقطة تحقق دائمة. احفظ النتائج المؤكدة والقرارات في ملف Markdown صغير قبل مسح السياق.
إذا ارتفع الاستهلاك بعد تغيير النموذج، فقد يكون السبب إبطال الذاكرة المؤقتة للمطالبات وإعادة معالجة السياق السابق. حافظ على استقرار الجلسة الأصلية، وافتح جلسة منفصلة للنموذج البديل.
إذا عرض /context مساحة كبيرة مخصصة للأدوات، فعطّل خوادم MCP غير المرتبطة. وفضّل الأدوات المؤجلة عندما يدعمها الخادم.
إذا كانت مخرجات الأوامر تهيمن على السياق، فأعد توجيه السجلات الكاملة إلى ملف، واعرض الأخطاء فقط. لا تطلب من Claude إعادة تشغيل الأمر المطوّل نفسه قبل فحص السجل الموجود.
إذا زاد الوكيل الفرعي الاستهلاك الإجمالي، فقلّص نطاق ملفاته وضع حداً لمخرجاته. وألغِ التفويض بالكامل إذا كانت النتيجة ستُستخدم مرة واحدة فقط.
إذا أدى ملف PDF أو لقطة شاشة إلى استهلاك مرتفع بشكل غير متوقع، فاستخرج النص المطلوب. لا تحتفظ بالمدخل المرئي الأصلي إلا عندما يؤثر التخطيط أو العرض في الإجابة.
إذا كان العمل المتكرر يستهلك السياق، فتحقق مما إذا كانت كل عملية تشغيل تبدأ بجلسة قديمة. غالباً ما تكون الجلسة المجدولة الجديدة ذات المدخلات الواضحة أصغر وأسهل في المراجعة.
ابدأ من هنا (خطوتك الأولى)
شغّل /context في جلسة Claude Code الحالية، وحدد أكبر فئة في السياق قبل إرسال طلب آخر.
نتائج سريعة (تأثير فوري)
/clear قبل المهمة التالية غير المرتبطة، ثم قدّم الملفات ذات الصلة فقط وشرط اكتمال واحداً قابلاً للاختبار.تعمّق أكثر (لمن يريد المزيد)
docs/claude-checkpoint.md، وحدّثه بعد كل مرحلة مكتملة، ثم ابدأ جلسة جديدة للمرحلة التالية.تعكس حدود جلسات Claude Code حجم السياق الكامل الذي تتم معالجته، لا المطالبة الأخيرة فقط. ويسهم فيها سجل المحادثة والملفات ومخرجات الأوامر وتعريفات الأدوات والصور والعمل المفوّض.
استخدم /clear بين المهام غير المرتبطة. واستخدم /rename و/resume و/rewind عندما تكون الاستمرارية مفيدة، بدلاً من إبقاء كل المهام داخل جلسة واحدة تكبر باستمرار.
اختر النموذج ومستوى الجهد والوضع السريع قبل بدء أي عمل كبير. وبالنسبة إلى المهام الجانبية الصغيرة، افتح جلسة Haiku منفصلة بدلاً من تغيير النموذج داخل جلسة نشطة.
صفِّ مخرجات Shell، واحتفظ بالسجلات الكاملة على القرص، ولا تحمّل إلا حالات الفشل ذات الصلة.
عطّل خوادم MCP غير المستخدمة، وفضّل الأدوات المؤجلة عندما تكون متاحة.
فوّض التحقيقات الكبيرة التي ستُستخدم نتائجها أكثر من مرة، لا عمليات البحث عن معلومة في سطر واحد.
حوّل ملفات PDF ولقطات الشاشة إلى نص عادي عندما لا تكون البنية البصرية مهمة.
تحقق من /context و/usage و/cost خلال الأعمال الطويلة.
لا تنتج الجلسات الصغيرة من مطالبات أقصر فقط. بل تحتاج إلى حدود صارمة لسجل المحادثة والأدوات والمخرجات ونطاق المهمة.