Files

93 lines
9.9 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.
# مشخصات درس‌نامه: تعریف وایب کدینگ و نقش تازهٔ شما (Vibe Coding Definition & Your New Role)
- **شناسه در سیلابس:** `L2.2`
- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2)
- **نوع محتوا:** 📘 درس‌نامه متنی
- **زمان تقریبی مطالعه:** ۱۰ دقیقه
- **پیش‌نیازهای مستقیم:** `L2.1` (اهداف فصل دوم)
---
## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند:
- [ ] **درک کند (Understand):** اصطلاح وایب کدینگ (Vibe Coding) دقیقاً به چه معناست و چه ریشه و پیشینه‌ای در تحولات اخیر هوش مصنوعی دارد.
- [ ] **تحلیل/ارزیابی کند (Evaluate):** سه پارادایم توسعه نرم‌افزار را از یکدیگر تمایز دهد: ۱. کدنویسی دستی سنتی، ۲. کدنویسی کمکی (Copilot-style)، و ۳. وایب کدینگ ایجنتیک (Agentic Vibe Coding).
- [ ] **درک کند (Understand):** وایب کدینگ چه چیزهایی **نیست** (رفع باورهای غلط: جادوی بی‌نیاز از فکر، کپی-پیست از چت‌بات، یا رها کردن کیفیت نرم‌افزار).
- [ ] **به‌کار ببندد (Apply):** ماتریس مسئولیت انسانی در برابر هوش مصنوعی را بشناسد؛ بداند انسان چه تصمیماتی می‌گیرد (طراحی مسئله، تجربه کاربری، مرزبندی فیچرها، معیارهای قبولی) و هوش مصنوعی چه بخش‌هایی را اجرا می‌کند (سینتکس، ساختاربندی فایل‌ها، اجرای دستورات و پیاده‌سازی منطق).
---
## ۲. محدوده و مرزهای محتوا (Scope & Boundaries)
### آنچه باید پوشش داده شود (In-Scope):
1. **داستان شکل‌گیری اصطلاح:** معرفی مفهوم مطرح‌شده توسط آندری کارپاتی (Andrej Karpathy) درباره کدنویسی بر پایه «هدایت به زبان طبیعی، دیدن جریان کار و بازخورد دادن به جای تایپ کاراکترها».
2. **سیر تکامل سه‌مرحله‌ای توسعه نرم‌افزار:**
* عصر سنتی: تسلط عمیق بر سینتکس زبان‌ها، فریم‌ورک‌ها و نوشتن دستی تک‌تک خطوط.
* عصر دستیار هوشمند (Copilot Era): برنامه‌نویس می‌نویسد و هوش مصنوعی خط یا تابع بعدی را کامل می‌کند (Autocomplete).
* عصر وایب کدینگ (Agentic Era): انسان معماری، رفتار و الزامات را شرح می‌دهد و ایجنت هوش مصنوعی کل فایل‌ها، پکیج‌ها و تسک‌ها را مستقلاً پیاده‌سازی و اصلاح می‌کند.
3. **وایب کدینگ چه چیزهایی نیست؟ (Myth Busting):**
* جادو نیست: اگر ندانید چه می‌خواهید، هوش مصنوعی محصول بی‌مصرف تولید می‌کند.
* چت کردن ساده در یک پنجره نیست: اتصال به ادیتور، فایل‌های پروژه و اجرای واقعی تفاوت آن با ChatGPT است.
* شلختگی و بی‌مسئولیتی نیست: کدهای ساخته‌شده باید تست‌پذیر و تمیز باشند.
4. **نقش تازهٔ شما: از برنامه‌نویس به مدیر محصول / معمار نرم‌افزار:**
* شما در صندلی کارگردان یا کارفرما هستید؛ هوش مصنوعی یک توسعه‌دهنده بااستعداد، باانگیزه اما نیازمند هدایت و نظارت دقیق است.
5. **ماتریس تفکیک وظایف انسان و هوش مصنوعی:** جدول شفاف وظایف انسانی (چرا، چه چیزی، برای چه کسی) در برابر وظایف AI (چگونه در کد پیاده شود).
6. **کال‌اوت‌های Quera:**
* `<details class="violet">`: تاریخچه توییت آندری کارپاتی و مفهوم "English is the hottest new programming language".
* `<details class="red">`: خطر سندروم توهم تسلط (فکر کردن به اینکه هوش مصنوعی همه‌چیز را بی‌نقص می‌سازد بدون نیاز به راستی‌آزمایی).
### آنچه نباید وارد آن شویم (Out-of-Scope):
- بررسی جزئیات مدل‌های ریاضی ترنسفورمر، پنجره بافت یا توکن‌ها (در درس ۲.۳ ارائه می‌شود).
- معرفی ابزارهای مشخص یا آموزش نصب آنها (درس ۲.۴ و فصل ۳).
---
## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده |
| :--- | :--- | :--- |
| Vibe Coding | وایب کدینگ | توسعه نرم‌افزار از طریق مکالمه، تعیین نیت و هدایت ایجنت‌های هوش مصنوعی |
| Agentic Workflow | جریان کاری ایجنتیک | سپردن زنجیره‌ای از تسک‌های نرم‌افزاری به هوش مصنوعی با قابلیت ساخت و ادیت فایل |
| Mental Model | مدل ذهنی | چارچوب مفهومی در ذهن کاربر برای درک رفتار و کنترل هوش مصنوعی |
| Responsibility Matrix | ماتریس مسئولیت | تفکیک روشن وظایف تصمیم‌گیری انسان از وظایف اجرایی هوش مصنوعی |
| AI Slop | زبالهٔ هوش مصنوعی | کدهای کثیف، بی‌کیفیت و سرهم‌بندی‌شده ناشی از هدایت اشتباه و بدون نظارت |
---
## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders)
> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند:
1. **تصویر کاور درس:** `images/cover.png`
* **موضوع:** کاور جذاب با تم تیره که یک کاربر را پشت میز نشان می‌دهد در حال هدایت تصویری از یک ارکستر دیجیتال هوش مصنوعی.
2. **نمودار تکامل سه‌گانه توسعه نرم‌افزار:** `images/evolution-of-coding.png`
* **موضوع:** مقایسه بصری سه دوره: ۱. کدنویسی سنتی (تایپ خطوط کد) $\rightarrow$ ۲. کدنویسی دستیار (پیشنهاد کد) $\rightarrow$ ۳. وایب کدینگ (هدایت ایجنت مستقل).
3. **نقش تازه کاربر (کارگردان در برابر برنامه‌نویس جونیور):** `images/director-vs-junior.png`
* **موضوع:** تصویر استعاری که کاربر را در نقش مدیر محصول و هدایت‌کننده نشان می‌دهد و هوش مصنوعی را به عنوان یک برنامه‌نویس سریع اما نیازمند دستورالعمل دقیق.
4. **وایب کدینگ چه چیزی نیست؟:** `images/vibe-coding-myths.png`
* **موضوع:** اینفوگرافیک ۳ باور غلط (فکر نکردن، کپی‌پیست چت‌بات، عدم مسئولیت‌پذیری) در برابر واقعیت هرکدام.
5. **ماتریس مسئولیت انسان و AI:** `images/human-ai-matrix.png`
* **موضوع:** جدول شماتیک دورنگ: سمت انسان (تعریف مسئله، جریان کاربری، محدودیت‌ها، تایید خروجی) و سمت AI (تولید ساختار کد، تبدیل منطق، اجرای ترمینال).
---
## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`)
1. **تیتر اصلی:** `# تعریف وایب کدینگ و نقش تازهٔ شما`
2. **پاراگراف آغازین:** ماجرای تغییر بزرگ در مهندسی نرم‌افزار و بازتعریف واژه «برنامه‌نویس».
3. **جدول کاور درس**
4. **وایب کدینگ واقعاً چیست؟:** تشریح تعریف اصلی به زبان ساده و قابل لمس.
5. **باکس نکته Quera (`<details class="violet">`):** توییت کارپاتی و داستان تولد عبارت Vibe Coding.
6. **سیر تکامل: از تایپ تا رهبری:** شرح سه نسل برنامه‌نویسی همراه با نمودار تکامل.
7. **نقش جدید شما: هدایت‌کننده به جای تایپیست:** تحلیل رابطه انسان و ایجنت.
8. **وایب کدینگ چه چیزی نیست؟ (باورهای اشتباه):** تحلیل خطرات سطحی‌نگری همراه با اینفوگرافیک.
9. **باکس هشدار Quera (`<details class="red">`):** خطر تولید AI Slop در صورت عدم وجود مدل ذهنی درست.
10. **ماتریس تفکیک مسئولیت‌ها:** ارائه جدول شفاف مرز وظایف.
11. **جمع‌بندی و نتیجه‌گیری:** تغییر لنز دید نسبت به ابزارهای هوش مصنوعی.
---
## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- [ ] درس بدون نیاز به هیچ پیش‌زمینه برنامه‌نویسی کاملاً قابل فهم و روشن باشد.
- [ ] تمایز میان چت‌بات ساده (مانند پاسخ متنی چت‌جی‌پی‌تی) و ایجنت کدنویسی ملموس بیان شده باشد.
- [ ] ماتریس وظایف انسان و هوش مصنوعی در ساختار متن حضور داشته باشد.
- [ ] خطرات ناشی از اعتماد کورکورانه به خروجی‌های هوش مصنوعی (AI Slop) هشدار داده شده باشد.