جدول المحتويات
عندما تريد أن تتقاسم عدة نماذج ذكاء اصطناعي العمل داخل Claude Code، توجد آليتان متشابهتان لكنهما مختلفتان — subagents وAgent Teams. الأسماء مربكة، لكن دوريهما وأسلوب التنسيق بينهما مختلفان اختلافًا جوهريًا. يوضّح هذا المقال ماهية كلٍّ منهما، والفرق الحاسم، وأيهما تستخدم وكيف — استنادًا إلى الوثائق الرسمية.
ثلاث نقاط جوهرية بدايةً. (1) إن الـ subagents ميزة مدمجة — حيث يُسنِد العميل الرئيسي مهمة جانبية محدّدة إلى «مساعد بسياق جديد» ويستعيد منه ملخّصًا فقط (هرمي، مؤقت). (2) أما Agent Teams فهي ميزة تجريبية اختيارية، معطّلة افتراضيًا. ولا تعمل إلا بعد ضبط CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 — حيث تتنسّق عدة جلسات مستقلة كأقران عبر قائمة مهام مشتركة (نِدّ إلى نِدّ، دائم). (3) إن «التداخل حتى 5 مستويات» ميزة خاصة بالـ subagents؛ أما Agent Teams فلا يمكنها التداخل (هي مسطّحة) — فلا تخلط بين الأمرين.
هرمية، أم أقران؟
— أن تفوّض وتستعيد ملخّصًا، أو أن تتنسّق على قدم المساواة
Subagents: يسلّم العميل الرئيسي مهمة إلى مساعد ويستعيد النتيجة. Agent Teams: أقران متساوون يتنسّقون عبر قائمة مهام مشتركة.
الـ Teams ميزة تجريبية معطّلة افتراضيًا — يلزم CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1.
1. ما هي Subagents
الـ subagents هي عملاء متخصّصون يتولّون أنواعًا محدّدة من العمل داخل جلسة واحدة. وبحسب الوثائق الرسمية، «يعمل كل subagent في نافذة سياق خاصة به، بموجّه نظام مخصّص وصلاحيات أدوات محدّدة». يقوم العميل الرئيسي بالتفويض تلقائيًا بناءً على description كل subagent، ويعمل الـ subagent باستقلالية ويُعيد ملخّصًا فقط إلى المحادثة الرئيسية.
الجوهر هو أن «كل subagent يعمل في سياق جديد ومنفصل» — فهو لا يرى سجلّ محادثتك ولا الملفات التي قرأتها بالفعل. ولهذا يمكنك أن تجعله ينجز عمليات بحث ثقيلة «في الخارج» وتستعيد الخلاصة فقط، دون أن تُغرق سياقك الرئيسي بالسجلّات أو مخرجات الاختبارات. تُدار عبر /agents (تبويبا Running / Library). وتُعرّفها في .claude/agents/<name>.md بمقدّمة YAML (name / description / tools / model). ومن المدمجة: Explore (Haiku، قراءة فقط)، وPlan، وgeneral-purpose. يمكن أن تتداخل الـ subagents حتى 5 مستويات (في العمق 5 لا تُمرَّر الـ Agent tool، فلا يمكنها توليد المزيد). وللصورة الأوسع، راجع ما هو نظام الوكلاء المتعدّدين.
2. ما هي Agent Teams (تجريبية، خلف علامة تفعيل)
تتيح لك Agent Teams تنسيق عدة جلسات Claude Code كـ«فريق». إحداها هي team lead (تنسّق، وتوزّع، وتجمّع)؛ والبقية هم teammates — كلٌّ منهم جلسته وسياقه المستقلّان — يتواصلون مباشرة فيما بينهم عبر قائمة مهام مشتركة وصندوق بريد (mailbox). وعلى خلاف الـ subagents، يمكنك التحدّث مباشرة إلى كل teammate على حدة.
مهم: إن Agent Teams ميزة تجريبية، معطّلة افتراضيًا
تنصّ الوثائق الرسمية صراحةً على أن «agent teams تجريبية ومعطّلة افتراضيًا». ولاستخدامها، اضبط متغيّر البيئة CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 (أو عبر env في settings.json). وبدونه، لا يُنشأ أي فريق عند بدء التشغيل، ولن يقترح Claude إنشاء teammates أو يولّدهم.
لاحظ أن تغيير v2.1.178 لم يفعل سوى «إزالة خطوة الإعداد TeamCreate/TeamDelete، بحيث تحصل كل جلسة — مع تفعيل العلامة — على فريق ضمني واحد» — وهو لم «يفعّل الـ teams افتراضيًا». فالعلامة ما زالت مطلوبة.
3. الفرق الحاسم
بالمقارنة جنبًا إلى جنب، يتبيّن أن أسلوب التنسيق لدى الاثنين مختلف تمامًا.
| Subagents | Agent Teams | |
|---|---|---|
| التنسيق | هرمي (الرئيسي يفوّض ويجمّع النتائج) | نِدّ إلى نِدّ (تنسيق ذاتي عبر قائمة مهام مشتركة) |
| التواصل | يبلّغون المستدعي فقط (لا يتحادثون فيما بينهم أبدًا) | يراسل الـ teammates بعضهم بعضًا مباشرة عبر الـ mailbox |
| الديمومة | مؤقت (يُعيد ملخّصًا بعد المهمة) | جلسات مستقلة دائمة (توجّهها مباشرة) |
| السياق | سياق جديد خاص به؛ يعود الملخّص إلى الرئيسي | مستقلّة تمامًا (لا يُلخَّص شيء تلقائيًا للعودة) |
| تكلفة الرموز | منخفضة نسبيًا | عالية (كل teammate نسخة Claude منفصلة) |
| الحالة | مدمجة، متاحة دائمًا | تجريبية، خلف علامة تفعيل، معطّلة افتراضيًا |
| التداخل | تتداخل الـ subagents حتى 5 مستويات | لا تداخل (لا يمكن للـ teammates توليد teammates) |
في جملة واحدة: Subagents = «يسلّم العميل الرئيسي مهمة مركّزة إلى مساعد بسياق جديد ويستعيد الخلاصة (هرمي، مؤقت، ملخّص فقط)». Agent Teams = «تتنسّق عدة جلسات دائمة عبر قائمة مهام مشتركة ومراسلة، ويمكنك توجيه كلٍّ منها (أقران، مستقلّة)». خطأ شائع: إن «التداخل بـ5 مستويات» ميزة خاصة بالـ subagents، بينما الـ Teams مسطّحة (لا تداخل).
4. أيهما ينبغي أن تستخدم
اختر بحسب الغرض ولن تتردّد. معظم العمل اليومي يكفيه subagents (أو جلسة واحدة).
اختر بحسب الغرض
· العمل مكتفٍ ذاتيًا والنتيجة وحدها هي المهمة
· تريد حصر الأدوات أو نموذجًا أرخص
· لا حاجة لتحادث العمّال
· يفيد الاستكشاف المتوازي (مراجعة متوازية / تنقيح بفرضيات متنافسة / وحدات متعدّدة)
· تريد توجيه كل عامل
(مع قبول الكلفة الأعلى والعلامة)
· تحتاج تبادلًا متكرّرًا
· تمسّ الملفات نفسها
· إنها تعديل محلّي سريع
الافتراض هو «عند الشكّ، جلسة واحدة أو subagents».
ولا تلجأ إلى Agent Teams إلا للعمل المتوازي الذي يحتاج فعلًا إلى تنسيق بين الأقران.
5. ورقة مرجعية للاستخدام
مرجع سريع للأوامر والإعدادات.
# --- Subagents (مدمجة) ---
/agents # المدير (Running / Library)
.claude/agents/<name>.md # تعريف المشروع (name/description/tools/model)
~/.claude/agents/<name>.md # تعريف المستخدم (لكل المشاريع)
claude --agent code-reviewer # تشغيل الجلسة كاملةً كـ subagent محدّد
@agent-<name> # @-mention للاستدعاء الصريح
# --- Agent Teams (تجريبية، خلف علامة تفعيل) ---
# فعّلها عبر env (أو env في settings.json)؛ معطّلة افتراضيًا
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
# ثم صف بلغة طبيعية، مثلًا: "ولّد ثلاثة teammates لمراجعة PR #142:
# واحد للأمان، وواحد للأداء، وواحد لتغطية الاختبارات."
# اعرضها عبر teammateMode (الافتراضي in-process؛ الأجزاء المنقسمة تحتاج tmux/iTerm2)
في ملف تعريف الـ subagent، يمكنك حصر الأدوات عبر tools أو التوجيه إلى نموذج أخفّ مثل haiku عبر model. ولبناء العملاء وتصميمهم، راجع كيف تبني نظام وكلاء متعدّدين وكيف تبني وكيل ذكاء اصطناعي.
6. محاذير Agent Teams
إن Agent Teams قوية لكنها تأتي بقيود المرحلة التجريبية وبتكلفة. اعرف هذه النقاط قبل تبنّيها.
(1) فريق واحد لكل جلسة، بلا تداخل — لا يمكن للـ teammates توليد teammates، والقائد ثابت. (2) استهلاك مرتفع للرموز (كل teammate نسخة Claude منفصلة)؛ والتوصية هي 3-5 teammates. (3) الـ teammates غير معزولين في worktree، فإن مسّوا الملفات نفسها كتب بعضهم فوق بعض — قسّم الملفات يدويًا. (4) بوصفها ميزة تجريبية، توجد قيود مثل أن /resume و/rewind لا يستعيدان الـ teammates العاملين in-process. (5) يحتاج العرض بأجزاء منقسمة إلى tmux أو iTerm2 (بعض الأطراف مثل طرفية VS Code غير مدعومة). باختصار، استخدمها فقط حين يفوق عائد التنسيق المتوازي كلفته وجهده.
الخلاصة
إن subagents وAgent Teams في Claude Code كلتاهما «تقسّمان العمل بين نماذج الذكاء الاصطناعي»، لكن نموذجي التنسيق لديهما مختلفان. الـ subagents مدمجة — يفوّض العميل الرئيسي مهمة مركّزة إلى مساعد بسياق جديد ويستعيد ملخّصًا فقط (هرمي، مؤقت، لا يتحادثون فيما بينهم، يتداخلون حتى 5 مستويات). أما Agent Teams فهي اختيارية تجريبية، معطّلة افتراضيًا (تحتاج CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1) — حيث تتنسّق عدة جلسات مستقلة كأقران عبر قائمة مهام مشتركة ومراسلة (دائمة، توجّه كلًّا منها، بلا تداخل).
كيف تختار: «تريد النتيجة فقط / لا تريد تلويث السياق ← subagents»، «عمل متوازٍ يجب فيه على العمّال التشارك والتنسيق ← Agent Teams»، «تسلسلي / الملفات نفسها / إصلاح سريع ← جلسة واحدة». التباس شائع: إن «التداخل بـ5 مستويات» ميزة خاصة بالـ subagents؛ والـ Teams مسطّحة. ولاحظ أن v2.1.178 بسّط بدء تشغيل الفريق — وهو لم «يفعّله افتراضيًا». فالـ Teams مكلفة وتجريبية، فاقصرها على الحالات التي يفيد فيها التنسيق. ذات صلة: ما هو نظام الوكلاء المتعدّدين، وكيف تبنيه، ومراقبة الذكاء الاصطناعي.
الأسئلة الشائعة
س. كيف تختلف subagents عن Agent Teams؟
ج. تنسيقهما مختلف اختلافًا جوهريًا. الـ subagents هرمية — يفوّض العميل الرئيسي مهمة مركّزة إلى مساعد بسياق جديد ويستعيد ملخّصًا فقط (لا يتحادث المساعدون فيما بينهم؛ مؤقتون). أما Agent Teams فنِدّ إلى نِدّ — حيث تتنسّق عدة جلسات مستقلة عبر قائمة مهام مشتركة وصندوق بريد، ويمكنك توجيه كلٍّ منها (دائمة). الـ subagents مدمجة؛ أما Agent Teams فتجريبية وتتطلّب علامة تفعيل.
س. هل يمكنني استخدام Agent Teams فورًا؟
ج. لا — فهي معطّلة افتراضيًا. يجب أن تضبط CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 في env (أو في env ضمن settings.json). إن v2.1.178 لم يفعل سوى تبسيط بدء التشغيل (فقد «أزال خطوة الإعداد TeamCreate، بحيث تحصل كل جلسة — مع تفعيل العلامة — على فريق ضمني واحد») — وهو لم «يفعّل الـ teams افتراضيًا». فالعلامة ما زالت مطلوبة.
س. «التداخل حتى 5 مستويات» يشير إلى أيٍّ منهما؟
ج. الـ subagents. يستطيع الـ subagent توليد subagents خاصة به، حتى 5 مستويات عمقًا (في العمق 5 لا يمكنه المضيّ أبعد). أما Agent Teams فلا يمكنها التداخل — لا يمكن للـ teammates توليد teammates، والقائد وحده يدير الفريق. فلا تخلط بين الأمرين.
س. لا أستطيع تحديد أيهما أستخدم.
ج. في معظم الأحيان تكفي جلسة واحدة أو subagents. إن كنت تريد النتيجة فقط ولا تريد لمخرجات ثقيلة أن تُغرق سياقك الرئيسي، فاستخدم subagents. وإن كان يجب على العمّال تبادل النتائج والتدقيق المتبادل والتنسيق الذاتي في عمل متوازٍ (مراجعة متوازية، تنقيح بفرضيات متنافسة، تطوير وحدات متعدّدة) وتريد توجيه كلٍّ منهم، فاستخدم Agent Teams. أما للعمل التسلسلي، أو التبادل المتكرّر، أو مسّ الملفات نفسها، فالجلسة الواحدة تناسبك.
س. ما الذي ينبغي الانتباه إليه مع Agent Teams؟
ج. استهلاك مرتفع للرموز (كل teammate نسخة منفصلة؛ يُوصى بـ3-5)، وفريق واحد لكل جلسة بلا تداخل، والـ teammates غير معزولين في worktree فيتعارضون على الملفات نفسها (قسّم يدويًا)، وقيود تجريبية على /resume و/rewind، والأجزاء المنقسمة تحتاج tmux/iTerm2. استخدمها فقط للعمل المتوازي الذي يفوق فيه التنسيق الكلفة.