بسیاری از تیمهای نرمافزاری پیش از آنکه صورتمسئلهی روشنی داشته باشند، به سمت معماریهای چندایجنتی (Multi-Agent) میروند و سیستم را بدون دلیل موجه پیچیده میکنند. در عمل، بیشتر معماریهای مدرن در فریمورکهایی مثل LangGraph یا CrewAI بر پایهی چند الگوی مشخص و تکرارشونده چیده میشوند. شناخت این الگوها مانع از این میشود که از همان ابتدا معماری سیستم را بیشازحد سنگین طراحی کنید.
در این درس با چهار الگوی ارکستراسیون اصلی شامل سرپرست-کارگر (Supervisor-worker)، ازدحام (Swarm)، سلسلهمراتبی (Hierarchical) و مناظره (Debate) آشنا میشوید. همچنین یاد میگیرید که بر اساس شاخصهایی مثل پنجرهی بافتار، تاخیر، هزینه و پیچیدگی پیادهسازی، دقیقاً چه زمانی باید سراغ هر کدام بروید و چه زمانی یک ایجنت واحد برای کار شما کافی است.
در فریمورکهای سال 2026 چهار الگوی ارکستراسیون (Orchestration) تکرار میشوند: سرپرست-کارگر (supervisor-worker)، ازدحام / همتابههمتا (swarm / peer-to-peer)، سلسلهمراتبی (hierarchical) و مناظره (debate). توصیهی Anthropic این است: «مهم این است که سیستمِ متناسب با نیازتان بسازید.» کار را ساده شروع کنید؛ فقط زمانی سراغ توپولوژی بروید که یک ایجنت (Agent) تکی به همراه پنج الگوی گردشکار پاسخگو نباشد.
اهداف یادگیری
- نام بردن چهار الگوی ارکستراسیون پرتکرار و زمان کاربرد هر کدام.
- شرح توصیهی سال 2026 در LangChain: سرپرستی مبتنی بر فراخوانی ابزار (Tool call) در برابر کتابخانههای سرپرست.
- توضیح قاعدهی «ساخت سیستم درست» در Anthropic و نحوهی مشروط کردن انتخاب توپولوژی با آن.
- پیادهسازی هر چهار الگو در کتابخانهی استاندارد پایتون (stdlib) روی یک مدل زبانی اسکریپتشدهی مشترک.
صورت مسئله
تیمها خیلی زودتر از زمانی که واقعاً نیاز داشته باشند، سراغ «چندایجنت» میروند. چهار الگو بارها در فریمورکهای مختلف تکرار میشوند؛ وقتی آنها را بشناسید، میتوانید گزینهی مناسب را انتخاب کنید — یا کلاً دور توپولوژی پیچیده را خط بکشید.
مفهوم
سرپرست-کارگر
- یک مدل زبانی مسیریاب (Router) مرکزی، کارها را به ایجنتهای متخصص ارجاع میدهد.
- تصمیم میگیرد: بازگشت به خود، تحویل کار به متخصص، یا خاتمه.
- متخصصها با یکدیگر گفتگو نمیکنند؛ تمام مسیردهیها از کانال سرپرست میگذرد.
فریمورکها: create_supervisor در LangGraph، هماهنگکننده-کارگرها (orchestrator-workers) در Anthropic، فرایند سلسلهمراتبی در CrewAI.
توصیهی سال 2026 در LangChain: سرپرستی را بهجای create_supervisor مستقیماً از طریق فراخوانی ابزار پیاده کنید. این کار امکان مهندسی بافتار (Context Engineering) دقیقتری به شما میدهد؛ یعنی خودتان دقیقاً مشخص میکنید هر متخصص چه چیزهایی را ببیند.
ازدحام / همتابههمتا
- ایجنتها مستقیماً از طریق یک بستر ابزاری مشترک، کار را دستبهدست میکنند.
- خبری از مسیریاب مرکزی نیست.
- تاخیر (Latency) کمتر از الگوی سرپرست (به دلیل گامهای لغزش کمتر).
- تحلیل و درک رفتار سیستم سختتر است (نقطهی کنترل واحدی وجود ندارد).
فریمورکها: توپولوژی swarm در LangGraph، دستبهدست کردنها (handoffs) در OpenAI Agents SDK (زمانی که همهی ایجنتها امکان تحویل کار به تمام ایجنتهای دیگر را دارند).
سلسلهمراتبی
- سرپرستهایی که زیرسرپرستها را مدیریت میکنند و آنها هم کارگران را هدایت میکنند.
- بهصورت زیرگرافهای تودرتو در LangGraph و تیمهای تودرتو در CrewAI پیادهسازی میشود.
- به بهای پیچیدگی عملیاتی، برای جمعیتهای بزرگی از ایجنتها مقیاسپذیر است.
چه زمانی به آن نیاز دارید: وقتی گنجایش بافتار یک سرپرست واحد نتواند توضیحات همهی متخصصها را در خود جا دهد.
مناظره
- ارائهدهندههای موازیِ پیشنهاد + نقد متقابل تکرارشونده (درس 25).
- در اصل ارکستراسیون نیست — بیشتر راستیآزمایی است — ولی در فریمورکها بهعنوان یک گزینهی توپولوژی ظاهر میشود.
تیمهای خودمختار در برابر جریانهای قطعی
CrewAI دو حالت استقرار را تفکیک میکند:
- جریان (Flow) برای اتوماسیون قطعیِ مبتنی بر رویداد (نقطهی شروع پیشنهادی برای محیط پروداکشن).
- تیم (Crew) برای همکاری خودمختارِ مبتنی بر نقش.
این تفکیک مستقل از چهار الگوی بالاست اما روی توپولوژی مینشیند: Flow معمولاً سرپرست یا سلسلهمراتبی است؛ Crew معمولاً سرپرست با یک مسیریاب بر پایهی مدل زبانی است.
توصیهی Anthropic
«موفقیت در حوزهی مدلهای زبانی ساخت پیچیدهترین سیستم نیست، ساخت سیستمِ متناسب با نیازتان است.»
ترتیب تصمیمگیری:
- تکایجنتی + الگوهای گردشکار (درس 12) — از اینجا شروع کنید.
- سرپرست-کارگر — وقتی 2 تا 4 متخصص دارید.
- ازدحام — وقتی تاخیر مهمتر از وضوح استدلال است.
- سلسلهمراتبی — فقط زمانی که بودجهی بافتار سرپرست پاسخگو نباشد.
- مناظره — وقتی دقت مهمتر از هزینه است.
خطاهای رایج در این الگو
- تفکرِ اول-توپولوژی. نتیجهگیری شتابزدهی «ما به چندایجنت نیاز داریم» پیش از آنکه مشخص شود چندایجنت قرار است چه مسئلهای را حل کند.
- پاسکاری بیانتها در الگوی ازدحام. رفتوبرگشت مداوم کار بین ایجنتها (A -> B -> A -> B). حتماً از شمارندهی گام لغزش (Hop) استفاده کنید.
- سلسلهمراتب صوری. ساخت سه لایه فقط به این بهانه که پروژه «سازمانی» است، در حالی که عملاً دو تیم بیشتر ندارید. لایههای اضافی را ادغام و حذف کنید.
پیادهسازی
کد code/main.py هر چهار الگو را با stdlib روی یک مدل زبانی اسکریپتشده پیاده میکند:
Supervisor— مسیریاب مرکزی.Swarm— همتابههمتا با دستبهدست کردن مستقیم.Hierarchical— سرپرستِ سرپرستها.Debate— پیشنهاددهندههای موازی + نقد.
هر الگو یک مسئلهی مشترک با سه نیت (Intent) مختلف (استرداد وجه / گزارش باگ / فروش) را حل میکند. شکل ردگیری محاسبات (Trace) در هر کدام متفاوت است.
اجرای برنامه:
python3 code/main.py
خروجی: ردگیری محاسبات به تفکیک الگو + تعداد عملیات. الگوی سرپرست تمیزترین، ازدحام کوتاهترین، سلسلهمراتبی عمیقترین و مناظره پرهزینهترین است.
کاربرد در عمل
- LangGraph برای سرپرست و سلسلهمراتبی (زیرگرافهای تودرتو).
- OpenAI Agents SDK برای دستبهدست کردن در قالب ابزار (با ساختار شبیه سرپرست).
- CrewAI Flow برای سیستمهای قطعی در محیط پروداکشن.
- کد سفارشی برای مناظره یا مواقعی که کنترل همهچیز را دقیقاً در دست خودتان میخواهید.
استقرار نهایی
فایل outputs/skill-orchestration-picker.md توپولوژی مناسب را انتخاب و آن را پیادهسازی میکند.
تمرینها
- با حذف مسیریاب، یک سیستم سرپرست-کارگر را به ازدحام تبدیل کنید. چه چیزهایی خراب میشوند؟ چه چیزهایی بهبود مییابند؟
- یک شمارندهی گام لغزش به الگوی ازدحام اضافه کنید تا بعد از 3 بار جابهجایی، درخواست را رد کند. آیا میتواند پاسکاری A->B->A را مهار کند؟
- برای دامنهای با 12 متخصص، یک سیستم سلسلهمراتبی دوسطحی بسازید. بدون ساختار تودرتو، بودجهی بافتار در چه نقطهای سرریز میکند؟
- چهار الگو را روی بار کاری مشابه شرایط پروداکشن پروفایل کنید. هر الگو در کدام معیار (تاخیر، هزینه، دقت، قابلیت خطایابی) برنده میشود؟
- پست «Building Effective Agents» از Anthropic را بخوانید. هر کدام از جریانهای کاری پروداکشن خود را به یکی از این چهار الگو ربط دهید. آیا جریانی هست که بهدرستی روی هیچکدام ننشیند؟
اصطلاحات کلیدی
| اصطلاح | در گفتگوها چه میگویند | معنای واقعی آن چیست |
|---|---|---|
| سرپرست-کارگر (Supervisor-worker) | «مسیریاب + متخصصها» | مدل زبانی مرکزی کارها را به متخصصها میسپارد؛ متخصصها با هم صحبت نمیکنند |
| ازدحام (Swarm) | «همتابههمتا» | دستبهدست کردن مستقیم از طریق ابزارهای مشترک؛ بدون مسیریاب مرکزی |
| سلسلهمراتبی (Hierarchical) | «سرپرستِ سرپرستها» | زیرگرافهای تودرتو برای تعداد بالای ایجنتها |
| مناظره (Debate) | «پیشنهاددهنده + نقد» | پیشنهاددهندههای موازی و نقد متقابل (درس 25) |
| سرپرستی مبتنی بر فراخوانی ابزار (Tool-call-based supervision) | «سرپرست بدون کتابخانه» | پیادهسازی سرپرست با فراخوانی مستقیم ابزار جهت کنترل دقیق مهندسی بافتار |
| تیم (Crew) | «تیم خودمختار» | حالت همکاری مبتنی بر نقش در CrewAI |
| جریان (Flow) | «گردشکار قطعی» | حالت رویدادمحور و قطعی CrewAI برای پروداکشن |
مطالعهی بیشتر
- Anthropic, Building Effective Agents — پنج الگو + مقایسهی ایجنت در برابر گردشکار
- LangGraph overview — الگوهای سرپرست، ازدحام و سلسلهمراتبی
- CrewAI docs — مقایسهی Crew در برابر Flow
- Du et al., Society of Minds (arXiv:2305.14325) — الگوی مناظره
