الميزات

الوكلاء الفرعيون (subagents)

تعرّف على كيفية استخدام Bob لـ subagents للتعامل مع مهام مركّزة ومعزولة في سياقات منفصلة دون تلويث المحادثة الرئيسية.

ما الوكلاء الفرعيون؟

الوكيل الفرعي (subagent) هو وكيل مستقل يمكن لـ Bob إنشاؤه للتعامل مع مهمة مركّزة ومعزولة. يعمل في نافذة سياق معزولة خاصة به، ويُنجز العمل المُسنَد إليه، ويعيد ملخصًا للنتائج إلى المحادثة الرئيسية.

يكون الوكلاء الفرعيون مفيدين للأعمال التي ستُضيف كميات كبيرة من المحتوى غير ذي الصلة إلى المحادثة الجارية — مثلاً، استكشاف قسم من قاعدة الكود بعمق لجمع معلومات محددة قبل أن يواصل Bob المهمة الرئيسية.

كيف تعمل subagents

عندما ينشئ Bob subagent:

  1. يُنشأ وكيل مستقل جديد بنافذة سياق خاصة به.
  2. يُمرّر إليه Bob وصفًا للمهمة المركّزة المطلوب تنفيذها.
  3. يُطلب منك الموافقة على الإنشاء قبل البدء. ينتظر Bob تأكيدك.
  4. يُنفّذ subagent المهمة باستخدام أدواته المتاحة.
  5. يعيد subagent ملخصًا لنتائجه إلى Bob.
  6. يستخدم Bob هذا الملخص لمتابعة المحادثة الرئيسية.

يعمل subagent بشكل منفصل عن المحادثة الرئيسية. لا يشارك الحالة أو الملفات أو نتائج الأدوات مع Bob إلا إذا مرّرها Bob صراحةً في الوصف.

أنواع subagents

يوجد نوعان من subagents، كل منهما مناسب لمهام مختلفة:

النوعالوصفالأفضل لـ
exploreاستكشاف قاعدة كود للقراءة فقط، يعمل على نموذج أخفالبحث وتلخيص الكود وإيجاد الملفات ذات الصلة وفهم البنية
generalوصول كامل للأدوات، يعمل على النموذج الافتراضيأي مهمة معزولة تتطلب قراءة أو كتابة أو أوامر

السياق وسجل المحادثة

بشكل افتراضي، لا يرى subagent سجل المحادثة الأصلية. هذا يُبقي سياقه مُركَّزًا ومخصصًا للمهمة المطلوبة.

عندما يحتاج subagent لفهم قرارات أو قيود أو تفضيلات سابقة أُعرِبت في المحادثة، يمكن لـ Bob تعيين fork_context: true لتمرير سجل المحادثة إلى subagent.

قيود الوضع

الوضع الذي تعمل فيه يتحكم في أنواع subagent المسموح لـ Bob بإنشائها. بعض الأوضاع تسمح بجميع أنواع subagent؛ بعضها الآخر يقيّد الإنشاء بأنواع محددة أو يمنعه كليًا. إذا لم يكن إنشاء subagent مسموحًا به في الوضع النشط، سيُكمل Bob العمل مباشرةً دون إنشاء أي subagent.

متى يستخدم Bob subagents

يستخدم Bob subagents بتحفظ. الافتراضي دائمًا هو إنجاز العمل مباشرةً دون إنشاء subagent. لا يُنظر في subagent إلا عندما تتحقق جميع الشروط التالية:

  • المهمة معزولة بوضوح ولا يُحتاج إلا لملخص منها.
  • ستُضيف قدرًا كبيرًا من المحتوى غير ذي الصلة للسياق الرئيسي.
  • لا يمكن إنجازها باستدعاء أداة واحدة أو اثنتين مباشرتين.

لا يستخدم Bob subagents لـ:

  • قراءات الملفات البسيطة أو عمليات البحث السريعة.
  • عمليات الأداة الفردية.
  • المهام التي يكون فيها السياق ذو الصلة متاحًا بالفعل.

subagents مقابل subtasks

subagents وsubtasks مفهومان مترابطان لكن مختلفان:

SubagentSubtask
الرؤيةيعمل بصمت في الخلفيةيظهر في واجهة المستخدم مع مسار تنقل ومحادثة خاصة به
التفاعلغير تفاعلي — يعيد ملخصًا فقطتفاعلي بالكامل — يمكنك متابعة التقدم ومتابعة المحادثة
الغرضجمع المعلومات أو إنجاز عمل معزول دون تلويث السياق الرئيسيالتعامل مع عمل معقد بما يكفي ليستفيد من التتبع المخصص وخيط محادثة منفصل
الإخراجملخص يُعاد إلى Bobخيط محادثة مستقل

استخدم subagents لجمع المعلومات في الخلفية. استخدم subtasks للأعمال المعقدة التي تستفيد من الرؤية ومحادثة مخصصة.

توجيه سلوك subagent

يمكنك التحكم في ما يركّز عليه subagent، وطريقة تنسيق مخرجاته، والأدوات التي يستطيع استخدامها، بإنشاء ملف persona للوكيل في .bob/agents/. تمنح ملفات persona الـ subagent دورًا محددًا ومجموعة من القيود؛ مثلًا، مراجع كود يُنتج جدول نتائج مرتبًا حسب الشدة ويُطلب منه صراحةً عدم اقتراح إصلاحات.

لإرشادات الإعداد والأمثلة، راجع شخصيات الوكلاء.

ما رأيك في هذا الموضوع؟