کدنویسی با AI

Sub-agents در Claude Code

Sub-agents در Claude Code — راهنمای فارسی از مجموعهٔ «کدنویسی با AI» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۳ دقیقه مطالعه
تصویر مقالهٔ Sub-agents در Claude Code

وقتی یه تسک کدنویسی واقعاً بزرگ باشه — مثلاً «این کدبیس رو ریفکتور کن» یا «تمام تست‌ها رو بنویس» — یه مدل زبانی تنها می‌تونه گیر کنه. راه‌حل Claude Code اینه که تسک رو به چند Sub-agent کوچیک‌تر تقسیم کنه که موازی کار کنن. این یکی از قوی‌ترین قابلیت‌هایی هست که Claude Code رو از ابزارهای معمولی کدنویسی AI متمایز می‌کنه.

Sub-agent چیه؟

وقتی Claude Code در حالت agent کار می‌کنه، می‌تونه به‌جای اینکه همه کار رو خودش یه‌تنه انجام بده، چند نمونه‌ٔ موازی از خودش راه‌اندازی کنه — هر کدوم با یه وظیفه‌ٔ مشخص، یه context window مستقل، و دسترسی به ابزارهای مختلف مثل shell، filesystem و browser.

این sub-agentها مثل تیم توسعه‌ٔ کوچیکی می‌مونن که agent اصلی مثل tech lead هماهنگشون می‌کنه.

چرا این مهمه؟

مشکل اصلی مدل‌های بزرگ زبانی اینه که context window محدوده. اگه یه کدبیس ۵۰ فایل داشته باشه، نمی‌شه همه‌اش رو هم‌زمان توی یه context جا داد. Sub-agentها این مشکل رو با تقسیم وظایف حل می‌کنن:

  • agent اصلی (orchestrator) کار رو تجزیه می‌کنه
  • sub-agentها موازی کار می‌کنن — هر کدوم روی یه بخش خاص
  • نتایج برمی‌گردن و ترکیب می‌شن

نتیجه: تسک‌هایی که قبلاً خیلی طول می‌کشیدن یا اصلاً امکان‌پذیر نبودن، حالا قابل انجامن.

سناریوهای واقعی استفاده از Sub-agents

ریفکتور موازی: فرض کن می‌خوای یه سیستم احراز هویت قدیمی رو به JWT تبدیل کنی. Claude Code می‌تونه یه sub-agent بذاره روی تغییر schema پایگاه داده، یه sub-agent دیگه روی API endpointها، و یه سومی روی تست‌ها — همه با هم.

آنالیز کدبیس بزرگ: «چند باگ امنیتی توی این ریپو وجود داره؟» — هر sub-agent یه دایرکتوری می‌گیره و آنالیز می‌کنه، بعد گزارش‌ها ترکیب می‌شن.

مهاجرت فریم‌ورک: انتقال از React Class Components به Function Components در یه پروژه‌ٔ بزرگ — هر sub-agent یه set از فایل‌ها رو مهاجرت می‌ده.

نوشتن تست موازی: agent اصلی می‌بینه کدوم بخش‌ها test coverage ندارن، sub-agentها به‌صورت موازی تست می‌نویسن.

چطور در Claude Code فعال می‌شه؟

Sub-agentها در مدل claude-3-7-sonnet و بالاتر، وقتی Claude Code در حالت agentic mode باشه، به‌طور خودکار استفاده می‌شن. تو نیاز نداری دستور خاصی بدی — کافیه یه تسک بزرگ‌تر بدی و اجازه بدی Claude Code خودش تصمیم بگیره کجا از parallelism استفاده کنه.

مثال:

claude "تمام endpoint های API این پروژه رو پیدا کن و برای هر کدوم یه integration test بنویس"

در پس‌زمینه، Claude Code این تسک رو تجزیه می‌کنه:

  1. اول endpoint ها رو mapping می‌کنه
  2. بعد برای هر endpoint (یا گروهی از endpoint ها) یه sub-agent جداگانه تست می‌نویسه
  3. نتایج رو در یه فایل تست منسجم ترکیب می‌کنه

چه ابزارهایی برای Sub-agents در دسترسه؟

هر sub-agent می‌تونه به این ابزارها دسترسی داشته باشه:

  • Bash: اجرای دستورات shell
  • Read/Write file: خواندن و نوشتن فایل
  • Web search: جستجوی اینترنتی
  • Code execution: اجرای کد و بررسی خروجی

مهم: agent اصلی کنترل می‌کنه که هر sub-agent به چه ابزارهایی دسترسی داشته باشه — این یه لایه‌ٔ امنیتی مهمه.

محدودیت‌ها و نکات احتیاطی

هزینه: هر sub-agent مستقل از API Claude استفاده می‌کنه. یه تسک پیچیده با ۵ sub-agent، ۵ برابر API call داره. اگه از Claude API مستقیم استفاده می‌کنی، هزینه‌ات بالا می‌ره.

Race condition: اگه دو sub-agent هم‌زمان یه فایل رو ویرایش کنن، تداخل ایجاد می‌شه. Claude Code سعی می‌کنه این رو مدیریت کنه ولی در تسک‌های خیلی موازی باید مراقب بود.

Context isolation: هر sub-agent context مستقلی داره — یعنی نمی‌دونن دیگری چی کار کرده مگه اینکه orchestrator اطلاعات رو منتقل کنه.

Hallucination تجمعی: اگه یه sub-agent اشتباه کنه، ممکنه این اشتباه در مراحل بعدی propagate بشه. در پروژه‌های حساس، code review انسانی ضروریه.

مقایسه با multi-agent frameworks دیگه

ابزارهایی مثل CrewAI یا LangGraph هم سیستم‌های multi-agent دارن ولی برای ادغامشون باید خودت کد بنویسی. قدرت Claude Code اینه که این قابلیت built-in هست — بدون نیاز به تنظیم اضافه. از طرف دیگه، اون framework‌ها انعطاف بیشتری برای workflow‌های پیچیده‌ٔ سفارشی دارن.

AiraCode و حافظهٔ پروژه

یه نکته‌ای که Claude Code اصلی دارد کم داره: حافظه‌ٔ پایدار بین sessionها. هر بار که Claude Code رو باز می‌کنی، از صفر شروع می‌کنه — ساختار پروژه‌ات رو نمی‌شناسه، تصمیماتی که قبلاً باهاش گرفتی رو یادش نیست.

AiraCode این مشکل رو با شناخت پیوسته حل می‌کنه — حافظه‌ای که بین sessionها باقی می‌مونه و هر بار که پروژه رو باز می‌کنی، زمینه رو می‌دونه.

همچنین بخوان

#کدنویسی با AI

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «کدنویسی با AI»