فاز 14 · درس 28

الگوهای ارکستراسیون ایجنت‌ها: سرپرست، ازدحام و سلسله‌مراتبی

نوع
مفهومی و ساختنی
زمان
حدود 60 دقیقه
زبان‌ها
Python (stdlib)
پیش‌نیاز
فاز 14 · درس 12 (الگوهای گردش‌کار)، فاز 14 · درس 25 (مناظره چندایجنتی)
چهار ماکت چوبی با ساختارهای هندسی متفاوت شامل چینش متمرکز، شبکه همتابه‌همتا، هرم چندطبقه و دو ستون روبه‌روی هم روی میز طراحی
فهرست مطالب
  1. اهداف یادگیری
  2. صورت مسئله
  3. مفهوم
  4. سرپرست-کارگر
  5. ازدحام / همتابه‌همتا
  6. سلسله‌مراتبی
  7. مناظره
  8. تیم‌های خودمختار در برابر جریان‌های قطعی
  9. توصیه‌ی Anthropic
  10. خطاهای رایج در این الگو
  11. پیاده‌سازی
  12. کاربرد در عمل
  13. استقرار نهایی
  14. تمرین‌ها
  15. اصطلاحات کلیدی
  16. مطالعه‌ی بیشتر

بسیاری از تیم‌های نرم‌افزاری پیش از آنکه صورت‌مسئله‌ی روشنی داشته باشند، به سمت معماری‌های چندایجنتی (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

«موفقیت در حوزه‌ی مدل‌های زبانی ساخت پیچیده‌ترین سیستم نیست، ساخت سیستمِ متناسب با نیازتان است.»

ترتیب تصمیم‌گیری:

  1. تک‌ایجنتی + الگوهای گردش‌کار (درس 12) — از اینجا شروع کنید.
  2. سرپرست-کارگر — وقتی 2 تا 4 متخصص دارید.
  3. ازدحام — وقتی تاخیر مهم‌تر از وضوح استدلال است.
  4. سلسله‌مراتبی — فقط زمانی که بودجه‌ی بافتار سرپرست پاسخگو نباشد.
  5. مناظره — وقتی دقت مهم‌تر از هزینه است.

خطاهای رایج در این الگو

  • تفکرِ اول-توپولوژی. نتیجه‌گیری شتاب‌زده‌ی «ما به چندایجنت نیاز داریم» پیش از آنکه مشخص شود چندایجنت قرار است چه مسئله‌ای را حل کند.
  • پاس‌کاری بی‌انتها در الگوی ازدحام. رفت‌وبرگشت مداوم کار بین ایجنت‌ها (A -> B -> A -> B). حتماً از شمارنده‌ی گام لغزش (Hop) استفاده کنید.
  • سلسله‌مراتب صوری. ساخت سه لایه فقط به این بهانه که پروژه «سازمانی» است، در حالی که عملاً دو تیم بیشتر ندارید. لایه‌های اضافی را ادغام و حذف کنید.
الگوی ارکستراسیونیک توپولوژی انتخاب کنید
ORCHESTRATION PATTERNThe three common multi-agent topologies trade control for resilience. A supervisor centralizes routing in O(N) edges but is a single point of failure. A peer-to-peer swarm has no bottleneck yet pays O(N squared) coordination cost. A hierarchy delegates through layers of supervisors, scaling fan-out at the price of added latency per level. The right choice depends on how much the agents must talk to each other.supervisor
سه توپولوژی رایج چندایجنت بین میزان کنترل و تاب‌آوری تعادل برقرار می‌کنند. ناظر (supervisor) با یال‌های O(N) مسیریابی را متمرکز می‌کند اما نقطه‌ی شکست منفرد است. یک ازدحام همتا‌به‌همتا (swarm) هیچ گلوگاهی ندارد ولی هزینه‌ی هماهنگی O(N^2) را متحمل می‌شود. یک سلسله‌مراتب کارها را میان لایه‌هایی از ناظران واگذار می‌کند و توزیع موازی را به قیمت تاخیر بیشتر در هر سطح گسترش می‌دهد. انتخاب درست به این بستگی دارد که ایجنت‌ها چقدر باید با یکدیگر گفتگو کنند.

پیاده‌سازی

کد 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 توپولوژی مناسب را انتخاب و آن را پیاده‌سازی می‌کند.

تمرین‌ها

  1. با حذف مسیریاب، یک سیستم سرپرست-کارگر را به ازدحام تبدیل کنید. چه چیزهایی خراب می‌شوند؟ چه چیزهایی بهبود می‌یابند؟
  2. یک شمارنده‌ی گام لغزش به الگوی ازدحام اضافه کنید تا بعد از 3 بار جابه‌جایی، درخواست را رد کند. آیا می‌تواند پاس‌کاری A->B->A را مهار کند؟
  3. برای دامنه‌ای با 12 متخصص، یک سیستم سلسله‌مراتبی دو‌سطحی بسازید. بدون ساختار تو‌در‌تو، بودجه‌ی بافتار در چه نقطه‌ای سرریز می‌کند؟
  4. چهار الگو را روی بار کاری مشابه شرایط پروداکشن پروفایل کنید. هر الگو در کدام معیار (تاخیر، هزینه، دقت، قابلیت خطایابی) برنده می‌شود؟
  5. پست «Building Effective Agents» از Anthropic را بخوانید. هر کدام از جریان‌های کاری پروداکشن خود را به یکی از این چهار الگو ربط دهید. آیا جریانی هست که به‌درستی روی هیچ‌کدام ننشیند؟

اصطلاحات کلیدی

اصطلاح در گفتگوها چه می‌گویند معنای واقعی آن چیست
سرپرست-کارگر (Supervisor-worker) «مسیریاب + متخصص‌ها» مدل زبانی مرکزی کارها را به متخصص‌ها می‌سپارد؛ متخصص‌ها با هم صحبت نمی‌کنند
ازدحام (Swarm) «همتابه‌همتا» دست‌به‌دست کردن مستقیم از طریق ابزارهای مشترک؛ بدون مسیریاب مرکزی
سلسله‌مراتبی (Hierarchical) «سرپرستِ سرپرست‌ها» زیرگراف‌های تو‌در‌تو برای تعداد بالای ایجنت‌ها
مناظره (Debate) «پیشنهاددهنده + نقد» پیشنهاددهنده‌های موازی و نقد متقابل (درس 25)
سرپرستی مبتنی بر فراخوانی ابزار (Tool-call-based supervision) «سرپرست بدون کتابخانه» پیاده‌سازی سرپرست با فراخوانی مستقیم ابزار جهت کنترل دقیق مهندسی بافتار
تیم (Crew) «تیم خودمختار» حالت همکاری مبتنی بر نقش در CrewAI
جریان (Flow) «گردش‌کار قطعی» حالت رویدادمحور و قطعی CrewAI برای پروداکشن

مطالعه‌ی بیشتر

خودآزمایی

به سؤال‌ها جواب بدهید تا ببینید چقدر از درس در ذهنتان مانده است.

  1. پیش از درسدرس به کدام چهار الگوی ارکستراسیون اشاره می‌کند؟
  2. پیش از درستوصیه‌ی سال 2026 فریم‌ورک LangChain در رابطه با نظارت (supervision) چیست؟
  3. حین درسچه عاملی یک swarm را از توپولوژی ناظر-کارگر متمایز می‌کند؟
  4. حین درسچه زمانی استفاده از ارکستراسیون سلسله‌مراتبی توجیه‌پذیر است؟
  5. حین درسترتیب تصمیم‌گیری پیشنهادی که Anthropic از آن حمایت می‌کند چیست؟
  6. پس از درسمنظور از سلسله‌مراتب کاذب (fake hierarchy) در این درس چیست؟
  7. پس از درسچگونه دست‌به‌دست‌شدن‌های رفت‌وبرگشتی پی‌درپی را در یک swarm مهار می‌کنید (A -> B -> A -> B)؟

سؤالات متداول

چه تفاوتی میان الگوی سرپرست (Supervisor) و ازدحام (Swarm) وجود دارد؟

در الگوی سرپرست، تمام تصمیم‌گیری‌ها و هدایت وظایف توسط یک مسیریاب مرکزی انجام می‌شود و ایجنت‌ها مستقیماً با یکدیگر تعاملی ندارند؛ اما در الگوی ازدحام، مسیریاب مرکزی وجود ندارد و ایجنت‌ها کارها را از طریق ابزارهای مشترک مستقیماً بین خود دست‌به‌دست می‌کنند.

چرا لانگ‌چین استفاده از فراخوانی مستقیم ابزار را به‌جای کتابخانه‌های آماده سرپرست توصیه می‌کند؟

پیاده‌سازی سرپرست به‌کمک فراخوانی ابزار (Tool call) کنترل دقیق‌تری روی مهندسی بافتار فراهم می‌کند و به شما اجازه می‌دهد دقیقاً تعیین کنید هر ایجنت متخصص چه داده‌ها و تاریخچه‌ای را در ورودی خود ببیند.

چه زمانی باید از الگوی سلسله‌مراتبی (Hierarchical) استفاده کرد؟

زمانی که تعداد ایجنت‌های متخصص آن‌قدر زیاد شود که گنجایش بافتار یک سرپرست واحد نتواند توضیحات و ابزارهای تمام آن‌ها را مدیریت کند، تقسیم سرپرست‌ها به لایه‌های تو‌در‌تو ضروری می‌شود.

ما رو توی گوگل بیشتر ببین

با افزودن نکست ادمین به «منابع ترجیحی» گوگل، درس‌ها و مطالب ما را در بخش اخبار برتر جستجو بیشتر می‌بینید.