Multi-agent systems
Multi-agent systems — راهنمای فارسی از مجموعهٔ «ایجنتها» در وبلاگ آیرا. بازنویسیشده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

یه ایجنت AI میتونه یه کار مشخص رو انجام بده — جستجو کنه، کد بنویسه، ایمیل بفرسته. ولی وقتی یه کار پیچیده داری که نیاز به چندین مهارت موازی داره، یه ایجنت بهتنهایی کافی نیست. اینجاست که سیستمهای چندایجنتی (multi-agent systems) وارد میشن.
یه ایجنت در مقابل چندتا ایجنت
تصور کن میخوای یه گزارش تحقیقاتی ۲۰ صفحهای بنویسی. اگه یه ایجنت تنها این کار رو بکنه:
- باید بهصورت ترتیبی کار کنه (یه بخش، بعد بخش بعدی)
- پنجرهٔ زمینهاش محدوده
- اگه در یه مرحله اشتباه کنه، ممکنه کل کار خراب بشه
در یه سیستم multi-agent:
- یه ایجنت «مدیر» وظایف رو تقسیم میکنه
- چندین ایجنت موازی بخشهای مختلف رو مینویسن
- یه ایجنت «ناظر» کیفیت خروجیها رو بررسی میکنه
- نتیجهها ادغام میشن
این معماری برای کارهای پیچیدهٔ بزرگ چند برابر سریعتر و قابلاطمینانتره.
معماریهای اصلی
۱. Orchestrator-Worker (مدیر-کارمند)
رایجترین الگو. یه ایجنت مدیر وظایف رو تعریف و توزیع میکنه، ایجنتهای کارمند اونا رو اجرا میکنن، و مدیر نتیجهها رو جمعآوری میکنه.
مثال: ایجنت مدیر میگه «کد این فیچر رو بنویس» → ایجنت کدنویس → ایجنت تست → ایجنت مستندسازی → مدیر همه رو ادغام میکنه.
۲. Peer-to-Peer (همتا-به-همتا)
ایجنتها با هم بهطور مستقیم ارتباط دارن. هر کدام میتونه به دیگری task بده یا ازش چیزی بخواد.
مثال: یه ایجنت تحقیق میکنه و به ایجنت نویسنده میگه «این دادهها رو داری، گزارش بنویس» — بدون مدیر مرکزی.
۳. Pipeline (خط تولید)
ایجنتها بهصورت زنجیره کار میکنن. خروجی هر ایجنت ورودی بعدیه.
مثال: ایجنت استخراج داده → ایجنت پاکسازی → ایجنت تحلیل → ایجنت گزارش
۴. Debate / Self-critique (مناظره)
دو ایجنت یه موضوع رو از زوایای مختلف بررسی میکنن — یکی استدلال میکنه، یکی نقد. این روش خطاهای منطقی رو کاهش میده.
فریمورکهای اصلی
CrewAI
یکی از محبوبترین فریمورکهای Python برای ساخت سیستمهای چندایجنتی. مفهوم «خدمه» (crew) داره — یه گروه ایجنت با نقشهای مشخص که روی یه هدف مشترک کار میکنن.
from crewai import Agent, Task, Crew
researcher = Agent(role='Researcher', goal='تحقیق دربارهٔ موضوع')
writer = Agent(role='Writer', goal='نوشتن گزارش')
research_task = Task(description='تحقیق کن', agent=researcher)
write_task = Task(description='گزارش بنویس', agent=writer)
crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])
result = crew.kickoff()
بیشتر دربارهٔ CrewAI: راهنمای CrewAI
AutoGen (Microsoft)
فریمورک Microsoft که تمرکزش روی مکالمهٔ بین ایجنتهاست. ایجنتها میتونن با هم «چت» کنن تا به جواب برسن. برای سناریوهایی که ایجنتها باید بین خودشون مذاکره کنن خوبه.
LangGraph
از LangChain توسعه یافته. گرافی از وضعیتها و انتقالها میسازی که جریان کار ایجنتها رو کنترل میکنه. انعطافپذیرتر از CrewAI ولی پیچیدهتره.
بیشتر دربارهٔ LangGraph: LangGraph — راهنمای فارسی
Claude Sub-agents
Anthropic اخیراً قابلیت sub-agent هایی رو در Claude Code پیاده کرده که یه ایجنت اصلی میتونه ایجنتهای فرزند بسازه. این معماری برای کارهای کدنویسی پیچیده خیلی کاربردیه.
چالشهای واقعی
Multi-agent systems جادویی نیستن. چند مشکل جدی دارن:
۱. هماهنگی سخته. وقتی ایجنتها موازی کار میکنن، ممکنه خروجیهای متناقض تولید کنن. باید مکانیزم «بررسی تضاد» داشته باشی.
۲. هزینهٔ توکن. هر ایجنت API call جداگانه داره. یه سیستم ۵ ایجنتی ممکنه ۵ برابر گرانتر از یه ایجنت باشه.
۳. Debug سختتره. وقتی خروجی اشتباهه، کدام ایجنت خطا کرده؟ باید لاگگذاری دقیق داشته باشی.
۴. حلقههای بینهایت. ایجنتها میتونن به هم task بدن و یه loop بیپایان بسازن. باید محدودیت iteration داشته باشی.
۵. Prompt injection. اگه یه ایجنت از وب یا ایمیل داده میخونه، ممکنه دادههای مخرب ایجنت رو به رفتار نادرست هدایت کنن.
کِی از multi-agent استفاده کنی؟
این سیستمها برای همه چیز مناسب نیستن. این چارچوب ساده کمک میکنه تصمیم بگیری:
یه ایجنت کافیه اگه:
- کار قابل توصیف با یه task سادهست
- نیاز به موازیسازی نیست
- دادههای حساس داری و نمیخوای بین ایجنتها منتقل بشن
Multi-agent مناسبه اگه:
- کار چند مهارت مجزا میخواد (تحقیق + نوشتن + بررسی)
- بخشهایی از کار میتونن موازی انجام بشن
- میخوای یه ایجنت خروجی ایجنت دیگه رو نقد کنه
- کار بیش از حد بزرگه که پنجرهٔ زمینهٔ یه ایجنت رو پر کنه
کاربرد در کدنویسی
یکی از بهترین کاربردهای multi-agent کدنویسیه:
- ایجنت طراحی: معماری سیستم رو طراحی میکنه
- ایجنت کدنویس: کد مینویسه
- ایجنت تست: تست مینویسه و اجرا میکنه
- ایجنت reviewer: کد رو بررسی میکنه، باگ پیدا میکنه
- ایجنت مستندساز: README و کامنت مینویسه
این دقیقاً کاریه که AiraCode برای پروژههای بزرگ انجام میده — با حافظهٔ پیوسته از پروژه که بین همه ایجنتها مشترکه.
رابطهٔ با شناخت پیوسته
یه چالش بزرگ در multi-agent systems اینه که هر ایجنت معمولاً «بیحافظه» شروع میکنه. ایجنتهای موازی از context مشترک محدودی دارن.
اما تصور کن هر ایجنت از ابتدا میدونه این پروژه چیه، تاریخچهاش چیه، چه تصمیماتی گرفته شده. این همون چیزیه که شناخت پیوسته به سیستمهای چندایجنتی میده — یه حافظهٔ اشتراکی که همهٔ ایجنتها بهش دسترسی دارن.
همچنین بخوان
ادامهٔ مسیر
همهٔ مقالهها ←
ایجنت هوش مصنوعی چیست
ایجنت هوش مصنوعی چیست — راهنمای فارسی از مجموعهٔ «ایجنتها» در وبلاگ آیرا. بازنویسیشده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

LangChain — راهنمای فارسی
LangChain — راهنمای فارسی — راهنمای فارسی از مجموعهٔ «ایجنتها» در وبلاگ آیرا. بازنویسیشده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

LangGraph — workflows با حالت
LangGraph — workflows با حالت — راهنمای فارسی از مجموعهٔ «ایجنتها» در وبلاگ آیرا. بازنویسیشده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

AutoGen مایکروسافت
AutoGen مایکروسافت — راهنمای فارسی از مجموعهٔ «ایجنتها» در وبلاگ آیرا. بازنویسیشده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.
بیشتر در «ایجنتها»
- CrewAI — تیم ایجنتهای همکار
- AutoGPT — اولین تجربهٔ ایجنت خودکار
- Browser agents — Browser Use و Skyvern
- Coding agents — SWE-agent و Devin
- Workflow agents — n8n با AI
- MCP و اکوسیستم ایجنتها
- مقایسهٔ فریمورکهای ایجنت
- بنچمارکهای ایجنت — SWE-bench
- ساخت ایجنت — اولین قدمها
- خطرات و محدودیتهای ایجنتها
- ایجنتهایی که یاد میگیرن — شناخت پیوسته در ایجنتها