الـ subagents بتخلّي Claude يفوّض الشغل لمساعدين AI متخصصين، كل واحد بـ context window خاص بيه وأدوات وsystem prompt. بيمنعوا تلوث السياق في المهام الطويلة، وبيسمحوا بالتنفيذ المتوازي، وبيخلوك تحوّل الخبرة التقنية لـ agents قابلين لإعادة الاستخدام. في الموديول ده، هنغطي إزاي تعمل وتضبط وتستخدم الـ subagents بفعالية.
إنشاء Subagents
الـ subagents هي ملفات markdown بـ YAML frontmatter. ممكن تعرّفها بالـ flag --agents في الـ CLI لجلسة واحدة، أو تحطها في .claude/agents/ لنطاق المشروع (بتتعمل لها commit في git)، أو ~/.claude/agents/ للنطاق الشخصي (كل المشاريع). الـ plugins كمان ممكن تجمّع agents. الأولوية: managed (policy) > CLI-defined > project > user > plugin > built-in. أمر /agents بيديك قائمة تفاعلية لإنشاء وتعديل وإدارة الـ agents.
الـ frontmatter بيعرّف هوية الـ agent. محتوى الـ markdown هو الـ system prompt بتاعه — اكتبه كأنك بتعمل briefing لمتخصص:
---
name: security-reviewer
description: Security-focused code reviewer. Use proactively after writing authentication, authorization, or data handling code.
tools: Read, Grep, Glob
---
You are a senior security engineer specializing in application security.
Review priorities:
1. Authentication and authorization flaws
2. Injection vulnerabilities (SQL, XSS, command)
3. Data exposure and sensitive information handling
4. Cryptographic weaknesses
5. Insecure direct object references
For each finding, provide: severity (Critical/High/Medium/Low), location (file:line), description, and a concrete fix with code example.
When invoked: use Grep and Read to inspect recently changed files.
الـ tools field بيحدد الأدوات اللي الـ agent يقدر يستعملها. security reviewer محتاج Read وGrep وGlob بس — مفيش وصول للكتابة. implementation agent محتاج كل الأدوات. تقييد الأدوات بيخلّي الـ agent أكتر أمانًا وسلوكه أكتر قابلية للتوقع. لو حذفت tools، الـ agent بيورث كل الأدوات المتاحة.
خيارات الإعداد
بجانب الوصول الأساسي للأدوات، الـ frontmatter بيدعم خيارات قوية. model بيحدد الموديل اللي الـ agent بيستخدمه — haiku للمهام السريعة والخفيفة، sonnet للشغل المتوازن، أو opus للتفكير المعقد. كمان ممكن تستخدم inherit عشان يورث موديل الـ parent. effort بيتحكم في عمق التحليل على الموديلات المدعومة زي Sonnet 4.6 وOpus 4.6، مع max محجوز لـ Opus 4.6. maxTurns بيحدد كم دور الـ agent يقدر يشتغل. permissionMode بيضبط مستوى الصلاحيات. من الحقول المفيدة كمان: disallowedTools وskills لتحميل skills مختارة مسبقًا، وmcpServers لوصول MCP خاص بالـ agent، وinitialPrompt لإرسال أول دور تلقائيًا.
memory بيدي الـ agent تخزين دائم عبر الجلسات. أول 200 سطر من ملف MEMORY.md في مجلد الذاكرة بتاع الـ agent بتتحمّل في الـ system prompt تلقائيًا — Claude بيكتب في الملف ده لما يتعلم حاجات جديدة:
---
name: researcher
memory: user
description: Long-running research assistant with persistent notes
---
You are a research assistant. Check your MEMORY.md at session start to recall previous findings. Update it with new discoveries.
isolation: worktree بيدي الـ agent git worktree خاص بيه وbranch منفصل يعمل فيه تغييرات من غير ما يلمس الـ working tree الأساسي. لما يخلّص، بيرجّع مسار الـ worktree واسم الـ branch عشان تراجعه وتعمل merge. لو ما عملش أي تغييرات، الـ worktree بيتمسح تلقائيًا. الـ agents في worktree isolation كمان يقدروا يستخدموا أداة ExitWorktree عشان يسيبوا الـ worktree صراحةً قبل ما المهمة تخلص — مفيد لما الـ agent يحتاج يسلّم في نص المهمة أو يعلن إنه خلص بدري.
background: true بيخلّي الـ agent يشتغل دايمًا كـ background task، عشان المحادثة الأساسية تفضل حرة. اضغط Ctrl+B عشان تحوّل agent شغّال حاليًا للخلفية.
استخدام وتسلسل الـ Subagents
Claude بيشغّل الـ agents تلقائيًا لما وصف المهمة يطابق الـ description field بتاع الـ agent. عبارات زي “use proactively” ممكن تشجّع التفويض، بس الاستدعاء الصريح هو الطريقة المضمونة لما تحتاج agent معين. استخدم صيغة @"agent-name (agent)" عشان تضمن استخدام agent بعينه، وتتخطى المطابقة التلقائية.
الاستدعاء الصريح بلغة طبيعية كمان بيشتغل:
Use the security-reviewer agent to audit the new auth module.
Have the test-engineer agent write integration tests for the payment service.
Ask the debugger agent to investigate the memory leak in src/workers/queue.ts.
الـ agents ممكن يتسلسلوا ورا بعض، بحيث output واحد يغذّي اللي بعده. كمان تقدر تعرض كل الـ agents المتاحة بأمر claude agents، وتشغّل session كاملة مع واحد معين بـ claude --agent <name>، وتقيّد الـ agents اللي coordinator يقدر يشغّلها بـ Agent(...) tool allowlists.
First use the code-analyzer agent to find performance bottlenecks, then use the optimizer agent to fix them.
Claude Code جاي معاه عدة agents جاهزة مش محتاج تعملها: general-purpose للمهام العامة متعددة الخطوات، Explore بيستخدم Haiku للتحليل السريع للكود (قراءة فقط)، Plan بيبحث في الكود قبل ما يقدّم خطط تنفيذ، وclaude-code-guide بيجاوب على أسئلة عن مميزات Claude Code. الـ agents كمان ممكن يكونوا resumable — يعني Claude يقدر يكمّل محادثة سابقة لـ agent بالـ ID بتاعه لما الـ workflow بيمتد على أكتر من دور.
خاصية Agent Teams التجريبية (محتاجة CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 أو --agent-teams CLI flag) بتنسّق بين عدة Claude instances بيشتغلوا بالتوازي عبر قائمة مهام وصندوق رسائل مشترك. ده للمشاريع الكبيرة متعددة الملفات اللي agents مستقلين يقدروا يشتغلوا على أجزاء مختلفة في نفس الوقت من غير ما يتداخلوا. SendMessage بيعمل resume تلقائي للـ agents المتوقفين لما ترسل لهم رسالة، فمش محتاج تعمل resume يدوي قبل ما تتواصل معاهم.