إدارة نافذة السياق
تعرف على كيفية عمل نافذة السياق بسعة 270,000 token في Bob، وكيف تُساهم كل فئة في استخدام الـ tokens، وأفضل الممارسات للحفاظ على جلسات مركزة وفعالة من حيث التكلفة.
نظرة عامة على نافذة السياق
كل جلسة في Bob Shell لها نافذة سياق — ميزانية الـ tokens لتلك المحادثة. الحد الأقصى هو 270,000 token. كل ما يحمّله Bob يُحتسب منها.
ما يملأ النافذة
| الفئة | ما تشمله |
|---|---|
| موجّه النظام | التعليمات الأساسية لـ Bob للجلسة |
| تعريفات الأدوات | مخططات الأدوات المدمجة وتعريفات أدوات MCP المتصلة |
| أدوات MCP | التعليمات والأوصاف للأدوات المقدمة من MCP servers المتصلة |
| القواعد | التعليمات المخصصة من ملفات قواعد المشروع والوضع (مثلاً، AGENTS.md أو .bob/rules-*) |
| المهارات | التعليمات من المهارات التي حمّلها Bob للمحادثة |
| الرسائل | موجّهاتك وردود Bob ونشاط الأدوات في المحادثة. هذا هو السجل المحتسب كـ tokens. |
مخرجات الأوامر ونتائج الأدوات تُحتسب ضمن الرسائل. محتويات الملفات لا تحصل على سطر منفصل.
يتضمن تقرير الـ tokens حقلين ملخصين:
- محجوز لاستجابة النموذج: tokens مخصصة لرد Bob التالي (عادةً 20.0k).
- المساحة المتاحة: الـ tokens الحرة المتبقية.
التكلفة الثابتة الأساسية
تستهلك الفئات الثابتة السياق قبل أن تبدأ العمل مع Bob. حتى موجّه بسيط مثل "Quickly say hi back." يصل إلى حوالي 8.5k token. معظمها تعريفات الأدوات (5.1k) وموجّه النظام (1.5k) والقواعد (830) والمهارات (454). فقط 590 في الرسائل.
يُعيد Bob إرسال مكدس التكلفة الثابتة الكاملة مع كل موجّه. المزيد من MCP servers أو المهارات المحمّلة يزيد أدوات MCP وتعريفات الأدوات والمهارات قبل أن تكتب.
مراقبة استخدام الـ tokens
يُبلّغ Bob Shell عن استخدام الـ tokens في نهاية كل تبادل. يوضح الجدول التالي ما يؤثر على كل فئة:
| الفئة | ما يجعلها تنمو |
|---|---|
| موجّه النظام | يُحمَّل عند بدء الجلسة. يبقى ثابتاً خلال العمل الاعتيادي. |
| تعريفات الأدوات | مخططات الأدوات المدمجة. تُضبط عند بدء الجلسة. تبقى ثابتة خلال العمل الاعتيادي. |
| أدوات MCP | MCP servers والأدوات الممكّنة المتصلة. تنمو عند إضافة servers أو أدوات، لا عند إرسال الموجّهات. |
| القواعد | ملفات قواعد المشروع والوضع (مثلاً، AGENTS.md). تُضبط عند فتح الجلسة. |
| المهارات | المهارات التي يحمّلها Bob للجلسة. يمكن أن تزيد إذا فعّل Bob مهارة في منتصف المحادثة. |
| الرسائل | موجّهاتك وردود Bob وقراءات الملفات ومخرجات الأدوات ومخرجات الأوامر. تنمو مع كل دور ومع استكشاف المستودع. |
في تبادل قصير، كثيراً ما تستهلك الفئات الثابتة معظم المجموع. عندما تطلب من Bob قراءة الملفات أو تشغيل الأدوات، تصبح الرسائل عادةً الفئة الأكبر. انتبه لهذا التحول.
المساحة المتاحة تتقلص مع نمو أي فئة. المحجوز لاستجابة النموذج مخصص لرد Bob التالي. ليس جزءاً من المجموع المستخدم أعلاه.
حدود الـ tokens
الحد الصارم هو 270,000 token لكل جلسة. يبدأ Bob بالضغط قبل الوصول إلى الحد. عادةً ما يبدأ الضغط عند حوالي 190,000 token من إجمالي الاستخدام.
الضغط التلقائي للسياق
عند عتبة الضغط، يقوم Bob بـ:
- الحفاظ على السياق الأحدث والأكثر صلة.
- تلخيص أو حذف أجزاء المحادثة الأقدم.
- الحفاظ على تعليمات النظام الحيوية وتعريفات الأدوات والقواعد والمهارات.
- الاستمرار مع السياق المضغوط.
الضغط يُفضي إلى خسارة. التفاصيل من أوائل الرسائل قد لا تنجو. ابدأ جلسة جديدة عند تغيير الموضوع أو عندما تكون الرسائل كبيرة بما يكفي للتأثير على الجودة.
التأثير على Bobcoins
تتتبع Bobcoins استخدام الـ tokens. تُحتسب كل من الـ tokens المدخلة والمخرجة.
- كل رسالة ترسل السياق النشط الكامل مجدداً، بما في ذلك التكلفة الثابتة.
- يُعيد Bob معالجة ما هو محمّل بالفعل مع كل إرسال.
- الجلسات الطويلة مع رسائل ثقيلة تكلّف أكثر لكل موجّه لاحق.
أفضل الممارسات
نافذة السياق ليست تخزيناً. إنها ذاكرة عاملة — ما يمكن لـ Bob استخدامه في كل خطوة. تحكم فيما يدخل. أعد الضبط عندما تمتلئ الجلسة بمخرجات قديمة. تحقق من النتيجة بالاختبارات، لا بمجرد رد Bob.
حدّد الجلسة والمحادثة
استخدم جلسة واحدة لكل هدف عمل وابدأ بموجّه ضيق. حدّد الهدف والنتيجة المتوقعة والقيود قبل أن تطلب من Bob استكشاف المستودع. سمِّ الملفات والوظائف صراحةً. تجنب الطلبات المبهمة مثل "اقرأ المستودع كله" أو "تحقق من الـ backend". ابدأ جلسة جديدة عند تغيير الموضوع — المحتوى غير ذي الصلة في الرسائل يضيف تكلفة ويمكن أن يُربك Bob.
ابقِ السياق الثابت خفيفاً
تستهلك الفئات الثابتة الـ tokens قبل أن تكتب أي شيء. للحفاظ على هذه التكلفة منخفضة:
- ابقِ القواعد المخصصة و
AGENTS.mdقصيرة — ضع فيها فقط أوامر الإعداد والاختبار والأسلوب (مثلاً،pnpm test،mvn verify). - اتصل فقط بـ MCP servers والأدوات والمهارات التي يحتاجها العمل الحالي. افصل ما لا تستخدمه، وفضّل تهيئة MCP على مستوى المشروع على العام.
- احتفظ بـ الرسائل للأدلة الظرفية الخاصة بهذه الجلسة — الخطأ والسجلات والملفات ذات الصلة. لا تكرر القواعد الثابتة في كل موجّه.
أضف السياق عند الحاجة
دع Bob يبحث ويقرأ الملفات المستهدفة بدلاً من لصق كتل محتوى كبيرة في موجّه المحادثة. أشر إلى مسارات ملفات محددة ونطاقات أسطر في موجّهك، وتجنب مراجع المجلدات الواسعة:
✓ Fix the email validation logic in src/utils/validation.ts lines 45-67
✗ Review everything in src/, tests/, and docs/ and suggest improvementsاعمل على مراحل — ابحث عن الملفات المحتملة، وافحص الملفات ذات الصلة، وخطط، وغيّر، وتحقق. للقراءات الواسعة على المستودع، استخدم subagents حتى تتلقى الجلسة نتائج مضغوطة بدلاً من هبوط كل استدعاء read_file في الرسائل. عند تعارض المصادر، ثق بالكود الجاري والاختبارات على التعليقات القديمة أو ملاحظات README المتقادمة.
للمزيد من التكتيكات حول المستودعات الكبيرة، راجع العمل مع المشاريع الكبيرة.
أعد الضبط عند امتلاء الرسائل
على مدار جلسة طويلة، تتراكم في الرسائل محتويات ملفات متكررة وخطط مهجورة ومخرجات أدوات قديمة. ابدأ جلسة جديدة عند تغيير هدف العمل أو عندما تكون المحادثة كبيرة بما يكفي للتأثير على الجودة. احتفظ بالقيود والأدلة والأسئلة المفتوحة — أزل الباقي.
يمكن لـ Bob أيضاً ضغط الأجزاء القديمة تلقائياً، لكن الضغط يُفضي إلى خسارة وقد لا تنجو التفاصيل من أوائل الرسائل. فضّل التغييرات الصغيرة المعتمدة على تشغيل واحد كبير مستقل حتى تبقى الفروق قابلة للمراجعة ويبقى Bob على المسار الصحيح.