# مشخصات درس‌نامه: تعریف وایب کدینگ و نقش تازهٔ شما (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:** * `
`: تاریخچه توییت آندری کارپاتی و مفهوم "English is the hottest new programming language". * `
`: خطر سندروم توهم تسلط (فکر کردن به اینکه هوش مصنوعی همه‌چیز را بی‌نقص می‌سازد بدون نیاز به راستی‌آزمایی). ### آنچه نباید وارد آن شویم (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 (`
`):** توییت کارپاتی و داستان تولد عبارت Vibe Coding. 6. **سیر تکامل: از تایپ تا رهبری:** شرح سه نسل برنامه‌نویسی همراه با نمودار تکامل. 7. **نقش جدید شما: هدایت‌کننده به جای تایپیست:** تحلیل رابطه انسان و ایجنت. 8. **وایب کدینگ چه چیزی نیست؟ (باورهای اشتباه):** تحلیل خطرات سطحی‌نگری همراه با اینفوگرافیک. 9. **باکس هشدار Quera (`
`):** خطر تولید AI Slop در صورت عدم وجود مدل ذهنی درست. 10. **ماتریس تفکیک مسئولیت‌ها:** ارائه جدول شفاف مرز وظایف. 11. **جمع‌بندی و نتیجه‌گیری:** تغییر لنز دید نسبت به ابزارهای هوش مصنوعی. --- ## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) - [ ] درس بدون نیاز به هیچ پیش‌زمینه برنامه‌نویسی کاملاً قابل فهم و روشن باشد. - [ ] تمایز میان چت‌بات ساده (مانند پاسخ متنی چت‌جی‌پی‌تی) و ایجنت کدنویسی ملموس بیان شده باشد. - [ ] ماتریس وظایف انسان و هوش مصنوعی در ساختار متن حضور داشته باشد. - [ ] خطرات ناشی از اعتماد کورکورانه به خروجی‌های هوش مصنوعی (AI Slop) هشدار داده شده باشد.