شما به زیر-عامل‌ها (Sub-Agents) نیاز ندارید

بیشتر مردم معماری‌های عامل (agent architectures) را مانند نمودارهای سازمانی ترسیم می‌کنند.

آن‌ها یک Orchestrator (هماهنگ‌کننده) را در بالا قرار می‌دهند. خطوطی به یک Researcher (پژوهشگر)، یک Coder (برنامه‌نویس) و یک Tester (تستر) می‌کشند. ظاهر تمیز و حرفه‌ای دارد.

اما این یک اشتباه است.

در سال ۱۹۷۵، فرد بروکس نوشت که اضافه کردن افراد بیشتر به یک پروژه نرم‌افزاری که از برنامه عقب افتاده، آن را عقب‌تر می‌کند. این اتفاق به این دلیل می‌افتد که هزینه‌های ارتباطی سریع‌تر از پیشرفت کار رشد می‌کنند.

وقتی یک Swarm (دسته) از عامل‌ها می‌سازید، همین اشتباه را تکرار می‌کنید.

هماهنگ‌کننده تمام وقت خود را صرف مدیریت زیر-وظایف می‌کند. این کار باعث ایجاد سربار (overhead) عظیمی می‌شود. شما در حال ساختن یک معماری نیستید؛ در حال ساختن لوله‌کشی هستید.

دلیل شکست زیر-عامل‌ها اینجاست:

تحقیقات نشان می‌دهد که چارچوب‌های چند-عاملی (multi-agent frameworks) نرخ شکست بین ۴۱٪ تا ۸۷٪ دارند. این شکست‌ها به این دلیل رخ می‌دهند که عامل‌ها بدون درک متقابل با هم صحبت می‌کنند. یک مدل بهتر این مشکل را حل نخواهد کرد. این یک مشکل هماهنگی است، نه یک مشکل مدل.

در عوض، چگونه باید بسازید؟

این دو قانون را دنبال کنید:

  1. اگر وظایف مستقل هستند، آن‌ها را به عنوان حلقه‌های (loops) جداگانه اجرا کنید. از دو برنامه مجزا استفاده کنید. این پردازش موازی است، نه یک سیستم چند-عاملی.
  2. اگر وظیفه نیازمند یک رشته افکار واحد است، از یک حلقه واحد استفاده کنید.

یک حلقه واحد، تمام بافتار را در یک جا نگه می‌دارد. به راحتی خوداصلاحی (self-correct) می‌کند و به جای یک چت گروهی آشفته، یک تاریخچه تمیز به جا می‌گذارد.

ساختن شبکه‌های درهم‌تنیده (meshes) را متوقف کنید. ساختن حلقه‌ها را شروع کنید.

Source: https://dev.to/tony__vi/you-dont-need-sub-agents-1eh7

Optional learning community: https://t.me/GyaanSetuAi