اگر برنامهنویسی هستید که یک کدبیس پیچیده را مدیریت میکند، دیگر مجبور نیستید بین سرعت اجرای خام و حافظه بلندمدت هوش مصنوعی یکی را انتخاب کنید. در ۷ ژوئن ۲۰۲۶، یک تحلیل فنی دقیق فاش کرد که کاربران GitHub Copilot CLI چگونه میتوانند از دو الگوی متمایز عاملهای چندگانه استفاده کنند: حالت Fleet و چارچوب Squad.
بسیاری از توسعهدهندگان به جلسات چت تکبعدی عادت کردهاند که با بستن پنجره، همهچیز را فراموش میکنند. این موضوع زمانی تبدیل به گلوگاه میشود که یک تسک هم به موازیسازی گسترده — مثل بازنویسی ده فایل بهطور همزمان — و هم به دانش عمیق سازمانی از تصمیمات معماری پروژه نیاز داشته باشد. صنعت اکنون به سمت «گردشکارهای عاملمحور» (Agentic Workflows) حرکت میکند؛ جایی که هوش مصنوعی فقط کد پیشنهاد نمیدهد، بلکه کل فرآیند ساخت را مدیریت میکند. سردرگمی کاربران اغلب از این نکته ناشی میشود که هر دو ابزار /fleet و Squad شامل چندین عامل هستند، کارها را موازی میکنند و درون Copilot CLI اجرا میشوند. با این حال، آنها در لایههای کاملاً متفاوتی از پشته (Stack) عمل میکنند.
درک حالت Fleet
حالت Fleet یک ویژگی داخلی در Copilot CLI است که با دستور /fleet فعال میشود. این حالت مانند یک واحد اعزام سریع (Dispatch Primitive) عمل میکند. وقتی پرامپتی میزنید — مثلاً «ماژول احراز هویت را بازنویسی کن، برای هر اندپوینت تست بنویس و README را بهروز کن» — یک سازماندهنده (Orchestrator) درخواست را به زیر-تسکهای مستقل تقسیم کرده و آنها را بهصورت موازی با استفاده از زیر-عاملهای بدون وضعیت (Stateless) اجرا میکند.

طبق مستندات فنی، این زیر-عاملها در انزوای کامل هستند. آنها نمیتوانند با یکدیگر ارتباط برقرار کنند و هیچ حافظهای بین جلسات ندارند. تمام هماهنگیها از طریق سازماندهنده اصلی انجام میشود. اگرچه آنها به سیستم فایل دسترسی دارند، اما مکانیزم قفل فایل (File Locking) وجود ندارد؛ یعنی اگر دو عامل یک خط را ویرایش کنند، آخرین تغییری که ذخیره شود، بدون هیچ هشداری جایگزین میشود و پیروز میشود.
توسعهدهندگان میتوانند این رفتار را از طریق حالت Plan نیز فعال کنند. با نوشتن یک برنامه با Shift+Tab، کاربران میتوانند گزینه «Autopilot + /fleet» را برای اجرای کامل و بدون دخالت کاربر (Hands-off) انتخاب کنند. Fleet برای سرعت و حذف مراحل تنظیمات طراحی شده و برای تسکهایی که بهراحتی به قطعات مستقل تقسیم میشوند، ایدهآل است.
چارچوب Squad
برخلاف Fleet، Squad یک چارچوب متنباز است که توسط برادی گاستر (Brady Gaster)، معمار ارشد مدیریت محصول در مایکروسافت (بخش CoreAI Apps & Agents)، توسعه یافته است. این ابزار CLI را به یک تیم توسعه دائمی تبدیل میکند. توسعهدهندگان با نصب جهانی این ابزار از طریق npm install -g @bradygaster/squad-cli و اجرای دستور squad init copilot --agent squad --yolo یک دایرکتوری .squad/ در مخزن خود ایجاد میکنند.
این دایرکتوری، هویت و تاریخچه تیم را در فایلهای Markdown ساده ذخیره میکند. این امر تضمین میکند که دانش تیم هوش مصنوعی تحت کنترل نسخه (Version-controlled) است و در کل سازمان به اشتراک گذاشته میشود.
معماری و اجزای Squad
ساختار Squad برای هماهنگی بلندمدت طراحی شده است، نه اعزام سریع. دایرکتوری .squad/ شامل چندین فایل حیاتی است:
- team.md: فهرستی جامع از تمام عاملهای حاضر در تیم.
- routing.md: تعریف منطق تخصیص هر نوع کار به عامل مربوطه (اینکه چه کسی چه کاری را انجام دهد).
- decisions.md: سوابق تصمیمات تیمی که هر عامل باید قبل از شروع کار بخواند تا یکپارچگی و سازگاری حفظ شود.
- agents/{name}/charter.md: تعریف هویت، تخصص و محدودیتهای خاص هر عامل.
- agents/{name}/history.md: ذخیره دانش تکاملیافتهای که هر عامل درباره پروژه خاص آموخته است.
عاملها نامهای ثابتی دارند که از جهانهای تخیلی گرفته شدهاند؛ مثلاً فراخوانهای مرکز کنترل ماموریت آپولو ۱۳ یا شخصیتهای فیلم «مظنونین همیشگی» (The Usual Suspects). این نامها در فایل .squad/casting/registry.json ردیابی شده و در جلسات مختلف باقی میمانند.
عاملهای تخصصی Squad
Squad برای حفظ کیفیت و حاکمیت، از سلسلهمراتبی از عاملها استفاده میکند:
- هماهنگکننده (Coordinator): این عامل در مسیر
.github/agents/squad.agent.mdقرار دارد و نقش مسیریاب را دارد. او درخواستها را میخواند، جدول مسیریابی را چک میکند و متخصصان درست را فراخوانی میکند. او هرگز کار فنی دامنه (Domain Work) انجام نمیدهد و فقط تفویض میکند. - کاتب (Scribe): یک عامل پسزمینه خاموش که بعد از هر دسته کار اجرا میشود. Scribe تصمیمات را ادغام کرده، تاریخچهها را بهروز میکند و ورودیهای قدیمی را آرشیو میکند. کاربران هرگز بهطور مستقیم با Scribe تعامل ندارند.
- رالف (Ralph): یک دیمون (Daemon) که تخته Issueهای گیتهاب را در بازههای زمانی مشخص (Polling Interval) بررسی میکند تا تسکها را بهطور خودکار دستهبندی (Triage) و بر اساس ایشوهای ورودی، عاملها را اعزام کند.

حاکمیت و گیتهای کیفیت
Squad لایههای حاکمیتی دارد که در Fleet وجود ندارد. این سیستم از مدل «مرجع نوشتن» (Write-authority model) برای کنترل دسترسی عاملها به فایلهای خاص استفاده میکند. برای جلوگیری از خطا، پروتکل «قفل بازبین» (Reviewer Lockout) اجرا میشود: یک عامل اجازه ندارد کدی را که یکبار رد شده است، خودش اصلاح کند؛ حتماً باید عامل دیگری برای حل مشکل وارد شود.
علاوه بر این، Squad «مراسمات» (Ceremonies) را اجباری میکند. بررسیهای طراحی (Design Reviews) بهطور خودکار قبل از تسکهای چند-عاملی که سیستمهای مشترک را لمس میکنند، فعال میشوند. همچنین جلسات بازبینی (Retrospectives) بهطور خودکار بعد از شکستها اجرا میشوند. یک عامل اختصاصی RAI (هوش مصنوعی مسئول) با ارائه احکام «چراغ راهنمایی»، نظارت بر ایمنی و انطباق را بر عهده دارد.
قدرت اعزام ترکیبی (Hybrid)
از نسخه v0.10.0 به بعد، این دو سیستم دیگر رقیب نیستند. برادی گاستر صراحتاً استفاده از Fleet به عنوان هسته Squad را ارزیابی کرد اما به این دلیل آن را رد کرد که Fleet «منشورهای» (Charters) سفارشی عاملها را نادیده میگیرد. وقتی در یک پرامپت /fleet از @my-agent نام میبرید، CLI یک عامل اکتشافی (Explore Agent) عمومی میسازد و هویت و محدودیتهای آن عامل را نادیده میگیرد.
برای حل این مشکل، Squad اکنون Fleet را به عنوان یک حالت اعزام اختیاری ادغام کرده است. با دستور squad watch --execute --dispatch-mode hybrid دیمون رالف، ایشوهای گیتهاب را بر اساس اسکن کردن عنوانها دستهبندی میکند:
- تسکهای خواندنی (کلمات کلیدی: research, review, analyze, audit) $\rightarrow$ از طریق
/fleetبرای سرعت موازی ارسال میشوند. - تسکهای نوشتاری (کلمات کلیدی: fix, implement, create, build) $\rightarrow$ از طریق ابزار متوالی Squad برای رعایت حاکمیت و منشورها ارسال میشوند.
در صورت ابهام، سیستم بهطور پیشفرض حالت «نوشتاری» را انتخاب میکند تا اجرای منشورها تضمین شود.

بنچمارکهای عملکرد
به گزارش بررسیهای انجام شده روی چهار ایشوی واقعی، رویکرد ترکیبی بهطور قابلتوجهی کارآمدتر از اعزام متوالی است:
- زمان کل: از ۳۳۲ ثانیه (متوالی) به ۱۱۶ ثانیه (ترکیبی/Fleet) کاهش یافت — یعنی بهبود سرعت ۲.۹ برابری.
- درخواستهای پریمیوم: از حدود ۱۶ مورد به ۱۲ مورد رسید (کاهش تقریباً ۲۵ درصدی).
- سربار استارتآپ MCP: ۴ برابر کاهش یافت (از ۴ بار در هر پروسه به ۱ بار مشترک).
Fleet در تمام این تستها توانست ایشوها را با اولویتبندی درست و گامهای عملیاتی دقیق دستهبندی کند.
تحلیل استراتژیک
این تفکیک، مدل ذهنی کدنویسی با هوش مصنوعی را از «پرامپت دادن به یک ربات» به «مدیریت یک نیروی کار» تغییر میدهد. Fleet در واقع تیمی از فریلنسرهای موقت است: برای کارهای یکروزه سریع و بهینه هستند، اما هیچ ارزش ماندگاری در پایگاه دانش سازمان نمیگذارند. آنها به این سوال پاسخ میدهند: «چطور چندین عامل را موازی اجرا کنم؟»
در مقابل، Squad ایجاد یک «حافظه سازمانی دیجیتال» است. پاسخ به این سوال میدهد: «چطور یک تیم دائمی از متخصصان داشته باشم که پروژه من را یاد بگیرند و کیفیت را در طول زمان تضمین کنند؟» چون وضعیت در Git ذخیره میشود، هر عضو جدیدی که مخزن را کلون کند، دانش accumulated تیم هوش مصنوعی را به ارث میبرد. این موضوع مشکل «چنگاندن پنجره متنی» (Context Window's death grip) را حل میکند؛ جایی که توسعهدهندگان نیمی از وقت خود را صرف توضیح مجدد محدودیتهای معماری به هوش مصنوعی میکردند.
برای توسعهدهنده، این تغییر یعنی گذار از «مهندسی پرامپت» به «مهندسی منشور» (Charter Engineering). ارزش دیگر در نحوه پرسیدن سوال نیست، بلکه در نحوه تعریف نقش متخصص و پروتکلهای بازبینی است که باید دنبال کنند.
راهنمای پیادهسازی
برای شروع پیادهسازی، توسعهدهندگان باید گلوگاههای فعلی خود را ارزیابی کنند:
- Fleet را انتخاب کنید وقتی: تسک یکبارهای دارید که به قطعات مستقل تقسیم میشود (مثلاً بازنویسی چند فایل، تولید تست، یا مستندسازی برای چندین کامپوننت) و میخواهید بدون هیچ تنظیماتی به حداکثر سرعت برسید.
- Squad را انتخاب کنید وقتی: روی پروژهای در بازه چند هفته کار میکنید، به اجرای استانداردهای کیفیت (قفل بازبین، جلسات بازبینی) نیاز دارید، متخصصان نامداری میخواهید که تخصصشان باقی بماند، یا نیاز دارید سیستم در VS Code و GitHub.com بهطور یکسان کار کند.
- هر دو را انتخاب کنید وقتی: در حال حاضر Squad را اجرا میکنید و میخواهید عملیات دستهای مثل ممیزی کد (Code Audit) و دستهبندی ایشوها را با استفاده از حالت اعزام ترکیبی سرعت ببخشید.
کسانی که به دنبال بهترین حالت از هر دو سیستم هستند، میتوانند Squad CLI را از طریق npm نصب کرده و حالت اعزام ترکیبی را برای تختههای ایشوی گیتهاب خود پیکربندی کنند تا سرعت Fleet در خواندن و حاکمیت Squad در نوشتن را ترکیب کنند.




گفتگو