feat: add chapter 02-vibe-coding-mindset specs

This commit is contained in:
2026-09-05 21:41:02 +08:00
parent e16cca93ee
commit 652dba5bc4
8 changed files with 861 additions and 0 deletions

View File

@@ -0,0 +1,97 @@
# مشخصات درس‌نامه: اصول مهندسی پرامپت (Prompt Engineering for Vibe Coding)
- **شناسه در سیلابس:** `L2.6`
- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2)
- **نوع محتوا:** 📘 درس‌نامه متنی
- **زمان تقریبی مطالعه:** ۱۲ دقیقه
- **پیش‌نیازهای مستقیم:** `L2.5` (انتظارات واقع‌بینانه و هزینه)
---
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:
- [ ] **درک کند (Understand):** چرا پرامپت‌نویسی برای ایجنت‌های توسعه نرم‌افزار با چت کردن عادی با چت‌بات‌های متنی متفاوت است.
- [ ] **به‌کار ببندد (Apply):** فرمول چهاربخشی پرامپت مهندسی نرم‌افزار را اجرا کند: **بافت (Context) + هدف مشخص (Objective) + محدودیت‌ها (Constraints) + معیارهای پذیرش (Acceptance Criteria)**.
- [ ] **به‌کار ببندد (Apply):** قانون اتمیک بودن (Rule of Atomicity) را پیاده کند؛ درخواست‌های بزرگ را به تسک‌های تک‌مرحله‌ای، مستقل و قابل‌تست بشکند و از «تلهٔ مگاپرامپت» پرهیز کند.
- [ ] **به‌کار ببندد (Apply):** از پرامپت‌های چندرسانه‌ای (ارسال تصویر و اسکرین‌شات از خطاها یا طرح‌های بصری) برای انتقال سریع‌تر منظور استفاده کند.
- [ ] **به‌کار ببندد (Apply):** الگوی استاندارد گزارش خطا (Structured Error Reporting) را پیاده کند؛ ارسال مستقیم متن کامل خطای ترمینال یا کنسول به جای جملات مبهم نظیر «کار نکرد، درستش کن!».
---
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
### آنچه باید پوشش داده شود (In-Scope):
1. **گذار از گفتگوی سطحی به دستورالعمل مهندسی:**
* هوش مصنوعی ذهن‌خوان نیست؛ وضوح ورودی شما دقیقاً کیفیت خروجی کد را تعیین می‌کند (Garbage In, Garbage Out).
2. **فرمول طلایی پرامپت نرم‌افزاری (The 4-Part Vibe Formula):**
* **۱. بافت و زمینه (Context):** ما در حال ساخت چه پروژه‌ای هستیم و چه استکی داریم؟
* **۲. هدف مشخص (Objective):** دقیقاً چه تغییری، چه فیچری یا چه تابعی باید اضافه/اصلاح شود؟
* **۳. محدودیت‌ها (Constraints):** چه چیزهایی نباید تغییر کنند؟ چه پکیج‌های خاصی باید استفاده یا پرهیز شوند؟
* **۴. معیارهای پذیرش (Acceptance Criteria):** از کجا بفهمیم کار با موفقیت انجام شده است؟ (مثلاً «یک پیام سبز موفقیت نمایش داده شود»).
3. **قانون تغییرات اتمیک (Rule of Atomicity):**
* تفاوت پرامپت مخرب همه‌کاره («برای من یک فروشگاه مثل دیجی‌کالا بساز با سبد خرید و درگاه پرداخت و پنل ادمین») با زنجیره پرامپت‌های اتمیک («گام ۱: فقط کارت نمایش محصول را بساز»).
* چرا شکستن کار به گام‌های کوچک، خطای ایجنت را به صفر نزدیک می‌کند و تست خروجی را آسان می‌سازد.
4. **پرامپت‌های چندرسانه‌ای (Multimodal Visual Prompts):**
* استفاده از اسکرین‌شات رابط کاربری: کشیدن دایره قرمز دور بخشی که چیدمانش به هم ریخته یا رنگش غلط است.
* ارسال تصویر یک نمونه واقعی (Inspiration) برای ساخت ظاهر مشابه در کد.
5. **الگوی گزارش دقیق باگ و خطا (Bug Reporting Pattern):**
* چرا نباید بنویسیم «دکمه کار نکرد» یا «خراب شد»؟
* فرمول گزارش خطا: ۱. چه کاری انجام دادم؟ ۲. چه خطایی در ترمینال رخ داد (کپی دقیق متن خطا)؟ ۳. چه انتظاری داشتم؟
6. **کال‌اوت‌های Quera:**
* `<details class="violet">`: مقایسه دو پرامپت واقعی ضعیف و مهندسی‌شده قبل و بعد برای یک فیچر مشخص.
* `<details class="red">`: تلهٔ مگاپرامپت (The Mega-Prompt Trap)؛ علت اصلی قاطی کردن ایجنت‌ها و شلختگی کدهای پروژه.
### آنچه نباید وارد آن شویم (Out-of-Scope):
- نوشتن سند PRD یا ساختار تسک‌های چندفصلی (این کار در فصل ۴ آموزش داده می‌شود).
- آموزش‌های متفرقه پرامپت‌نویسی ادبی، شعر، کپی‌رایتینگ متنی یا تحلیل بازار.
---
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده |
| :--- | :--- | :--- |
| Prompt Engineering | مهندسی پرامپت | مهارت تنظیم دستورالعمل‌های دقیق، محدود و ساخت‌یافته برای دستیابی به خروجی کد بهینه |
| Atomicity | اتمیک بودن / تجزیه‌ناپذیری | تکه‌تکه کردن تسک‌های نرم‌افزاری به گونه‌ای که هر پرامپت فقط یک هدف واحد و قابل تست داشته باشد |
| Mega-Prompt | مگاپرامپت | دستور فوق‌العاده حجیم و درهم‌تنیده که همزمان ده‌ها فیچر را طلب می‌کند و باعث شکست مدل می‌شود |
| Multimodal Prompting | پرامپت‌نویسی چندرسانه‌ای | ترکیب متن، اسکرین‌شات رابط کاربری و تصاویر خطای برنامه در دستور ورودی به ایجنت |
| Error Stack Trace | ردپای خطای نرم‌افزاری | پیام متنی دقیق تولیدشده توسط سیستم که نام فایل، شماره خط و علت رخ دادن باگ را نشان می‌دهد |
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند:
1. **تصویر کاور درس:** `images/cover.png`
* **موضوع:** کاور با تم تیره که پرامپت ساخت‌یافته را مانند یک معمار در حال چیدن آجرهای کد منظم و دیجیتال نشان می‌دهد.
2. **فرمول چهارگانه پرامپت نرم‌افزاری:** `images/vibe-prompt-formula.png`
* **موضوع:** اینفوگرافیک ۴ قطعه پازل: بافت (Context)، هدف (Objective)، محدودیت‌ها (Constraints)، و معیار قبولی (Acceptance Criteria).
3. **اصل اتمیک بودن در برابر انفجار مگاپرامپت:** `images/atomicity-vs-megaprompt.png`
* **موضوع:** مقایسه تصویری: یک درخواست غول‌پیکر که ایجنت را گیج می‌کند در برابر ۳ پله کوچک و متوالی که یکی‌یکی با موفقیت سبز می‌شوند.
4. **جادوی اسکرین‌شات و پرامپت بصری:** `images/multimodal-prompting.png`
* **موضوع:** نمونه کاربردی فرستادن یک اسکرین‌شات با حاشیه‌نویسی ساده به ایجنت و اصلاح دقیق استایل دکمه در اولین تلاش.
5. **چرخه صحیح گزارش و رفع خطا:** `images/error-reporting-loop.png`
* **موضوع:** فلوچارت ارسال متن لاگ خطا $\rightarrow$ تحلیل ایجنت $\rightarrow$ اعمال پچ اصلاحی $\rightarrow$ تست مجدد توسط کاربر.
---
## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`)
1. **تیتر اصلی:** `# اصول مهندسی پرامپت در وایب کدینگ`
2. **مقدمه:** چرا نحوه حرف زدن شما با ایجنت، تفاوت بین یک محصول حرفه‌ای و یک پروژه به بن‌بست خورده است؟
3. **جدول کاور درس**
4. **تفاوت پرامپت کدنویسی با چت روزمره:** عبور از «کد بنویس» به سمت مشخصه‌سازی دقیق نیازمندی.
5. **فرمول چهاربخشی پرامپت وایب کدینگ:** تشریح بافت، هدف، محدودیت‌ها و شرایط پذیرش با یک مثال ملموس.
6. **باکس نمونه Quera (`<details class="violet">`):** کالبدشکافی یک پرامپت بد در برابر یک پرامپت استاندارد مهندسی‌شده.
7. **قانون طلایی اتمیک بودن (One Step at a Time):** چرا باید پروژه را لقمه‌لقمه به هوش مصنوعی تحویل دهیم؟
8. **باکس هشدار Quera (`<details class="red">`):** خطرات مرگبار مگاپرامپت‌ها در نابودی معماری پروژه.
9. **قدرت پرامپت‌های تصویری (Multimodal):** چگونه یک تصویر، کار صد کلمه توضیح گیج‌کننده را انجام می‌دهد؟
10. **هنر گزارش خطا: چگونه باگ‌ها را به هوش مصنوعی تحویل دهیم؟:** نحوه کپی کردن لاگ، بیان انتظار و حل سیستماتیک مشکل.
11. **جمع‌بندی درس‌نامه:** تمرین مهارت پرامپت‌نویسی به عنوان زبان مادری سازندگان آینده.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] فرمول چهاربخشی پرامپت‌نویسی نرم‌افزار به وضوح آموزش داده شده باشد.
- [ ] اصل اتمیک بودن به همراه مثال واقعی در متن جا افتاده باشد.
- [ ] روش ارسال خطاها با کپی کردن لاگ و متن کامل کنسول در برابر ارسال جملات گنگ تبیین شده باشد.
- [ ] کال‌اوت‌های کوئرا با محتوای کاربردی و قالب متنی تمیز درج شده باشند.