parallel agents
خذ فكرة «الأشياء المستقلة دفعةً واحدة» من الدرس السابق ووسّعها — من tool calls المفردة إلى subagents كاملة.
إذا كان subagent واحد يحفظ الـ context الخاص بك، فعدة منها تعمل دفعةً واحدة تضاعف ناتجك — كلٌّ يكدح في قطعة منفصلة بينما تنتظر مرة واحدة.
تعلّمت في الدرس 10.2 أن الـ subagent ينطلق ويؤدي وظيفة كبيرة بمفرده. وتعلّمت في الدرس 10.8 أن الخطوات المستقلة تستطيع العمل معًا. ضعهما جنبًا إلى جنب فتحصل على الفتح الحقيقي: أطلق عدة subagents دفعةً واحدة، كلٌّ على وظيفته المستقلة.
«حقّق في ثلاثة أسباب محتملة لهذا الـ bug». بدلًا من subagent واحد يفحص السبب A، فيبلّغ، ثم B، ثم C — ثلاثة subagents، واحد لكل سبب، كلهم في الوقت نفسه. ثلاثة تحقيقات، وانتظار واحد. أنت القائد الموسيقي الآن، وهو بالضبط التحوّل الذي أشار إليه الدرس 10.1.
القاعدة نفسها كما من قبل — مستقل
هذا لا ينجح إلا حين لا تعتمد الوظائف بعضها على بعض.
- ثلاث مناطق منفصلة من codebase، subagent لكل منها — مستقل. شغّلها معًا.
- «اعثر على الـ bug، ثم أصلحه» — ليس مستقلًا. الإصلاح يحتاج العثور أولًا، فعليه أن ينتظر.
إنها القاعدة عينها لـ parallel tool calls — لكن بمقياس الوظائف الكاملة بدلًا من الخطوات المفردة.
قائد واحد، عمّال كثيرون
حين يعمل عدة منها دفعةً واحدة، فأنت لا تقرأ عمل كلٍّ منها. تذكّر، كلٌّ يبلّغ بملخّص فقط — فتحصل على حفنة من الإجابات المرتّبة بدلًا من كومة واحدة عملاقة.
تستطيع حتى تركها تعمل في الخلفية وأن تُنبَّه كلما انتهى أحدها، بدلًا من التحديق في الشاشة منتظرًا.
المكسب يتراكم: كل subagent أبقى فوضاه أصلًا خارج الـ context الخاص بك — وتشغيلها بالتوازي يبقيها أيضًا خارج ساعتك.
ما التالي
هناك نوع آخر من الاستقلالية لتفتحه. أحيانًا تلمس وظيفتان الملفات نفسها وتتعثّر إحداهما بالأخرى — ما لم تحصل كلٌّ منهما على نسختها الخاصة من المشروع. ذلك هو الـ worktree.