Files
vibe-coding-college-specs/chapters/03-workspace-setup/06-lesson-skills-and-mcps/spec.md

106 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# مشخصات درس‌نامه: استفاده از Skillها و MCPها (Skills & Model Context Protocol)
- **شناسه در سیلابس:** `L3.7`
- **فصل:** فصل ۳: راه‌اندازی محیط کار (Ch 3)
- **نوع محتوا:** 📘 درس‌نامه متنی
- **زمان تقریبی مطالعه:** ۱۵ دقیقه
- **پیش‌نیازهای مستقیم:** `L3.6` (آشنایی با Git و GitHub)
---
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:
- [ ] **درک کند (Understand):** تفاوت بنیادین میان یک مهارت پرامپتی (Skill یا فایل‌های راهنما نظیر `.cursorrules`) و یک ابزار اجرایی تحت پروتکل MCP چیست.
- [ ] **درک کند (Understand):** پروتکل کانتکست مدل (Model Context Protocol - MCP) چگونه به عنوان استاندارد جهانی پورت USB-C برای اتصال هوش مصنوعی به دیتابیس‌ها، وب و ابزارهای بیرونی عمل می‌کند.
- [ ] **به‌کار ببندد (Apply):** یک فایل قوانین اختصاصی پروژه (`.cursorrules`) بسازد تا ایجنت هوش مصنوعی بدون نیاز به تکرار دستورات در هر پرامپت، استانداردهای کدنویسی و پاسخگویی را رعایت کند.
- [ ] **به‌کار ببندد (Apply):** یک سرور ساده MCP (مانند سرور دریافت اطلاعات وب یا دسترسی به فایل) را در ادیتور Cursor یا ابزار Claude Code با استفاده از راهنماهای کشویی سیستم‌عامل‌ها راه‌اندازی کند.
- [ ] **تحلیل/ارزیابی کند (Evaluate):** چه زمانی اضافه کردن یک مهارت یا سرور MCP جدید به ایجنت ضرورت دارد و چگونه از سنگین شدن بی‌مورد حافظه مدل جلوگیری شود.
---
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
### آنچه باید پوشش داده شود (In-Scope):
1. **گذار از مدل منفعل به ایجنت مجهز به ابزار:**
* هوش مصنوعی معمولی فقط متن تولید می‌کند؛ هوش مصنوعی مجهز به MCP و Skill می‌تواند مستندات زنده اینترنت را بخواند، داده‌ها را از دیتابیس استعلام کند یا با ابزارهای سیستم شما تعامل داشته باشد.
2. **پروتکل فراگیر MCP چیست؟ (استعاره کابل USB-C جهانی):**
* چرا قبل از MCP، هر ابزاری روش اختصاصی و ناسازگاری برای اتصال به مدل‌ها داشت.
* استاندارد باز توسعه‌داده‌شده توسط Anthropic که اجازه می‌دهد یک سرور ابزار ساخته شود و تمام ایجنت‌ها (Cursor، Claude Code، Antigravity) بتوانند با یک کلیک از آن استفاده کنند.
3. **تفاوت مهارت‌ها (Skills / Rules) با پروتکل MCP:**
* **مهارت‌ها (Skills):** تزریق دانش و شیوه انجام کار (Mental Workflow & Rules) در قالب اسناد متنی؛ مثل یاد دادن سبک پاسخگویی یا قوانین معماری پروژه.
* **سرورهای MCP (Tools):** دست‌ها و چشمان زنده مدل؛ دسترسی به APIها، مرورگر، دیتابیس یا فایل‌های سیستمی.
4. **پیاده‌سازی گام‌به‌گام ۱: فایل قوانین پروژه (`.cursorrules`):**
* ساخت فایلی به نام `.cursorrules` در ریشه پروژه.
* قرار دادن قوانین طلایی: «کدها را همیشه با TypeScript بنویس»، «توضیحات را به زبان فارسی روان بده»، «قبل از تغییر فایل‌های بزرگ تاییدیه بگیر».
5. **پیاده‌سازی گام‌به‌گام ۲: راه‌اندازی یک سرور ساده MCP در ادیتور:**
* ورود به بخش Settings $\rightarrow$ Features $\rightarrow$ MCP در ادیتور Cursor یا فایل کانفیگ در Claude Code.
* افزودن یک سرور کاربردی ساده (مانند سرور خواندن وب `fetch` یا سرور جستجو).
* **مسیر فایل‌های کانفیگ چندسکویی در ۳ منوی کشویی جداگانه:**
* `<details><summary>مسیر کانفیگ در ویندوز (Windows)</summary> ... </details>`: مسیر `%APPDATA%\...` و نحوه اضافه کردن کانفیگ JSON.
* `<details><summary>مسیر کانفیگ در مک‌اواس (macOS)</summary> ... </details>`: مسیر `~/Library/Application Support/...`.
* `<details><summary>مسیر کانفیگ در لینوکس (Linux)</summary> ... </details>`: مسیر `~/.config/...`.
6. **مشاهده چراغ سبز ابزار در عمل:**
* تست پرسیدن یک سوال زنده از هوش مصنوعی و دیدن اینکه ایجنت چگونه ابزار متصل به MCP را فرامی‌خواند.
7. **کال‌اوت‌های Quera:**
* `<details class="violet">`: چرا پروتکل MCP در سال‌های ۲۰۲۵ و ۲۰۲۶ استانداردی شد که کل صنعت فناوری از جمله مایکروسافت، گوگل و استارتاپ‌ها روی آن اجماع کردند؟
* `<details class="green">`: قدرت صرفه‌جویی فایل `.cursorrules`: با یک بار تعریف این فایل، دیگر نیاز نیست در هر پیام به هوش مصنوعی تذکر دهید چه سبکی کد بنویسد.
### آنچه نباید وارد آن شویم (Out-of-Scope):
- برنامه‌نویسی و کدنویسی یک سرور اختصاصی MCP از صفر با پایتون یا تایپ‌اسکریپت (مبحث پیشرفته مربوط به فصل‌های آخر).
- اتصال هم‌زمان ده‌ها سرور سنگین که باعث اشغال پنجره بافت شود.
---
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده |
| :--- | :--- | :--- |
| Model Context Protocol (MCP) | پروتکل کانتکست مدل | استاندارد متن‌باز برای اتصال مستقیم و امن مدل‌های هوش مصنوعی به ابزارها و منابع داده بیرونی |
| Skill / Project Rule | مهارت / قانون پروژه | راهنما و دستورالعمل دائمی ذخیره‌شده در پروژه برای تنظیم سبک رفتار و خروجی ایجنت |
| .cursorrules | فایل قوانین کرسر | فایلی در ریشه پروژه که دستورات زمینه و سلیقه کدنویسی تیم را به هوش مصنوعی دیکته می‌کند |
| Tool Call / Tool Use | فراخوانی ابزار | توانایی مدل هوش مصنوعی در اجرای یک فرمان بیرونی و خواندن نتیجه آن برای حل مسئله کاربر |
| MCP Host & Client | میزبان و کلاینت MCP | ادیتور یا برنامه‌ای (مانند Cursor یا Claude) که سرورهای MCP را مدیریت و به مدل متصل می‌کند |
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند:
1. **تصویر کاور درس:** `images/cover.png`
* **موضوع:** کاور مدرن با تم تیره و نماد سوکت کابل نئونی USB-C که مغز هوش مصنوعی را به آیکون‌های دیتابیس، گیتهاب، اینترنت و فایل‌ها متصل می‌کند.
2. **استعاره کابل USB-C در پروتکل MCP:** `images/mcp-usb-analogy.png`
* **موضوع:** دیاگرام مفهومی: در گذشته هر پورت اختصاصی بود؛ اکنون کابل استاندارد MCP مدل را به انواع ابزارها متصل می‌سازد.
3. **تفاوت مهارت (Skill) و ابزار (MCP):** `images/skills-vs-mcps.png`
* **موضوع:** تصویر مقایسه‌ای: سمت راست مهارت (مغز و دانشنامه قوانین در `.cursorrules`) در برابر سمت چپ MCP (دست‌ها و ابزارهای فیزیکی برای لمس دنیای بیرون).
4. **پنل تنظیمات MCP در Cursor با چراغ سبز:** `images/cursor-mcp-settings.png`
* **موضوع:** اسکرین‌شات تمیز از صفحه تنظیمات MCP در Cursor که وضعیت سرورها را به رنگ سبز فعال (Active) نشان می‌دهد.
5. **نمونه فایل `.cursorrules` در عمل:** `images/cursorrules-demo.png`
* **موضوع:** نمایش کادر متنی نمونه دستورات یک پروژه استاندارد و تاثیر آن در پاسخ کوتاه، تمیز و فارسی ایجنت.
---
## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`)
1. **تیتر اصلی:** `# استفاده از Skillها و MCPها: دادن دست و چشمان بینا به هوش مصنوعی`
2. **مقدمه:** چرا پاسخ‌های ایجنت بدون دسترسی به ابزارهای بیرونی ناقص و تاریخ‌گذشته است؟
3. **جدول کاور درس**
4. **پروتکل فراگیر MCP چیست؟ استعاره پورت USB-C دنیای هوش مصنوعی:** فلسفه پیدایش و اهمیت.
5. **تفاوت مهارت‌ها (Skills) با ابزارهای اجرایی (MCPs):** شفاف‌سازی تفاوت مفهوم قانون با ابزار کاربری.
6. **باکس نکته صنعتی Quera (`<details class="violet">`):** چرا تمام شرکت‌های بزرگ به سمت استاندارد MCP حرکت کردند؟
7. **تمرین عملی اول: ساخت فایل `.cursorrules` برای هدایت پروژه:**
* ایجاد فایل در ریشه پروژه.
* درج قوانین کدنویسی تمیز، زبان فارسی و فریم‌ورک‌ها.
8. **باکس نکته Quera (`<details class="green">`):** خلاص شدن همیشگی از یادآوری‌های تکراری به هوش مصنوعی.
9. **تمرین عملی دوم: افزودن یک سرور کاربردی MCP در ادیتور:**
* مراحل منوی Settings در Cursor و Claude Code.
* مسیر فایل‌های پیکربندی با منوهای کشویی سیستم‌عامل‌ها (Windows, macOS, Linux).
10. **تست و تایید اتصال ابزار:** مشاهده فراخوانی موفق ابزار در چت با مدل.
11. **جمع‌بندی درس‌نامه:** مجهز شدن ایجنت شما به ابزارهای دنیای واقعی.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] تفاوت Skill (قوانین و پرامپت‌ها) و MCP (پروتکل اتصال به ابزارها) به وضوح تبیین شده باشد.
- [ ] استعاره پورت جهانی USB-C برای درک ماهیت MCP در متن به کار رود.
- [ ] یک تمرین عملی قابل انجام ساخت `.cursorrules` به همراه محتوای نمونه قرار داده شود.
- [ ] مسیرهای کانفیگ برای ویندوز، مک و لینوکس در منوهای کشویی مجزا درج گردند.