المفاهيم الأساسية
العمل مع المشاريع الكبيرة
إدارة قواعد أكواد كبيرة في Bob IDE. فهم تحسين نافذة السياق ومعالجة الملفات وأفضل الممارسات للمشاريع على مستوى المؤسسة.
فهم حدود السياق في المشاريع الكبيرة
يستخدم Bob نماذج لغوية كبيرة لها نافذة سياق محدودة. هذا هو الحد الأقصى لكمية النص (مقاسة بـ tokens) التي يمكن لـ Bob معالجتها دفعة واحدة. إذا كان السياق كبيراً جداً، قد لا يتمكن Bob من فهم طلبك أو توليد ردود دقيقة.
تشمل نافذة السياق:
- رسالة النظام (التعليمات لـ Bob)
- سجل المحادثة
- محتوى أي ملفات تذكرها باستخدام
@ - النص المحدد المرسل إلى المحادثة باستخدام Cmd + L (Mac) أو Ctrl + L (Windows/Linux)
- مخرجات أي أوامر أو أدوات يستخدمها Bob
استراتيجيات لإدارة السياق
- كن محدداً: عند الإشارة إلى الملفات أو الأكواد، استخدم مسارات ملفات وأسماء دوال محددة. تجنب المراجع الغامضة مثل "الملف الرئيسي."
- استخدم إشارات السياق بفعالية: استخدم
@/path/to/file.tsلتضمين ملفات محددة. استخدم@problemsلتضمين الأخطاء والتحذيرات الحالية. استخدم@متبوعاً بـ commit hash للإشارة إلى commits محددة في Git. يمكنك أيضاً تحديد نص في محررك واستخدام Cmd + L (Mac) أو Ctrl + L (Windows/Linux) لإرساله مباشرةً إلى المحادثة. - قسّم المهام: قسّم المهام الكبيرة إلى مهام فرعية أصغر وأكثر قابلية للإدارة. هذا يساعد في إبقاء السياق مركّزاً.
- لخّص عند الحاجة: إذا كنت بحاجة إلى الإشارة إلى كمية كبيرة من الأكواد، فكر في تلخيص الأجزاء ذات الصلة في طلبك بدلاً من تضمين الكود كاملاً.
- أعطِ الأولوية للتاريخ الحديث: يُكثّف Bob تلقائياً الرسائل القديمة في سجل المحادثة للبقاء ضمن نافذة السياق. كن واعياً بذلك وأعد تضمين السياق المهم عند الحاجة.
- هيّئ معالجة الملفات الكبيرة: اضبط إعداد معالجة الملفات الكبيرة للتحكم في كيفية معالجة Bob للملفات التي تتجاوز حداً معيناً من الحجم. هذا يساعد في إدارة استخدام السياق عند العمل مع ملفات كبيرة.
- إدارة استخدام أدوات MCP: يمكنك تعطيل وتفعيل أدوات محددة في خدمة MCP للسماح لك باستخدام ما تحتاجه فقط، مما يقلل استهلاك السياق من تعريفات الأدوات غير المستخدمة.
- استخدم subagents أو subtasks للعمل المعزول: للقطع الكبيرة والمستقلة من العمل، فكر في استخدام subagent أو subtask. كلاهما يعمل في نافذة سياق منفصلة خاصة به، مما يُبقي المحادثة الرئيسية خفيفة. راجع الأدوات للحصول على تفاصيل حول
spawn_subagentوstart_subtask. - استخدم أدوات الرموز بدلاً من إشارات الملفات الكاملة: بدلاً من الإشارة إلى ملف كامل بـ
@، يمكن لـ Bob استخدام أدوات مثلGetSymbolsOverviewوFindSymbolللتنقل مباشرةً إلى الفئة أو الدالة ذات الصلة. هذا يسترد فقط ما هو مطلوب ويتجنب تحميل الملف كاملاً في السياق.
مثال: إعادة هيكلة ملف كبير
إذا كنت بحاجة إلى إعادة هيكلة ملف TypeScript كبير (src/components/MyComponent.tsx)، إليك نهجاً فعّالاً:
- احصل على نظرة عامة أولية:
@/src/components/MyComponent.tsx أدرج الدوال والفئات في هذا الملف. - استهدف دوالاً محددة:
@/src/components/MyComponent.tsx أعد هيكلة دالة `processData` لاستخدام `async/await` بدلاً من Promises. - أجرِ تغييرات تكرارية: أجرِ تغييرات صغيرة ومتزايدة، مراجعاً وموافقاً على كل خطوة.
بتقسيم المهمة وتقديم سياق محدد، يمكنك العمل بفعالية مع الملفات الكبيرة ضمن حدود نافذة السياق.
ما رأيك في هذا الموضوع؟