إنشاء نافذة سياق جديدة
أدِر نافذة سياق Bob للحفاظ على الذاكرة والتحكم في التكلفة وجودة المخرجات أثناء المحادثات المعقدة أو الطويلة.
لكل مهمة (محادثة) في لوحة الدردشة نافذة سياق خاصة بها. نافذة السياق هي حد الـ token الذي يمكن لـ Bob الاحتفاظ به في ذاكرة الجلسة الحالية. يشمل السياق تعليمات النظام ومخططات الأدوات وقواعدك ومهاراتك والنص الكامل للمحادثة.
في هذا الدرس، ستفتح نافذة السياق، وتتعرّف إلى ما يحمّله Bob قبل بدء العمل الفعلي، ومتى ينبغي إنشاء نافذة سياق جديدة.
بنهاية هذا الدرس، ستتمكن من:
- تحديد فئات نافذة السياق وما يحمّله Bob في كل فئة.
- قياس الحمل الأساسي للسياق في Galaxium Travels.
- مراقبة نمو Messages بعد طلب متعلق بـ repository مع بقاء الفئات الثابتة مستقرة.
- بدء مهمة جديدة لإعادة ضبط نافذة السياق مع الاحتفاظ بالمهمة السابقة في السجل.
تنظيم هذا الدرس
| الخطوة | القسم | ما ستفعله |
|---|---|---|
| 1 | إعداد البيئة التدريبية | فتح Galaxium Travels ولوحة الدردشة |
| 2 | قراءة تفصيل نافذة السياق | إرسال طلب قصير ثم فحص تفصيل جديد (~8.5k) |
| 3 | زيادة الرسائل بطلب | سرد الملفات ثم التحقق من ارتفاع Messages إلى ~4.2k (الإجمالي 12.1k) |
| 4 | إنشاء نافذة سياق جديدة | النقر على + (New task)، ثم التحقق من إعادة ضبط المؤشر |
تعرّف إلى المصطلحين التاليين:
- Task: سلسلة محادثة واحدة لها نافذة سياق مستقلة. تبدأ نافذة سياق جديدة عبر + (New task). توجد هنا طلباتك وردود Bob وأزرار الموافقة.
- Context window breakdown: انقر على token usage indicator في أعلى يمين لوحة الدردشة لمعرفة أين تُستهلك الـ tokens.
تتغير الإجماليات بحسب خوادم MCP والقواعد والمهارات ومقدار ما يقرأه Bob. الأرقام التالية من Galaxium Travels على نافذة بحجم 270.0k. ينبغي أن تكون الفئات الثابتة قريبة من هذه الأرقام، بينما تعتمد Messages على ما تطلبه من Bob.
المتطلبات المسبقة
لإكمال هذا الدرس، تحتاج إلى ما يلي:
أهمية إدارة السياق
تكلفة الـ token
الـ tokens هي وحدة الاستهلاك في Bob، وتقاس بـ Bobcoins. تستهلك المحادثات الأطول وقراءة الملفات الكبيرة tokens أكثر. يساعد إبقاء المحادثات مركّزة في خفض التكلفة.
يعيد كل طلب إرسال السياق النشط بالكامل، بما في ذلك الحمل الثابت الذي لم تكتبه أنت. حتى السؤال المؤلف من سطر واحد يتضمن Tool definitions وRules وكل ما يحمّله Bob افتراضيًا.
التلخيص يفقد بعض التفاصيل
عندما يصل Bob إلى حد الـ token، فإنه يلخّص المحتوى الأقدم لمواصلة العمل، وقد يؤدي ذلك إلى فقدان التفاصيل. قد تفقد حالات الحواف والاستدلالات الوسيطة والقيود التي ذكرتها قبل عدة طلبات.
إذا كنت لا تزال بحاجة إلى تفاصيل المحتوى، فابدأ مهمة جديدة قبل أن يلخّصها Bob.
تتراجع الجودة قبل الوصول إلى الحد
يستخدم Bob حاليًا نافذة بحجم 270.0k token. راجع token usage indicator لديك لمعرفة الحد الدقيق. غالبًا ما تتراجع الجودة قبل بلوغ الحد؛ فكلما ازدادت Messages أصبحت الردود أقل موثوقية.
إعداد البيئة التدريبية
-
استنسخ repository الخاص بـ Galaxium Travels.
git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travels -
انقر على File ثم Open Folder.
-
انتقل إلى الدليل
galaxium-travelsالذي استنسخته وافتحه. -
افتح واجهة دردشة Bob بالنقر على أيقونة Bob بجوار شريط التنقل، أو استخدم الاختصار Option + Command + B على macOS أو Ctrl + Alt + B على Windows.
-
شغّل
/initفي حقل إدخال الدردشة. يفحص Bob الـ repository وينشئ ملفAGENTS.mdيحتوي على قواعد المشروع. انقر على Approve todo tools for task إذا ظهر الطلب.انتظر حتى يبلغ Bob عن اكتمال العملية. سيظهر
AGENTS.mdلاحقًا ضمن سطر Rules في تفصيل نافذة السياق؛ لذلك يجب أن يكون موجودًا قبل قياس خط الأساس.
قراءة تفصيل نافذة السياق
احصل على خط أساس جديد، ثم اقرأ التفصيل.
-
انقر على + أعلى لوحة الدردشة لبدء مهمة جديدة.
-
أرسل طلبًا قصيرًا لاستخدام قدر محدود من الـ tokens:
Quickly say hi back.انتظر رد Bob.
-
انقر على مؤشر استخدام الـ token أعلى يمين لوحة الدردشة لمشاهدة تفصيل الاستخدام.

بعد هذا التبادل في Galaxium Travels، ستختلف أرقامك، لكن ينبغي أن ترى أرقامًا قريبة من الآتي:
| Tokens | |
|---|---|
| Total used | 8.5k (~3% ممتلئ) |
| System prompt | 1.5k |
| Tool definitions | 5.1k |
| Rules | 830 |
| Skills | 454 |
| Messages | 590 |
| Reserved for model response | 20.0k |
| Available space | 241.5k |
إذا كان Total used بعيدًا كثيرًا عن 8.5k، فتحقق من أنك بدأت مهمة جديدة وأرسلت الطلب الواحد فقط.
تكون Tool definitions عادةً أكبر فئة ثابتة. تُحمّل خوادم MCP ومخططات الأدوات المضمنة سواء استخدمتها أم لا. تأتي Rules من ملفات المشروع مثل AGENTS.md. وقد تزداد Skills لاحقًا إذا حمّل Bob مهارة أثناء المهمة.
-
اقرأ كل فئة. يبيّن التفصيل أين تذهب الـ tokens:
الفئة معناها System prompt تعليمات Bob الأساسية لهذه الجلسة Tool definitions مخططات أدوات Bob المضمنة وأدوات MCP المتصلة Rules تعليمات مخصصة من مشروعك ووضعك (custom rules، مثل AGENTS.md)Skills تعليمات أي skills حمّلها Bob (قد تعرض الواجهة عددًا مثل Skills (1 loaded)) Messages طلباتك وردود Bob ونشاط الأدوات في المهمة. هذا هو transcript المحسوب بالـ tokens. ضمن Estimated breakdown:
- Reserved for model response: tokens محجوزة كي يتمكن Bob من الرد دون بلوغ الحد فورًا.
- Available space: العدد التقديري للـ tokens المتاحة قبل حاجة Bob إلى التلخيص.
في Galaxium، يبلغ مجموع الفئات الثابتة (System prompt وTool definitions وRules وSkills) نحو 8k قبل بدء أي عمل فعلي. تدفع هذا الحمل في كل دور، سواء كتبته أم لا.
زيادة الرسائل باستخدام طلب
ابقَ في المهمة نفسها. أرسل طلبًا يضيف محتوى إلى transcript.
-
اطلب قائمة بالملفات.
List all of the files in this directory.وافق على إجراءات القراءة إذا طُلب منك ذلك. سيسرد Bob ملفات الـ repository.
-
قارن ما تغيّر. افتح التفصيل مجددًا. في Galaxium Travels، ينبغي أن ترى أرقامًا قريبة من الآتي:
الفئة مهمة جديدة بعد سرد الملفات عمل مستمر (مرجع) System prompt 1.5k 1.5k 1.5k Tool definitions 5.1k 5.1k 5.1k Rules 830 830 830 Skills 454 454 1.2k (1 loaded) Messages 590 4.2k 19.4k Total used 8.5k (~3%) 12.1k (~4%) 28.0k (~10%) Available space 241.5k 237.9k 222.0k ينبغي أن تعرض Messages الآن نحو 4.2k. إذا كانت أكبر بكثير، فقد قرأ Bob ملفات أكثر من هذا المثال، وهذا مقبول. المقصود هو أن Messages نمت بينما لم تتغير الفئات الثابتة.
توجد مخرجات القائمة ونشاط الأدوات في transcript. تبقى System prompt وTool definitions وRules وSkills ثابتة بعد طلب سرد الملفات الواحد.
يمثل العمود الأيمن جلسة Galaxium أطول تضمنت قراءات وطلبات متابعة أكثر. قد تزداد Skills إذا حمّل Bob مهارة (من 454 إلى 1.2k في ذلك المثال). بمرور الوقت، تكون Messages عادةً أسرع الفئات نموًا.
يضيف طلب سرد الملفات الواحد نحو 3.6k إلى Messages في Galaxium. يبقى الحمل الثابت قريبًا من 8k. يستهلك استكشاف الـ repository السياق بسرعة، حتى عندما لا يتغير الحمل الثابت.
إنشاء نافذة سياق جديدة
ابدأ مهمة جديدة في المشروع نفسه. تبقى المهمة القديمة (المحادثة) في السجل.
-
انقر على + (New task) أعلى لوحة الدردشة.
يُعاد ضبط المؤشر. تنخفض Messages إلى عدد صغير، وتُحمّل System prompt وTool definitions وRules وSkills من جديد إلى ما يقارب خط الأساس.
-
تبقى المهمة التي غادرتها في قائمة المهام، ويمكنك العودة إليها في أي وقت. تحتفظ بسجلها وعدد الـ tokens الخاص بها. لا يستخدمها Bob أثناء عملك في المهمة الجديدة.
ابدأ مهمة جديدة عندما:
- تغيّر الموضوع أو هدف العمل.
- تصبح Messages كبيرة بما يكفي للإضرار بالجودة أو التكلفة. في Galaxium، يمثل وصول Messages إلى 19.4k إشارة مناسبة لإعادة الضبط.
- تنتهي من التخطيط وتريد مهمة نظيفة للتنفيذ. راجع التخطيط للميزات المعقدة وتنفيذها.
للتفكير: افتح التفصيل في المهمة الجديدة. أي الفئات عادت إلى خط الأساس؟ وأيها كان سيستمر في النمو لو بقيت في المهمة القديمة؟
الخطوات التالية
في هذا الدرس، تعلمت إدارة نافذة السياق بفاعلية. قرأت التفصيل، وقست الحمل الثابت للـ token، وراقبت ازدياد Messages بعد طلب سرد ملفات واحد، ثم أعدت الضبط باستخدام + (New task).
- إدارة نافذة السياق: حد التلخيص وتأثير MCP وأفضل الممارسات.
- القواعد المخصصة: ما يملأ Rules.
- المهارات: ما يملأ Skills.
توليد كود آمن بسير عمل actor-critic
استخدم IBM Bob لتكوين قواعد الأمان وتطبيق نمط actor-critic لتوليد كود Python يرضي أطر الأمان قبل وصوله إلى أداة التحليل الثابت.
حافظ على تزامن التوثيق مع قاعدة الكود
تعرّف على كيفية إبقاء التوثيق التقني متزامنًا مع قاعدة الكود باستخدام أمر init في IBM Bob ووضع Docs Architect مخصص عبر سيناريوهات تطوير واقعية، مثل تطوير الميزات ومراجعات الكود وتأهيل الأعضاء الجدد والصيانة المستمرة.