93 lines
9.9 KiB
Markdown
93 lines
9.9 KiB
Markdown
# مشخصات درسنامه: تعریف وایب کدینگ و نقش تازهٔ شما (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) هشدار داده شده باشد.
|