آموزش Multi-Agent در Cursor؛ اجرای موازی AI Agentها
· mytag_6166
ابزارهای برنامهنویسی مبتنی بر هوش مصنوعی در سالهای اخیر تغییرات زیادی داشتهاند. در ابتدا، ابزارهایی مانند Cursor بیشتر برای تکمیل خودکار کد، پاسخ به سؤالات برنامهنویسی و اصلاح فایلها استفاده میشدند؛ اما امروزه میتوان چندین AI Agent را بهصورت همزمان روی یک پروژه اجرا کرد.
تصور کنید روی یک پروژه Angular یا React کار میکنید و همزمان به بررسی معماری، بهینهسازی Performance، نوشتن Unit Test و اصلاح مشکلات Accessibility نیاز دارید.
در روش سنتی، باید این فعالیتها را یکی پس از دیگری انجام دهید؛ اما با قابلیت Multi-Agent در Cursor میتوانید وظایف مستقل را بین چند Agent تقسیم کنید تا همزمان انجام شوند.
در این مقاله، قابلیتهای مختلف Cursor برای مدیریت Agentها، اجرای موازی تسکها و توسعه نرمافزار را بررسی میکنیم.
Multi-Agent در Cursor چیست؟
Multi-Agent به روشی گفته میشود که در آن چند عامل هوش مصنوعی (AI Agent) برای انجام یک یا چند وظیفه با یکدیگر همکاری میکنند.
هر Agent میتواند وظیفه مشخصی داشته باشد و در یک Context مستقل فعالیت کند.
برای مثال، در یک پروژه Angular Design System میتوان چهار Agent با وظایف زیر تعریف کرد:
- Architecture Agent: بررسی ساختار پروژه، ماژولها و وابستگیها
- Performance Agent: شناسایی مشکلات Change Detection، RxJS و بهینهسازی رندر
- Accessibility Agent: بررسی دسترسپذیری، Keyboard Navigation و استانداردهای ARIA
- Testing Agent: بررسی Unit Testها و شناسایی کمبود پوشش تست
در این ساختار، یک Agent اصلی میتواند مسئول تقسیم وظایف، جمعآوری نتایج و ارائه گزارش نهایی باشد.
مزایای استفاده از Multi-Agent
مهمترین مزایا عبارتاند از:
- اجرای همزمان وظایف مستقل
- تقسیم کار بین Agentهای تخصصی
- کاهش شلوغی Context اصلی
- بررسی یک مسئله از چند دیدگاه
- امکان توسعه موازی بخشهای مختلف پروژه
- مدیریت بهتر تسکهای طولانی
البته اجرای چند Agent همیشه سریعتر یا بهتر نیست. Agentهای متعدد ممکن است مصرف توکن را افزایش دهند و در صورت تغییر فایلهای مشترک، باعث تداخل شوند.
۱. حالت Agent در Cursor
Agent Mode حالت اصلی برنامهنویسی خودکار در Cursor است.
در این حالت، هوش مصنوعی میتواند کد پروژه را بررسی کند، فایلها را تغییر دهد، دستورات ترمینال اجرا کند و برای رفع خطاها اقدام کند.
برای مثال:
Create a reusable Angular 16 DatePicker component.
Requirements:
- Support Reactive Forms
- Implement ControlValueAccessor
- Support RTL and LTR
- Handle disabled and required states
- Add unit tests
Agent میتواند فایلهای لازم را بررسی کرده و پیادهسازی را انجام دهد.
زمان مناسب استفاده: پیادهسازی Feature، رفع باگهای مشخص و Refactoring.
۲. حالت Ask؛ تحلیل کد بدون تغییر فایلها
Ask Mode برای زمانی مناسب است که میخواهیم درباره پروژه سؤال بپرسیم، اما قصد تغییر فایلها را نداریم.
برای مثال:
Analyze the current Angular component architecture.
Identify:
- Circular dependencies
- Unnecessary module coupling
- Public API design problems
Do not modify any files.
این حالت برای آشنایی با پروژههای بزرگ و بررسی اولیه مشکلات کاربرد دارد.
۳. حالت Plan؛ طراحی قبل از پیادهسازی
در Plan Mode، Cursor قبل از نوشتن کد، ساختار و مراحل پیادهسازی را مشخص میکند.
این قابلیت برای Featureهای پیچیده یا تغییرات معماری مناسب است.
مثلاً:
Create a migration plan for converting our Angular 16
Design System components to standalone components.
Requirements:
- Preserve backward compatibility
- Avoid breaking public APIs
- Support incremental migration
- Include testing strategy
Do not implement the changes yet.
پس از بررسی Plan، میتوان پیادهسازی را آغاز کرد.
برای فعالسازی این حالت، از انتخابگر Mode استفاده کنید. در نسخههای پشتیبانیشده، کلید Shift + Tab نیز برای جابهجایی بین حالتها استفاده میشود.
۴. حالت Debug؛ پیدا کردن علت واقعی باگ
Debug Mode برای مشکلاتی طراحی شده که علت دقیق آنها مشخص نیست.
در این حالت، Cursor میتواند فرضیههای مختلف را بررسی کند، اطلاعات Runtime جمعآوری کند و سپس راهکار اصلاح مشکل را پیشنهاد دهد.
مثلاً:
Investigate why the Angular switch component
does not update correctly when using formControl.disable().
Find the root cause before making changes.
این روش بهخصوص برای مشکلات پیچیده Reactive Forms، Change Detection و رفتارهای وابسته به Lifecycle مفید است.
آموزش اجرای چند Agent همزمان در Cursor
۵. Subagents؛ تقسیم یک تسک بین چند Agent
یکی از مهمترین قابلیتهای Cursor، پشتیبانی از Subagent است.
Subagent یک Agent مستقل است که توسط Agent اصلی برای انجام بخشی از کار اجرا میشود.
هر Subagent میتواند Context و دستورالعملهای اختصاصی داشته باشد.
مثال عملی: بررسی موازی یک پروژه Angular
پروژه را در Cursor باز کنید و در پنل Agent پرامپت زیر را وارد کنید:
Use 4 parallel subagents to analyze this Angular 16 project.
Agent 1 - Architecture:
Review modules, components, dependencies and public APIs.
Agent 2 - Performance:
Review OnPush, RxJS subscriptions, memory leaks,
and unnecessary change detection.
Agent 3 - Accessibility:
Review keyboard navigation, ARIA attributes,
focus management and form controls.
Agent 4 - Testing:
Review unit tests, test coverage gaps,
and library packaging.
Requirements:
- Run all agents concurrently.
- Do not modify any files.
- Report findings with file paths.
- Wait for all agents.
- Generate one consolidated report.
در صورت پشتیبانی محیط و فراهمبودن ظرفیت اجرا، Cursor میتواند وظایف را بین Subagentها تقسیم کند.
Foreground و Background Subagents
Subagentها دو الگوی اجرا دارند:
Foreground: Agent اصلی برای دریافت نتیجه منتظر پایان Subagent میماند.
Background: Subagent فعالیت خود را در پسزمینه ادامه میدهد و Agent اصلی میتواند کارهای دیگری را انجام دهد.
Background Subagents برای تحلیل پروژههای بزرگ و فعالیتهای طولانی مناسب هستند.
۶. دستور Multitask؛ اجرای چند وظیفه مستقل
یکی دیگر از قابلیتهای مهم Cursor، دستور /multitask است.
این قابلیت در Agents Window ارائه شده و برای اجرای چند فعالیت مستقل بهصورت موازی کاربرد دارد.
/multitask
فرض کنید سه مشکل در Design System وجود دارد:
- مشکل Keyboard Navigation در Select
- مشکل Change Detection در Switch
- مشکل Focus Management در Bottomsheet
میتوان از Cursor درخواست کرد این فعالیتها را بین چند Subagent مستقل تقسیم کند.
تفاوت Multitask با Queue این است که در Queue، وظایف به ترتیب اجرا میشوند؛ اما Multitask میتواند فعالیتهای مستقل را بهصورت همزمان پیش ببرد.
Build in Parallel
در برخی Workflowها میتوان پس از ایجاد Plan از گزینه Build in Parallel استفاده کرد.
Cursor در این حالت فعالیتهای مستقل را موازی اجرا میکند و ترتیب فعالیتهایی را که به یکدیگر وابستهاند حفظ میکند.
این قابلیت برای پیادهسازی Featureهای بزرگ که از چند بخش مستقل تشکیل شدهاند بسیار کاربردی است.
توسعه موازی بدون تداخل فایلها
۷. Git Worktree در Cursor چیست؟
یکی از چالشهای اجرای چند Agent، تغییر همزمان فایلهای مشترک است.
فرض کنید دو Agent همزمان فایل select.component.ts را تغییر دهند. در چنین شرایطی ممکن است تغییرات یکی با دیگری تداخل پیدا کند.
Git Worktree راهکاری برای مدیریت این وضعیت است.
Worktree اجازه میدهد چند Checkout مستقل از یک Repository داشته باشیم.
هر Agent میتواند داخل یک Worktree جداگانه فعالیت کند.
ایجاد Worktree با Cursor
در محیط IDE میتوان از دستور زیر استفاده کرد:
/worktree
برای مثال:
/worktree Fix keyboard accessibility issues
in the Angular Select component.
Cursor تسک را در یک محیط Git مستقل انجام میدهد.
دستورات مدیریت Worktree
| دستور | کاربرد |
|---|---|
/worktree | شروع تسک در Worktree مستقل |
/apply-worktree | انتقال تغییرات به Checkout اصلی |
/delete-worktree | حذف Worktree |
git worktree list | نمایش Worktreeهای Git |
قبل از انتقال تغییرات، بهتر است Diff، تستها و وضعیت Git بررسی شوند.
Worktree احتمال تداخل مستقیم فایلها را کاهش میدهد، اما Conflict هنگام ادغام تغییرات همچنان ممکن است.
۸. Best-of-N؛ اجرای یک مسئله با چند مدل هوش مصنوعی
قابلیت /best-of-n یکی از روشهای جالب مقایسه خروجی مدلهای مختلف در Cursor است.
در این روش، یک مسئله مشخص به چند مدل داده میشود.
هر مدل بهصورت مستقل تلاش میکند مسئله را حل کند و نتیجه در Worktree جداگانه قرار میگیرد.
برای مثال:
/best-of-n sonnet,gpt,composer
Refactor the Angular Select component.
Requirements:
- Improve keyboard accessibility
- Preserve existing public APIs
- Support Reactive Forms
- Avoid breaking changes
- Add regression tests
پس از پایان اجرا، میتوان راهکارهای پیشنهادی را مقایسه کرد.
چه زمانی از Best-of-N استفاده کنیم؟
این روش بهخصوص برای موارد زیر مناسب است:
- Refactoring کامپوننتهای پیچیده
- تصمیمگیری بین چند راهکار معماری
- اصلاح باگهای دشوار
- بررسی کیفیت پیادهسازی مدلهای مختلف
- انتخاب راهکاری با کمترین Breaking Change
نکته مهم این است که Best-of-N صرفاً خروجیها را برای مقایسه آماده میکند و بهصورت خودکار همه تغییرات را به Branch اصلی منتقل نمیکند.
مدیریت Agentها با Agents Window
۹. Agents Window چیست؟
Agents Window محیط اختصاصی Cursor برای مدیریت فعالیتهای Agentهاست.
بهجای مدیریت تمام فعالیتها در یک گفتوگو، میتوان چند Agent مستقل را در پروژهها و محیطهای مختلف اجرا کرد.
از جمله قابلیتهای آن:
- مدیریت چند Agent همزمان
- مشاهده وضعیت فعالیتها
- جابهجایی بین پروژهها
- اجرای Agent روی Worktree
- اجرای Agent در Cloud
- بررسی تغییرات و خروجیها
Agents Window برای توسعهدهندگانی که چند پروژه یا چند فعالیت طولانی دارند، بسیار مفید است.
اجرای Agent در فضای ابری
۱۰. Cloud Agents
Cloud Agent برخلاف Agent محلی، روی کامپیوتر توسعهدهنده اجرا نمیشود.
Cursor برای آن یک محیط توسعه ابری و مجزا فراهم میکند.
این محیط میتواند شامل Repository، وابستگیهای پروژه، ابزارهای Build و امکانات تست باشد.
مزایا
- اجرای تسک بدون نیاز به روشنماندن کامپیوتر شخصی
- اجرای فعالیتهای طولانی
- امکان Build و Test در محیط مجزا
- مناسب برای بررسی مشکلات CI/CD
- امکان انجام فعالیتهای موازی روی Repositoryهای مختلف
مثال:
Investigate the failing CI pipeline.
Identify the root cause, apply the required changes,
run relevant tests and prepare a pull request.
دستور /in-cloud
برای واگذاری یک تسک به Cloud Agent میتوان از دستور زیر در محیط پشتیبانیشده استفاده کرد:
/in-cloud Investigate the failing Angular library build.
Cloud Agent میتواند فعالیت خود را مستقل از محیط محلی ادامه دهد.
دستور /babysit
این قابلیت برای پیگیری وضعیت Pull Request و انجام فعالیتهای لازم برای آمادهشدن آن جهت Merge طراحی شده است.
استفاده از Cloud Agentها و قابلیتهای مرتبط به امکانات و محدودیتهای پلن Cursor وابسته است.
۱۱. ساخت Custom Subagents در Cursor
یکی از قابلیتهای کاربردی Cursor، امکان ساخت Agentهای تخصصی و قابلاستفاده مجدد است.
برای مثال، در یک پروژه Angular Design System میتوان Agentهای زیر را تعریف کرد:
.cursor/
agents/
angular-architect.md
performance-reviewer.md
accessibility-reviewer.md
testing-agent.md
هر فایل شامل دستورالعملهای اختصاصی یک Agent است.
نمونه Accessibility Agent
فایل زیر را ایجاد کنید:
.cursor/agents/accessibility-reviewer.md
---
name: accessibility-reviewer
description: Reviews Angular components for accessibility
---
You are an Angular 16 accessibility specialist.
Review components for:
- Keyboard navigation
- Focus management
- ARIA attributes
- Semantic HTML
- Disabled states
- RTL and LTR compatibility
- ControlValueAccessor integration
Do not modify files unless explicitly requested.
Report findings with exact file paths and severity.
با این روش، میتوان مجموعهای از Agentهای تخصصی برای پروژه ایجاد کرد.
برای مثال، Accessibility Reviewer همیشه بر دسترسپذیری تمرکز میکند و Performance Reviewer مشکلات مربوط به رندر، Change Detection و حافظه را بررسی میکند.
Custom Subagentها برای تیمهایی که به بررسیهای تکرارشونده نیاز دارند بسیار مفید هستند.
۱۲. تفاوت Queue، Immediate و Multitask
Cursor چند روش برای ارسال پیام هنگام اجرای Agent دارد.
Queue
پیام جدید در صف قرار میگیرد و بعد از پایان فعالیت فعلی اجرا میشود.
Immediate
پیام جدید بلافاصله برای هدایت فعالیت جاری ارسال میشود.
Multitask
فعالیت مستقل میتواند به یک Subagent واگذار شود و همزمان با سایر کارها اجرا شود.
| روش | نحوه اجرا |
|---|---|
| Queue | ترتیبی |
| Immediate | هدایت اجرای جاری |
| Multitask | موازی، در صورت امکان |
در محیط ویندوز، هنگام اجرای Agent معمولاً Enter پیام را وارد صف میکند و Ctrl + Enter برای ارسال فوری استفاده میشود.
۱۳. مقایسه تمام قابلیتهای مهم Cursor
| قابلیت | مناسب برای | امکان تغییر کد |
|---|---|---|
| Agent | توسعه Feature | بله |
| Ask | تحلیل و بررسی | خیر |
| Plan | طراحی معماری | پیش از Build، خیر |
| Debug | عیبیابی | بله، در فرایند اصلاح |
| Subagents | تحلیل یا تقسیم کار | بسته به مجوز |
| Background Subagents | فعالیتهای طولانی | بسته به وظیفه |
| Multitask | چند تسک موازی | بله |
| Worktree | توسعه ایزوله | بله |
| Best-of-N | مقایسه چند راهکار | بله، در محیطهای مستقل |
| Cloud Agent | اجرای ابری | بله |
| Custom Subagents | نقشهای تخصصی | قابل تنظیم |
۱۴. آیا اجرای چند Agent هزینه بیشتری دارد؟
بله، اجرای چند Agent معمولاً مصرف بیشتری نسبت به یک Agent دارد.
دلیل این موضوع این است که هر Subagent میتواند Context مستقل، درخواستهای مدل و فراخوانی ابزارهای مخصوص خود را داشته باشد.
البته میزان مصرف به عواملی مانند مدل انتخابشده، پیچیدگی تسک، تعداد Agentها و مدت اجرا بستگی دارد.
برای فعالیتهای ساده، استفاده از یک Agent معمولاً منطقیتر است.
همچنین اشتراک ChatGPT Pro بهصورت خودکار سهمیه پولی Cursor را تأمین نمیکند؛ Cursor محدودیتها و مدل مصرف مستقل خودش را دارد.
۱۵. بهترین Workflow برای پروژههای واقعی
برای استفاده حرفهای از قابلیتهای Multi-Agent، میتوان از فرایند زیر استفاده کرد.
مرحله اول: تحلیل
ابتدا با Ask Mode یا چند Subagent پروژه را بررسی کنید.
مرحله دوم: برنامهریزی
با Plan Mode راهکار و محدوده تغییرات را مشخص کنید.
مرحله سوم: تقسیم وظایف
فعالیتهای مستقل را شناسایی کرده و به Agentهای مختلف واگذار کنید.
مرحله چهارم: پیادهسازی ایزوله
برای تسکهایی که کد را تغییر میدهند، از Worktreeهای مستقل استفاده کنید.
مرحله پنجم: تست و بررسی
پس از پایان فعالیتها:
- Unit Test اجرا کنید.
- Build پروژه را بررسی کنید.
- تغییرات Git را مرور کنید.
- سازگاری Public API را کنترل کنید.
- خطاهای احتمالی هنگام ادغام را برطرف کنید.
مرحله ششم: ادغام نهایی
پس از تأیید خروجی، تغییرات را به Branch اصلی منتقل کنید.
نکات مهم برای استفاده حرفهای
برای کسب نتیجه بهتر از Multi-Agent، رعایت چند نکته ضروری است:
- وظایف مستقل را به Agentهای متفاوت اختصاص دهید.
- محدوده دسترسی و فایلهای قابلتغییر را مشخص کنید.
- خروجی مورد انتظار هر Agent را دقیق بنویسید.
- برای بررسیهای اولیه از حالت Read-only استفاده کنید.
- برای تغییرات موازی کد از Worktree کمک بگیرید.
- تعداد Agentها را متناسب با پیچیدگی مسئله انتخاب کنید.
- خروجی Agentها را بدون تست و Code Review وارد Production نکنید.
جمعبندی
Cursor دیگر صرفاً یک ویرایشگر کد مجهز به هوش مصنوعی نیست؛ بلکه امکاناتی برای مدیریت چند عامل هوشمند در چرخه توسعه نرمافزار فراهم کرده است.
با قابلیتهایی مانند Subagents، Multitask، Worktrees، Best-of-N و Cloud Agents میتوان تحلیل، توسعه و تست بخشهای مستقل پروژه را بهصورت موازی انجام داد.
برای پروژههای بزرگ Angular، React و Next.js، این امکانات میتوانند به افزایش بهرهوری کمک کنند؛ بهشرط اینکه تقسیم وظایف، مدیریت Context و کنترل تغییرات بهدرستی انجام شود.
در نهایت، هدف Multi-Agent جایگزینی کامل فرایند مهندسی نرمافزار نیست، بلکه کمک به توسعهدهنده برای مدیریت بهتر فعالیتهای پیچیده و تکرارشونده است.
اگر قصد دارید استفاده از Multi-Agent را شروع کنید، پیشنهاد میشود ابتدا یک پروژه واقعی را با دو یا سه Subagent در حالت Read-only بررسی کنید و سپس بهتدریج سراغ توسعه موازی با Worktree بروید.
منابع و مستندات رسمی
- Cursor Subagents
- Cursor Worktrees و Best-of-N
- Cursor Plan Mode
- Cursor Debug Mode
- Cursor Cloud Agents
- Cursor Multitask و Parallel Execution
این مقاله بر اساس قابلیتهای مستندشده Cursor تا اکتبر ۲۰۲۶ تهیه شده است. برخی امکانات ممکن است به نسخه نرمافزار، محیط اجرا و نوع اشتراک وابسته باشند.