diff --git a/chapters/02-vibe-coding-mindset/00-lesson-chapter-goals/spec.md b/chapters/02-vibe-coding-mindset/00-lesson-chapter-goals/spec.md new file mode 100644 index 0000000..30869c6 --- /dev/null +++ b/chapters/02-vibe-coding-mindset/00-lesson-chapter-goals/spec.md @@ -0,0 +1,78 @@ +# مشخصات درس‌نامه: اهداف فصل دوم (Chapter Goals) +- **شناسه در سیلابس:** `L2.1` +- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2) +- **نوع محتوا:** 📘 درس‌نامه متنی +- **زمان تقریبی مطالعه:** ۵ دقیقه +- **پیش‌نیازهای مستقیم:** `L1.2` (نگاه کلی به دوره) + +--- + +## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy) +دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند: +- [ ] **درک کند (Understand):** ماموریت و جایگاه فصل ۲ در تغییر چارچوب ذهنی (Mindset Shift) از برنامه‌نویسی سنتی به هدایت ایجنت‌ها چیست. +- [ ] **درک کند (Understand):** ساختار ۷ درس‌نامهٔ مفهومی و ۱ آزمون تستی پایانی این فصل چگونه او را برای ورود به فاز عملیاتی فصل ۳ آماده می‌کند. +- [ ] **تحلیل/ارزیابی کند (Evaluate):** چرا درک سازوکار هوش مصنوعی و اصول مهندسی پرامپت قبل از دست به کد شدن، مانع از هدررفت ساعت‌ها زمان و ناامیدی در پروژه‌ها می‌شود. +- [ ] **به‌کار ببندد (Apply):** نقشهٔ راه این فصل را بررسی کند و اهداف یادگیری شخصی خود را با نتایج آزمون تستی ۱۰۰ امتیازی پایانی همسو سازد. + +--- + +## ۲. محدوده و مرزهای محتوا (Scope & Boundaries) + +### آنچه باید پوشش داده شود (In-Scope): +1. **خوش‌آمدگویی به هستهٔ مفهومی دوره:** بیان این حقیقت که ابزارها تغییر می‌کنند، اما اصول هم‌افزایی با هوش مصنوعی و تفکر معمارانه ثابت می‌مانند. +2. **بررسی سرفصل‌های فصل ۲:** + * درس ۲.۲: بازتعریف نقش توسعه‌دهنده به عنوان مدیر محصول و معمار. + * درس ۲.۳: درک طرز کار مغز هوش مصنوعی (توکن‌ها، پنجره بافت، احتمال و توهم). + * درس ۲.۴: دسته‌بندی سه‌گانهٔ ابزارها (ادیتور، ترمینال، مرورگر) و راهبرد Dual-Track. + * درس ۲.۵: واقعیت هزینه‌ها، محدودیت‌ها و تله‌های پنهان هوش مصنوعی. + * درس ۲.۶: فرمول طلایی پرامپت‌نویسی مهندسی و تعامل دانه‌بندی‌شده (Atomic). + * درس ۲.۷: متدولوژی توسعه مشخصات‌محور (SDD) و پایان دوران پرامپت-و-دعا (Prompt & Pray). +3. **معرفی آزمون تستی فصل (`Q2.1`):** اعلام اینکه در پایان این فصل یک آزمون تستی ۱۰ سوالی (۱۰۰ امتیاز) برای ارزیابی تسلط بر این مبانی بنیادین برگزار خواهد شد. +4. **جعبهٔ نکتهٔ کوئرا (`
`):** اهمیت عبور دقیق و یادداشت‌برداری از این فصل به عنوان فونداسیون کل مهارت‌های عملی آینده. + +### آنچه نباید وارد آن شویم (Out-of-Scope): +- ورود به جزئیات فنی توکن‌ها، ابزارها یا پرامپت‌ها (هرکدام درس اختصاصی دارند). +- وارد شدن به مباحث نصب و پیکربندی نرم‌افزارها (متعلق به فصل ۳). + +--- + +## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms) + +| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده | +| :--- | :--- | :--- | +| Mindset Shift | تغییر چارچوب ذهنی | گذار از نگارش دستوری خطوط کد به رهبری و مشخصه‌نویسی برای هوش مصنوعی | +| Conceptual Foundation | فونداسیون مفهومی | درک اصولی رفتار مدل‌ها قبل از اتکا به ابزارهای خودکار | +| Dual-Track Workflow | جریان کاری دومسیره | ترکیب ابزارهای سریع مرورگری برای ایده با ادیتورهای محلی برای توسعه پایدار | +| Spec-Driven Development (SDD) | توسعه مشخصات‌محور | روش مهندسی ساخت نرم‌افزار بر پایه اسناد مشخصات شفاف به جای پرامپت‌های پراکنده | + +--- + +## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders) +> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند: + +1. **تصویر کاور درس:** `images/cover.png` + * **موضوع:** کاور مینیمال و شیک ورود به فصل دوم دوره با تم تیره، المان‌های ذهنیت وایب کدینگ، تفکر محصول و لوگوی کوئرا کالج. +2. **نقشهٔ سفر یادگیری فصل ۲:** `images/chapter-2-roadmap.png` + * **موضوع:** اینفوگرافیک گام‌به‌گام از نقطه شروع (تعریف وایب کدینگ) $\rightarrow$ شناخت مغز مدل‌ها $\rightarrow$ انتخاب ابزار $\rightarrow$ کنترل هزینه و انتظارات $\rightarrow$ مهندسی پرامپت $\rightarrow$ متدولوژی SDD $\rightarrow$ ایستگاه آزمون تستی ۱۰۰ امتیازی. +3. **نمودار تغییر پارادایم نقش‌ها:** `images/role-evolution.png` + * **موضوع:** مقایسه جایگاه فرد در توسعه نرم‌افزار سنتی (کدنویس جزئیات) در برابر جایگاه در وایب کدینگ (کارگردان و کنترل‌کننده کیفیت). + +--- + +## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`) + +1. **تیتر اصلی:** `# اهداف فصل دوم: شروع مسیر Vibe Coding` +2. **مقدمه کوتاه و الهام‌بخش:** چرا قبل از دست به ابزار شدن، نیازمند فونداسیون ذهنی هستیم؟ +3. **جدول کاور درس** +4. **سرفصل‌های کلیدی فصل در یک نگاه:** معرفی مختصر ۶ مبحث پیش رو و ارزش کاربردی هرکدام. +5. **جدول نقشهٔ یادگیری فصل** +6. **معیار سنجش و آزمون فصل:** توضیح آزمون ۱۰ سوالی ۱۰۰ امتیازی و نقش آن در مسیر اخذ گواهی. +7. **کال‌اوت نکته کوئرا (`
`):** ثبت دکمه «خواندم» و آغاز پرقدرت فصل. + +--- + +## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) +- [ ] لحن متن روان، انگیزاننده، غیررسمی اما حرفه‌ای باشد. +- [ ] نقشه راه ۶ درس‌نامه بعدی به همراه آزمون پایانی به وضوح ترسیم شده باشد. +- [ ] تصاویر پیشنهادی با سناریوی درس هماهنگ باشند. +- [ ] هیچ‌گونه وارد شدن زودهنگام به آموزش نصب یا دستورات فنی در متن رخ ندهد. diff --git a/chapters/02-vibe-coding-mindset/01-lesson-vibe-coding-definition/spec.md b/chapters/02-vibe-coding-mindset/01-lesson-vibe-coding-definition/spec.md new file mode 100644 index 0000000..3a2ad02 --- /dev/null +++ b/chapters/02-vibe-coding-mindset/01-lesson-vibe-coding-definition/spec.md @@ -0,0 +1,92 @@ +# مشخصات درس‌نامه: تعریف وایب کدینگ و نقش تازهٔ شما (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) هشدار داده شده باشد. diff --git a/chapters/02-vibe-coding-mindset/02-lesson-how-llms-code/spec.md b/chapters/02-vibe-coding-mindset/02-lesson-how-llms-code/spec.md new file mode 100644 index 0000000..10de14e --- /dev/null +++ b/chapters/02-vibe-coding-mindset/02-lesson-how-llms-code/spec.md @@ -0,0 +1,98 @@ +# مشخصات درس‌نامه: مدل‌های زبانی چطور کد می‌نویسند (How LLMs Code) +- **شناسه در سیلابس:** `L2.3` +- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2) +- **نوع محتوا:** 📘 درس‌نامه متنی +- **زمان تقریبی مطالعه:** ۱۲ دقیقه +- **پیش‌نیازهای مستقیم:** `L2.2` (تعریف وایب کدینگ و نقش تازهٔ شما) + +--- + +## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy) +دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند: +- [ ] **درک کند (Understand):** مدل‌های زبانی بزرگ (LLMs) چگونه فکر نمی‌کنند، بلکه بر پایهٔ پیش‌بینی احتمالاتی توکن بعدی (Next-Token Prediction) کار می‌کنند. +- [ ] **درک کند (Understand):** توکن (Token) چیست و استعارهٔ «میز کار با سطح محدود» چگونه مفهوم پنجره بافت (Context Window) را توضیح می‌دهد. +- [ ] **تحلیل/ارزیابی کند (Evaluate):** چرا پدیده توهم (Hallucination) اتفاق می‌افتد و چگونه می‌توان نشانه‌های کدهای توهم‌آمیز (توابع یا پکیج‌های غیرواقعی) را تشخیص داد. +- [ ] **به‌کار ببندد (Apply):** بهداشت پنجره بافت (Context Hygiene) را رعایت کند؛ بداند چه زمانی یک چت بیش از حد طولانی و فرسوده شده (Context Rot) و باید با شروع یک چت تازه، رشته کار را در دست گرفت. + +--- + +## ۲. محدوده و مرزهای محتوا (Scope & Boundaries) + +### آنچه باید پوشش داده شود (In-Scope): +1. **طبیعت واقعی مغز مدل‌های زبانی:** + * هوش مصنوعی یک پایگاه داده منطقی سفت و سخت نیست؛ یک سیستم محاسباتی احتمالاتی خارق‌العاده است (شبیه به سیستم تکمیل خودکار کلمات روی گوشی، اما میلیاردها بار پیشرفته‌تر). +2. **توکن‌ها (Tokens) چیستند؟ (استعاره آجرهای زبانی):** + * کلمات و کدها به هجاها یا قطعات کوچک متنی شکسته می‌شوند. + * هر خط کد، متغیر و فاصله در قالب توکن محاسبه می‌شود. +3. **پنجره متن یا کانتکست (Context Window) — استعاره میز کار اداری:** + * سطح میز کار هوش مصنوعی متناهی است. اگر کاغذهای زیادی (تاریخچه چت، لاگ‌های حجیم، کدهای قدیمی) روی میز انباشته شوند، اسناد قدیمی‌تر از لبه میز به پایین می‌افتند یا گم می‌شوند. + * پدیده افت تمرکز یا گیج شدن مدل (Lost in the Middle / Context Rot) در اثر پر شدن بافت. +4. **پیش‌بینی کلمه بعدی و منطق کدنویسی:** + * مدل بر اساس الگوهایی که از میلیون‌ها پروژه متن‌باز (GitHub) یاد گرفته، محتمل‌ترین کد بعدی را برای حل پرامپت شما تولید می‌کند. +5. **پدیده توهم (Hallucination) — اعتمادبه‌نفس در اشتباه:** + * وقتی مدل پاسخ دقیق یا مستندات کتابخانه را ندارد، محتمل‌ترین ساختار ظاهری را «حدس» می‌زند و کدی کاملاً روان اما خیالی (کتابخانه ناموجود یا متد غیرواقعی) تحویل می‌دهد. +6. **راهکارهای عملی برای وایب کدرها (Context Hygiene):** + * پرهیز از چت‌های بی‌نهایت طولانی؛ شروع سشن تازه هنگام ورود به تسک جدید. + * ارسال تکه‌های مشخص و مرتبط از کد به جای چسباندن کل پروژه. +7. **کال‌اوت‌های Quera:** + * `
`: تفاوت مصرف توکن در زبان فارسی و کدهای انگلیسی (هزینه و طول توکن‌ها در زبان‌های غیرانگلیسی). + * `
`: قانون طلایی ریست سشن: وقتی ایجنت به دور باطل افتاد، ادامه ندهید؛ چت جدید باز کنید و با پرامپت شفاف هدایتش کنید. + +### آنچه نباید وارد آن شویم (Out-of-Scope): +- فرمول‌های ریاضی و معادلات توجه (Self-Attention) یا گرادیان نزولی. +- تنظیمات فوق‌پیشرفته و فنی پارامترهای API مانند Top-P، Presence Penalty و Frequency Penalty (برای مخاطب عمومی گمراه‌کننده است). + +--- + +## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms) + +| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده | +| :--- | :--- | :--- | +| LLM (Large Language Model) | مدل زبانی بزرگ | هوش مصنوعی آموزش‌دیده روی حجم عظیم متن و کد برای فهم و تولید زبان طبیعی | +| Token | توکن | کوچک‌ترین واحد خردشده متن یا کد که مدل برای پردازش محاسبه می‌کند | +| Context Window | پنجره بافت / متن | حداکثر ظرفیت حافظه کوتاه‌مدت فعال مدل در یک مکالمه هم‌زمان | +| Context Rot | فرسودگی بافت چت | افت کیفیت و گیج شدن مدل بر اثر انباشت طولانی و شلوغ پرامپت‌ها و لاگ‌ها | +| Hallucination | توهم هوش مصنوعی | پاسخ کاملاً بااعتمادبه‌نفس اما نادرست و اختراع‌شده توسط مدل زبانی | +| Next-Token Prediction | پیش‌بینی توکن بعدی | مکانیسم اصلی مدل زبانی در حدس زدن محتمل‌ترین قطعه کد بر اساس متن موجود | + +--- + +## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders) +> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند: + +1. **تصویر کاور درس:** `images/cover.png` + * **موضوع:** کاور با تم تیره و مدرن که مغز شبکه‌ای هوش مصنوعی را در حال تبدیل رشته‌های متنی به قطعات پازل کد نمایش می‌دهد. +2. **استعاره تکه‌های توکن:** `images/token-slicing.png` + * **موضوع:** نمایش تصویری قطعه‌قطعه شدن یک جمله فارسی و یک خط کد پایتون/جاوااسکریپت به بلوک‌های مجزای رنگی توکن. +3. **استعاره میز کار و پنجره بافت:** `images/desk-context-analogy.png` + * **موضوع:** تصویر استعاری میزی با ابعاد مشخص که کاغذهای پرامپت، لاگ خطا و سابقه گفتگو روی آن ریخته شده و کاغذهای قدیمی به لبه پرتگاه رسیده‌اند. +4. **نحوه کارکرد پیش‌بینی توکن بعدی:** `images/next-token-prediction.png` + * **موضوع:** فلوچارت تصویری که نشان می‌دهد مدل با توجه به کد قبلی، درصدهای احتمالی گزینه‌های بعدی را می‌سنجد و گزینه محتمل‌تر را می‌نویسد. +5. **آناتومی توهم در کدنویسی:** `images/hallucination-breakdown.png` + * **موضوع:** دیاگرام مقایسه‌ای از پاسخ واقعی و مستند در برابر تابع تخیلی ساخته‌شده با اعتمادبه‌نفس بالا توسط مدل. +6. **سندرم فرسودگی چت و قانون ریست:** `images/context-rot-and-reset.png` + * **موضوع:** اینفوگرافیک تفاوت یک چت فرسوده پر از خطا با یک شروع تمیز و دقیق (Fresh Context) در حل سریع مسئله. + +--- + +## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`) + +1. **تیتر اصلی:** `# مدل‌های زبانی چطور کد می‌نویسند` +2. **مقدمه ملموس:** رفع تصورات غلط درباره جادوی هوش مصنوعی و ورود به سازوکار واقعی. +3. **جدول کاور درس** +4. **آجر اول: توکن‌ها چگونه شمرده می‌شوند؟:** مفهوم شکستن متن و کد به تکه‌های قابل فهم برای مدل. +5. **باکس نکته Quera (`
`):** مصرف توکن و تفاوت نگارش فارسی و انگلیسی در مهندسی پرامپت. +6. **استعاره میز کار: پنجره بافت (Context Window):** ابعاد میز و علت فراموشی یا سردرگمی هوش مصنوعی در چت‌های سنگین. +7. **پیش‌بینی به جای اندیشیدن: مکانیسم Next-Token:** چرا مدل یک autocomplete فوق‌العاده باهوش است؟ +8. **پدیدهٔ توهم (Hallucination): وقتی AI با اعتمادبه‌نفس دروغ می‌گوید!:** ریشه‌ها و علائم توهم در ساخت کدهای ساختگی. +9. **بهداشت بافت (Context Hygiene) و راهکارهای طلایی:** معرفی تکنیک‌های ریست کردن سشن، جداسازی تسک‌ها و کنترل ورودی‌ها. +10. **باکس هشدار Quera (`
`):** هرگز در چتی که به بن‌بست خطا خورده اصرار نکنید؛ محیط را تمیز کنید. +11. **جمع‌بندی درس‌نامه:** تسلط بر مغز هوش مصنوعی به عنوان کلید پیش‌بینی رفتارهای آن. + +--- + +## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) +- [ ] مفاهیم پیچیده بدون اتکا به فرمول‌های ریاضی و با استعاره‌های ملموس و شفاف شرح داده شده باشند. +- [ ] استعاره میز کار برای درک پنجره بافت به روشنی تشریح شده باشد. +- [ ] پدیده توهم همراه با مثال کد ملموس (مانند ایمپورت کردن پکیجی که وجود ندارد) معرفی شده باشد. +- [ ] راهکار عملی مدیریت طول گفتگو (Context Hygiene) به عنوان مهارت کاربردی برجسته شده باشد. diff --git a/chapters/02-vibe-coding-mindset/03-lesson-tools-landscape/spec.md b/chapters/02-vibe-coding-mindset/03-lesson-tools-landscape/spec.md new file mode 100644 index 0000000..793b632 --- /dev/null +++ b/chapters/02-vibe-coding-mindset/03-lesson-tools-landscape/spec.md @@ -0,0 +1,97 @@ +# مشخصات درس‌نامه: ابزارها Cursor, Claude Code, Codex, Lovable & Bolt (The Tools Landscape) +- **شناسه در سیلابس:** `L2.4` +- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2) +- **نوع محتوا:** 📘 درس‌نامه متنی +- **زمان تقریبی مطالعه:** ۱۲ دقیقه +- **پیش‌نیازهای مستقیم:** `L2.3` (مدل‌های زبانی چطور کد می‌نویسند) + +--- + +## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy) +دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند: +- [ ] **درک کند (Understand):** اکوسیستم ابزارهای وایب کدینگ به سه خانوادهٔ اصلی (ابزارهای مبتنی بر مرورگر، ویرایشگرهای هوشمند محلی، و ایجنت‌های خط فرمان / ترمینال) تقسیم می‌شود. +- [ ] **تحلیل/ارزیابی کند (Evaluate):** مزایا، معایب و جایگاه ایده‌آل هر ابزار (Cursor، Claude Code، Codex، Lovable، Bolt و v0) را با یکدیگر مقایسه کند. +- [ ] **به‌کار ببندد (Apply):** استراتژی دومسیره دوره (Dual-Track Strategy) را بشناسد؛ ساخت سریع پروتوتایپ در ابزارهای مرورگری (Lovable/v0) و انتقال به ادیتور محلی (Cursor) و ایجنت‌های ترمینال برای مهندسی واقعی و پایدار. +- [ ] **تحلیل/ارزیابی کند (Evaluate):** درخت تصمیم‌گیری انتخاب ابزار را به کار بگیرد و بر اساس هدف پروژه (پروتوتایپ ۱۰ دقیقه‌ای یا محصول تجاری بلندمدت) ابزار مناسب را برگزیند. + +--- + +## ۲. محدوده و مرزهای محتوا (Scope & Boundaries) + +### آنچه باید پوشش داده شود (In-Scope): +1. **نقشهٔ اکوسیستم ابزارها (The AI Tool Spectrum):** + * معرفی سه خانواده ابزار بر اساس محیط اجرا و سطح کنترل: + ۱. **ابزارهای تحت وب و ابری (In-Browser Builders):** Lovable, Bolt.new, v0.dev. + ۲. **ویرایشگرهای هوشمند محلی (AI-Native IDEs):** Cursor, Windsurf, VS Code (با اکستنشن‌های Cline/Roo Code). + ۳. **ایجنت‌های ترمینال و خط فرمان (CLI Agents):** Claude Code, OpenCode, Aider. +2. **بررسی نقاط قوت و ضعف هر دسته:** + * ابزارهای وب: راه‌اندازی فوری با یک کلیک، بدون نیاز به نصب، خروجی سریع برای ارائه اولیه؛ اما کنترل کمتر روی ساختار داخلی، وابستگی به پلتفرم ابری و هزینه‌های بالاتر در درازمدت. + * ویرایشگرهای محلی: دسترسی کامل به فایل‌های سیستم، کنترل دقیق Git، قابلیت ادیت موازی چند فایلی؛ نیازمند نصب و درک ساختار فایل‌ها. + * ایجنت‌های ترمینال: قدرت فوق‌العاده در اجرای خودکار دستورات شل، دیباگ خطاهای تست و بازسازی‌های عمیق فایل‌ها. +3. **استراتژی محوری دوره: رویکرد دو مسیره (Dual-Track Workflow):** + * فاز اول (ایده تا پروتوتایپ): استفاده از ابزارهای بصری مرورگری برای دیدن اولین خروجی‌ها. + * فازهای بعدی (توسعه واقعی و انتشار): تمرکز بر روی Cursor به همراه ابزارهای ترمینال و Git برای کنترل کامل پروژه و ساخت محصولی که پایگاه داده واقعی و امنیت دارد. +4. **درخت تصمیم‌گیری انتخاب ابزار (Decision Tree):** + * اگر می‌خواهم یک ایده را سریع به سرمایه‌گذار یا کاربر نشان دهم $\rightarrow$ Lovable / v0. + * اگر می‌خواهم یک وب‌اپلیکیشن کامل با دیتابیس Supabase بسازم که متعلق به خودم باشد $\rightarrow$ Cursor. + * اگر می‌خواهم یک خطای سیستمی یا بازنویسی چندپوشه‌ای انجام دهم $\rightarrow$ Claude Code / CLI. +5. **کال‌اوت‌های Quera:** + * `
`: چرایی رویکرد Dual-Track؛ پرهیز از زندانی شدن در پلتفرم‌های صرفاً ابری (Vendor Lock-in). + * `
`: آرامش خاطر برای مخاطب: نگران یادگیری همه ابزارها نباشید؛ ما گام‌به‌گام و با تمرکز بر ستون اصلی (Cursor + Lovable) پیش خواهیم رفت. + +### آنچه نباید وارد آن شویم (Out-of-Scope): +- آموزش نصب یا کانفیگ این ابزارها (به‌طور کامل در فصل ۳ پوشش داده می‌شود). +- مقایسه تخصصی نرخ‌های توکن یا خرید اشتراک پولی (در درس بعدی ۲.۵ بررسی می‌شود). + +--- + +## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms) + +| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده | +| :--- | :--- | :--- | +| AI-Native IDE | محیط توسعه یکپارچه هوش مصنوعی‌محور | ویرایشگر کد (مانند Cursor) که ابزارهای ادیت و ایجنت هوش مصنوعی در قلب آن قرار دارد | +| Browser Builder | سازنده ابری تحت وب | ابزارهایی مثل Lovable یا Bolt که نرم‌افزار را مستقیماً درون مرورگر با پرامپت می‌سازند | +| CLI Agent | ایجنت خط فرمان | دستیار هوشمندی که در محیط ترمینال اجرا می‌شود و فایل‌ها و دستورات سیستم را مدیریت می‌کند | +| Vendor Lock-in | قفل‌شدگی به پلتفرم | وابستگی اجباری پروژه به یک سرویس ابری خاص به گونه‌ای که خروج از آن دشوار باشد | +| Dual-Track Approach | رویکرد دومسیره | شروع چابک در وب و ادامه مهندسی عمیق و استاندارد در ادیتور محلی | + +--- + +## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders) +> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند: + +1. **تصویر کاور درس:** `images/cover.png` + * **موضوع:** کاور مدرن نمایش‌دهنده چشم‌انداز ابزارهای وایب کدینگ با لوگوهای Cursor، Claude Code، Lovable و Bolt با نورپردازی تیره و نئونی. +2. **طیف سه‌گانه ابزارها:** `images/three-families.png` + * **موضوع:** اینفوگرافیک تقسیم ابزارها به ۳ دسته: مرورگری (Web)، ادیتور محلی (IDE) و خط فرمان (CLI) به همراه لوگو و ویژگی شاخص هرکدام. +3. **نمودار جریان کاری دومسیره (Dual-Track Workflow):** `images/dual-track-strategy.png` + * **موضوع:** دیاگرام مسیر دوگانه: از تولید پروتوتایپ سریع در Lovable/v0 در فازهای نخست، اکسپورت به ریپازیتوری Git، تا ادامه توسعه و مقیاس‌بخشی در Cursor و Claude Code. +4. **درخت تصمیم‌گیری انتخاب ابزار:** `images/tool-selection-tree.png` + * **موضوع:** فلوچارت پاسخ به پرسش‌های کلیدی («هدف چیست؟ زمان چقدر است؟ نیاز به دیتابیس وجود دارد؟») و رسیدن به ابزار مناسب در هر گام. +5. **جدول مقایسه‌ای ابزارها:** `images/comparison-matrix.png` + * **موضوع:** اینفوگرافیک جدولی مقایسه ۶ ابزار مطرح در شاخص‌های: سهولت استفاده، عمق کنترل، سرعت خروجی و وابستگی به سرویس ابری. + +--- + +## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`) + +1. **تیتر اصلی:** `# ابزارها: Cursor, Claude Code, Codex, Lovable & Bolt` +2. **مقدمه:** چرا به جای یک ابزار منفرد، نیازمند یک جعبه‌ابزار تخصصی و هوشمند هستیم؟ +3. **جدول کاور درس** +4. **سه خانوادهٔ اصلی ابزارهای وایب کدینگ:** تشریح ابزارهای وب، ادیتورهای هوشمند و ایجنت‌های ترمینال. +5. **خانوادهٔ اول: وب‌اپ‌های تولید سریع (Lovable, Bolt.new, v0):** مزایا، نحوه عملکرد و نقاط محدودکننده. +6. **خانوادهٔ دوم: ادیتورهای محلی قدرتمند (Cursor & Windsurf):** چرا پادشاه توسعه نرم‌افزار حرفه‌ای هستند؟ +7. **خانوادهٔ سوم: ایجنت‌های پیشتاز ترمینال (Claude Code & Aider):** بازوی توانمند اجرای دستورات و عیب‌یابی عمیق. +8. **استراتژی محوری این دوره: رویکرد دو مسیره (Dual-Track):** توضیح شفاف نقشه استفاده از این ابزارها در طول فصل‌های دوره. +9. **باکس نکته Quera (`
`):** چگونه از تلهٔ Vendor Lock-in فرار کنیم؟ +10. **درخت تصمیم‌گیری: کدام ابزار برای کدام کار؟:** ارائه راهنمای تصمیم‌گیری شفاف برای دانشجویان. +11. **باکس اطمینان‌بخش Quera (`
`):** تأکید بر اینکه یادگیری این ابزارها مرحله‌به‌مرحله و بدون استرس انجام خواهد شد. +12. **جمع‌بندی درس‌نامه:** تثبیت دید همه‌جانبه دانشجو نسبت به جعبه‌ابزار وایب کدینگ. + +--- + +## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) +- [ ] دسته‌بندی سه‌گانه ابزارها (مرورگر، ادیتور محلی، خط فرمان) به روشنی تشریح شده باشد. +- [ ] استراتژی دو مسیره دوره (Dual-Track) با دلیل منطقی و فنی مستند شده باشد. +- [ ] درخت تصمیم‌گیری شفاف برای رفع سردرگمی دانشجویان گنجانده شده باشد. +- [ ] درس لحن بی‌طرفانه داشته باشد و مزایا و محدودیت‌های هر ابزار را منصفانه نقد کند. diff --git a/chapters/02-vibe-coding-mindset/04-lesson-expectations-and-costs/spec.md b/chapters/02-vibe-coding-mindset/04-lesson-expectations-and-costs/spec.md new file mode 100644 index 0000000..3d75124 --- /dev/null +++ b/chapters/02-vibe-coding-mindset/04-lesson-expectations-and-costs/spec.md @@ -0,0 +1,97 @@ +# مشخصات درس‌نامه: انتظارات واقع‌بینانه و هزینه (Realistic Expectations & Costs) +- **شناسه در سیلابس:** `L2.5` +- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2) +- **نوع محتوا:** 📘 درس‌نامه متنی +- **زمان تقریبی مطالعه:** ۱۰ دقیقه +- **پیش‌نیازهای مستقیم:** `L2.4` (ابزارها: Cursor, Claude Code, Codex, Lovable & Bolt) + +--- + +## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy) +دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند: +- [ ] **تحلیل/ارزیابی کند (Evaluate):** نقاط قوت خارق‌العاده هوش مصنوعی (سرعت ساخت، تولید کدهای پایه، رفع باگ‌های متداول) را از تله‌ها و نقاط کور آن (فراموشی معماری کلی، باگ‌های منطقی پنهان، خطاهای امنیتی) تفکیک کند. +- [ ] **درک کند (Understand):** ساختار مدل‌های قیمت‌گذاری جهانی ابزارهای وایب کدینگ (پلن‌های رایگان محدود، اشتراک‌های ماهانه ثابت ۲۰ دلاری، و هزینه‌های بر پایه مصرف API) چگونه کار می‌کند. +- [ ] **به‌کار ببندد (Apply):** راهکارهای اقتصادی و بهینه‌سازی هزینه را برای یادگیری و ساخت پروژه‌ها در شرایط ایران به کار بگیرد (مدیریت بهینه سهمیه‌های رایگان، استفاده از کلیدهای API مصرف‌محور، پلتفرم‌های واسط تجمیع‌کننده مثل OpenRouter). +- [ ] **به‌کار ببندد (Apply):** نکات احتیاطی در تعامل با سرویس‌های بین‌المللی هوش مصنوعی (مدیریت آی‌پی ثابت و تحریم‌شکن‌ها جهت پیشگیری از مسدودی حساب) را رعایت کند. + +--- + +## ۲. محدوده و مرزهای محتوا (Scope & Boundaries) + +### آنچه باید پوشش داده شود (In-Scope): +1. **تنظیم انتظارات: هوش مصنوعی کجاست که می‌درخشد؟ (Superpowers):** + * تبدیل طرح ذهنی و پرامپت متنی به کامپوننت‌های فرانت‌اند در چند ثانیه. + * تولید کدهای خسته‌کننده تکراری (Boilerplate). + * ترجمه مفاهیم به استانداردهای مدرن وب. + * توضیح خطاهای نامفهوم ترمینال و دیتابیس به زبان فارسی و ساده. +2. **نقاط کور و تله‌های پنهان (Blindspots & Traps):** + * توهم تسلط: هوش مصنوعی ممکن است کدی بنویسد که در نگاه اول زیباست اما دکمه‌ها کار نمی‌کنند یا داده در پایگاه ذخیره نمی‌شود. + * باگ‌های پنهان لبه‌ای (Edge Cases): نادیده گرفتن سناریوهای خاص کاربری (مثل ورودی خالی، قطعی اینترنت، داده تکراری). + * آسیب‌پذیری‌های امنیتی: نشت کلیدهای محرمانه و عدم اعتبارسنجی ورودی‌ها در صورت غفلت کاربر. +3. **مدل‌های قیمت‌گذاری ابزارها (The Economics of AI Tools):** + * **پلن‌های رایگان (Free Tiers):** سهمیه‌های روزانه یا ماهانه در Cursor و Lovable که برای شروع و یادگیری کافی است. + * **اشتراک‌های ماهانه ثابت (The $20/mo Flat Rate):** مدل استاندارد جهانی (مانند Cursor Pro یا Claude Pro) با دسترسی نامحدودتر به مدل‌های برتر (Claude 3.5 Sonnet / GPT-4o). + * **مدل مصرف‌محور (Pay-As-You-Go API):** پرداخت تنها به ازای توکن‌های مصرف‌شده، بسیار به‌صرفه برای پروژه‌های با حجم متوسط یا مقطعی. +4. **واقعیت‌های بومی و راهکارهای کاربردی برای مخاطب ایرانی:** + * چگونه بدون هزینه‌های دلاری سنگین کل دوره را با سهمیه‌های رایگان و بهینه طی کنیم. + * سرویس‌های تجمیع‌کننده API (نظیر OpenRouter یا ارائه‌دهندگان معتبر محلی) برای دسترسی شارژی و خرد بدون نیاز به کردیت‌کارت خارجی. + * مدیریت IP پایدار: ضرورت پرهیز از سوییچ مداوم لوکیشن‌های مختلف VPN حین کار با سرویس‌هایی چون Anthropic Claude جهت جلوگیری از فریز شدن اکانت. +5. **کال‌اوت‌های Quera:** + * `
`: مقایسه مدل اشتراک ثابت در برابر مدل شارژی API؛ کدام در شروع یادگیری برای شما اقتصادی‌تر است؟ + * `
`: هشدار بسیار مهم درباره پایداری شبکه و IP هنگام کار با ایجنت‌ها برای محافظت از اطلاعات و حساب‌ها. + +### آنچه نباید وارد آن شویم (Out-of-Scope): +- آموزش خرید ارز دیجیتال یا راه‌اندازی کارت‌های مجازی و صرافی‌ها. +- محاسبات دقیق ریاضی هزینه‌های تجاری در مقیاس‌های انترپرایز میلیونی. + +--- + +## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms) + +| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده | +| :--- | :--- | :--- | +| Free Tier Quota | سهمیه رایگان دوره‌ای | تعداد مشخصی از درخواست‌ها و پرامپت‌ها که سرویس‌ها به رایگان در اختیار کاربر قرار می‌دهند | +| Pay-As-You-Go | پرداخت بر پایه مصرف | مدلی که در آن فقط هزینه توکن‌های واقعی مصرف‌شده توسط کاربر کسر می‌شود | +| Edge Case | حالت مرزی و استثنایی | شرایط غیرمعمول یا خطایی در نرم‌افزار که معمولاً توسط هوش مصنوعی نادیده گرفته می‌شود | +| IP Consistency | ثبات آدرس اینترنتی | حفظ یک لوکیشن پایدار برای ممانعت از ایجاد حساسیت و بلاک شدن توسط سیستم‌های امنیتی هوش مصنوعی | +| API Aggregator | تجمیع‌کننده واسط مدل‌ها | پلتفرم‌هایی (مانند OpenRouter) که دسترسی متمرکز به ده‌ها مدل مختلف را با یک موجودی واحد فراهم می‌کنند | + +--- + +## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders) +> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند: + +1. **تصویر کاور درس:** `images/cover.png` + * **موضوع:** کاور با تم تیره و مینیمال که ترازوی دیجیتالی را نشان می‌دهد؛ یک کفه سرعت خارق‌العاده و کفه دیگر انتظارات واقع‌بینانه و مدیریت هزینه. +2. **نقاط قوت در برابر تله‌های پنهان هوش مصنوعی:** `images/superpowers-vs-traps.png` + * **موضوع:** اینفوگرافیک مقایسه‌ای دورنگ؛ ستون سبز (کجا هوش مصنوعی جادو می‌کند) در برابر ستون زرد/قرمز (کجا هوش مصنوعی بدون ناظر انسان لغزش دارد). +3. **مثلث مقایسه مدل‌های مالی:** `images/pricing-models.png` + * **موضوع:** تصویر شماتیک سه رویکرد اقتصادی: پلن‌های رایگان (Free Tier)، اشتراک ثابت ماهیانه ($20 Flat Rate)، و پرداخت به ازای مصرف (API Tokens). +4. **راهنمای هوشمندانه برای کاربر ایرانی:** `images/iran-accessibility-toolkit.png` + * **موضوع:** اینفوگرافیک گام‌های طلایی: استفاده هوشمند از سهمیه‌های رایگان، اکانت‌های تجمیعی API، و پایداری آی‌پی برای جلوگیری از بن شدن. +5. **تکنیک‌های بهینه‌سازی مصرف توکن و هزینه:** `images/token-optimization.png` + * **موضوع:** چرخه چک‌لیست کاربر برای جلوگیری از هدررفت درخواست‌ها: پرامپت شفاف $\rightarrow$ ریست به موقع سشن $\rightarrow$ عدم ارسال فایل‌های غیرمرتبط. + +--- + +## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`) + +1. **تیتر اصلی:** `# انتظارات واقع‌بینانه و هزینه` +2. **مقدمه ملموس:** گذر از هیاهوی تبلیغاتی (Hype) به دنیای واقعی مهندسی محصول با هوش مصنوعی. +3. **جدول کاور درس** +4. **نقاط قوت خیره‌کننده: هوش مصنوعی کجا شگفت‌انگیز است؟:** ۴ کارکرد طلایی که سرعت شما را ۱۰ برابر می‌کند. +5. **نقاط کور و پرتگاه‌ها: مراقب چه چیزهایی باشیم؟:** خطاهای پنهان، شکست‌های منطقی و مسئولیت نهایی سازنده. +6. **مدل‌های قیمت‌گذاری جهانی ابزارها:** تشریح مدل ۲۰ دلاری، سهمیه‌های رایگان و توکن‌های بر پایه مصرف. +7. **باکس نکته Quera (`
`):** کدام مدل پرداختی برای شروع یادگیری شما مناسب‌تر و اقتصادی‌تر است؟ +8. **جعبه‌ابزار کاربر ایرانی: یادگیری هوشمندانه و بدون دغدغه:** راهکارهای مدیریت سهمیه‌ها و دسترسی پایدار. +9. **باکس هشدار Quera (`
`):** ریسک‌های تغییر آی‌پی و راهکارهای جلوگیری از بسته شدن دسترسی ابزارها. +10. **چک‌لیست کاهش مصرف و صرفه‌جویی:** ۵ ترفند طلایی برای استفاده حداکثری از امکانات رایگان. +11. **جمع‌بندی درس‌نامه:** مدیریت هوشمندانه منابع و ابزارها برای ساخت پایدار پروژه‌ها. + +--- + +## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) +- [ ] مرز بین توانایی‌های واقعی AI و محدودیت‌های آن شفاف و بدون غلو ترسیم شده باشد. +- [ ] مدل‌های مالی اشتراکی، مصرفی و رایگان بدون ابهام تفکیک شده باشند. +- [ ] راهکارهای بومی و قابل اجرا برای مخاطب ایرانی بدون توصیه به روش‌های پرخطر ارائه شده باشد. +- [ ] چک‌لیست عملی برای صرفه‌جویی در درخواست‌ها و جلوگیری از هدررفت توکن‌ها در متن وجود داشته باشد. diff --git a/chapters/02-vibe-coding-mindset/05-lesson-prompt-engineering/spec.md b/chapters/02-vibe-coding-mindset/05-lesson-prompt-engineering/spec.md new file mode 100644 index 0000000..fca6a27 --- /dev/null +++ b/chapters/02-vibe-coding-mindset/05-lesson-prompt-engineering/spec.md @@ -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:** + * `
`: مقایسه دو پرامپت واقعی ضعیف و مهندسی‌شده قبل و بعد برای یک فیچر مشخص. + * `
`: تلهٔ مگاپرامپت (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 (`
`):** کالبدشکافی یک پرامپت بد در برابر یک پرامپت استاندارد مهندسی‌شده. +7. **قانون طلایی اتمیک بودن (One Step at a Time):** چرا باید پروژه را لقمه‌لقمه به هوش مصنوعی تحویل دهیم؟ +8. **باکس هشدار Quera (`
`):** خطرات مرگبار مگاپرامپت‌ها در نابودی معماری پروژه. +9. **قدرت پرامپت‌های تصویری (Multimodal):** چگونه یک تصویر، کار صد کلمه توضیح گیج‌کننده را انجام می‌دهد؟ +10. **هنر گزارش خطا: چگونه باگ‌ها را به هوش مصنوعی تحویل دهیم؟:** نحوه کپی کردن لاگ، بیان انتظار و حل سیستماتیک مشکل. +11. **جمع‌بندی درس‌نامه:** تمرین مهارت پرامپت‌نویسی به عنوان زبان مادری سازندگان آینده. + +--- + +## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) +- [ ] فرمول چهاربخشی پرامپت‌نویسی نرم‌افزار به وضوح آموزش داده شده باشد. +- [ ] اصل اتمیک بودن به همراه مثال واقعی در متن جا افتاده باشد. +- [ ] روش ارسال خطاها با کپی کردن لاگ و متن کامل کنسول در برابر ارسال جملات گنگ تبیین شده باشد. +- [ ] کال‌اوت‌های کوئرا با محتوای کاربردی و قالب متنی تمیز درج شده باشند. diff --git a/chapters/02-vibe-coding-mindset/06-lesson-ai-software-methodologies/spec.md b/chapters/02-vibe-coding-mindset/06-lesson-ai-software-methodologies/spec.md new file mode 100644 index 0000000..bd8f464 --- /dev/null +++ b/chapters/02-vibe-coding-mindset/06-lesson-ai-software-methodologies/spec.md @@ -0,0 +1,96 @@ +# مشخصات درس‌نامه: متودولوژی‌های توسعه نرم‌افزار با AI (AI Software Methodologies & SDD) +- **شناسه در سیلابس:** `L2.7` +- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2) +- **نوع محتوا:** 📘 درس‌نامه متنی +- **زمان تقریبی مطالعه:** ۱۲ دقیقه +- **پیش‌نیازهای مستقیم:** `L2.6` (اصول مهندسی پرامپت) + +--- + +## ۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy) +دانشجو پس از مطالعهٔ این درس‌نامه باید بتواند: +- [ ] **تحلیل/ارزیابی کند (Evaluate):** رویکرد غیرحرفه‌ای «پرامپت و دعا» (Prompt & Pray) را با رویکرد مهندسی و پایدار «توسعه مشخصات‌محور» (Spec-Driven Development - SDD) مقایسه کند. +- [ ] **درک کند (Understand):** چرخهٔ چهار مرحله‌ای SDD شامل: **۱. مشخصات (Specify) $\rightarrow$ ۲. برنامه‌ریزی (Plan) $\rightarrow$ ۳. اجرای ایجنت (Execute) $\rightarrow$ ۴. راستی‌آزمایی انسان (Verify)** چگونه کار می‌کند. +- [ ] **درک کند (Understand):** چرا ثبت تصمیمات در قالب اسناد شفاف (سند مشخصات یا PRD) مانع از سردرگمی هوش مصنوعی در پروژه‌های بزرگ می‌شود. +- [ ] **به‌کار ببندد (Apply):** نقش خود به عنوان ناظر و معمار نهایی در حلقه بازخورد را بپذیرد؛ کدهای تغییریافته (Git Diffs یا تغییرات ایجنت) را پیش از تایید، مرور و راستی‌آزمایی کند. + +--- + +## ۲. محدوده و مرزهای محتوا (Scope & Boundaries) + +### آنچه باید پوشش داده شود (In-Scope): +1. **بیماری شایع توسعه شتاب‌زده با هوش مصنوعی (Prompt & Pray):** + * پرامپت‌نویسی تصادفی و تکراری به این امید که شانس بیاوریم و باگ حل شود! + * چرا این روش بعد از رسیدن پروژه به بیش از ۳ صفحه به یک فاجعه و قفل کامل پروژه تبدیل می‌شود. +2. **تولد پارادایم توسعه مشخصات‌محور (Spec-Driven Development):** + * در دنیای وایب کدینگ حرفه‌ای، ارزان‌ترین و سریع‌ترین بخش کار تولید کد است (توسط هوش مصنوعی انجام می‌شود). + * گران‌ترین و مهم‌ترین بخش، **روشن کردن دقیق نیت و رفتار مورد انتظار نرم‌افزار** است. + * نوشتن مشخصات شفاف (چه کارهایی باید انجام شود، داده‌ها چه ساختاری دارند، سناریوهای کاربر چیست). +3. **چرخهٔ چهار مرحله‌ای حلقه SDD:** + * **گام ۱: تدوین مشخصات (Specify):** نوشتن سند یا تعریف مرزهای تسک قبل از درخواست کد. + * **گام ۲: طرح اقدام و برنامه‌ریزی (Plan):** ایجنت مراحل انجام تسک را می‌چیند و گام‌ها را برای بررسی ارائه می‌دهد. + * **گام ۳: اجرای هوشمند توسط ایجنت (Execute):** ایجنت فایل‌ها را ویرایش و کدهای لازم را اضافه می‌کند. + * **گام ۴: آزمایش و راستی‌آزمایی انسان (Verify):** کاربر خروجی را در مرورگر یا با تست می‌بیند، بررسی می‌کند و سپس تایید یا اصلاح می‌کند. +4. **نقش حیاتی انسان در صندلی تایید نهایی:** + * هوش مصنوعی کد را پیشنهاد می‌دهد؛ شما مسئول بازبینی، تست و کلیک دکمه قبولی هستید. +5. **پیش‌درآمدی بر فصول بعدی دوره:** + * در فصل ۴ نحوه نوشتن PRD واقعی با هوش مصنوعی را یاد خواهید گرفت؛ در فصل‌های ۶ و ۷ کدها با همین چرخه تولید می‌شوند و در پروژه‌های ۸ و ۱۴ پیاده‌سازی کامل محصول را تجربه خواهید کرد. +6. **کال‌اوت‌های Quera:** + * `
`: چرا شرکت‌های پیشروی جهان و تیم‌های مدرن هوش مصنوعی در سال‌های ۲۰۲۵ و ۲۰۲۶ متدولوژی SDD را جایگزین روش‌های سنتی کرده‌اند؟ + * `
`: مژده به دانشجویان: با این متدولوژی شما هرگز در میان صدها خط کد سردرگم نخواهید شد، زیرا نقشه همیشه مشخص است. + +### آنچه نباید وارد آن شویم (Out-of-Scope): +- ورود تفصیلی به نگارش تمپلیت‌های PRD، فیچربک‌لاگ یا ابزارهای مدیریت پروژه مثل Jira/Notion (فصل ۴). +- تشریح تست‌های خودکار نرم‌افزاری با فریم‌ورک‌های Jest یا Pytest (فصل ۹). + +--- + +## ۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms) + +| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یک‌خطی ساده | +| :--- | :--- | :--- | +| Prompt & Pray | پرامپت و دعا | رویکرد غیرعلمی و تصادفی فرستادن پرامپت‌های کورکورانه به امید درست شدن خودکار کد | +| Spec-Driven Development (SDD) | توسعه مشخصات‌محور | متدولوژی مهندسی که در آن تولید نرم‌افزار بر پایه اسناد مشخصات و برنامه اقدام شفاف استوار است | +| Feedback Loop | چرخهٔ بازخورد | فرایند پیوستهٔ آزمایش خروجی ایجنت، مشاهده نتیجه و ارائه راهنمایی تکمیلی به هوش مصنوعی | +| Verification | راستی‌آزمایی | بررسی و تست واقعی عملکرد نرم‌افزار توسط انسان پیش از پذیرش تغییرات ایجنت | +| Product Requirements Document (PRD) | سند نیازمندی‌های محصول | سندی جامع که چرایی، اهداف و رفتار دقیق فیچرهای یک نرم‌افزار را پیش از ساخت توصیف می‌کند | + +--- + +## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders) +> **راهنمای ایجنت نویسنده:** تمام تصاویر باید در پوشهٔ `images/` قرار گرفته و در قالب جدول تک‌خانه‌ای وسط‌چین با کپشن تفصیلی درج شوند: + +1. **تصویر کاور درس:** `images/cover.png` + * **موضوع:** کاور مدرن نمایش‌دهنده نقشهٔ معماری دیجیتال (Blueprint) که توسط دست انسان هدایت شده و هوش مصنوعی در حال اجرای خطوط آن است. +2. **مقایسه پرامپت و دعا در برابر توسعه مشخصات‌محور:** `images/prompt-and-pray-vs-sdd.png` + * **موضوع:** تصویر مقایسه‌ای: سمت چپ آشفتگی، آزمون‌وخطای بی‌پایان و سرخوردگی (Prompt & Pray) در برابر سمت راست ریل‌گذاری منظم و گام‌به‌گام با سند مشخصات (SDD). +3. **چرخهٔ چهار مرحله‌ای حلقه SDD:** `images/sdd-four-step-loop.png` + * **موضوع:** دیاگرام چرخشی ۴ مرحله: ۱. مشخصات (Specify) $\rightarrow$ ۲. برنامه (Plan) $\rightarrow$ ۳. اجرای ایجنت (Execute) $\rightarrow$ ۴. بررسی انسان (Verify). +4. **جایگاه انسان در فرماندهی بازخورد:** `images/human-in-the-loop.png` + * **موضوع:** اینفوگرافیک مفهوم Human-in-the-Loop که انسان را در نقطه آغاز (تعیین هدف) و نقطه پایان (تایید کیفیت خروجی) نشان می‌دهد. +5. **نقشه راه SDD در امتداد فصول دوره:** `images/sdd-course-application.png` + * **موضوع:** فلوچارت اتصال فصول دوره: فصل ۴ (طراحی سند و تسک) $\rightarrow$ فصل‌های ۶ تا ۸ (پیاده‌سازی مرحله‌ای) $\rightarrow$ پروژه‌های عملی ۱ و ۲. + +--- + +## ۵. بخش‌بندی و ساختار محتوایی پیشنهادی درس‌نامه (`README.md`) + +1. **تیتر اصلی:** `# متودولوژی‌های توسعه نرم‌افزار با AI و ورود به دنیای SDD` +2. **مقدمه ملموس:** چرا توسعه‌دهندگان مبتدی با هوش مصنوعی در بن‌بست گیر می‌کنند؟ +3. **جدول کاور درس** +4. **پدیده خطرناک «پرامپت و دعا» (Prompt & Pray):** تحلیل آسیب‌شناسانه سردرگمی در پروژه‌ها. +5. **ظهور متدولوژی توسعه مشخصات‌محور (SDD):** ارزش مشخصه‌نویسی شفاف در عصر هوش مصنوعی. +6. **چهار گام طلایی چرخه SDD:** تشریح مراحل Specify، Plan، Execute و Verify با یک سناریوی زنده. +7. **باکس نکته پیشرفته Quera (`
`):** چرا غول‌های فناوری متدولوژی SDD را قلب آینده مهندسی نرم‌افزار می‌دانند؟ +8. **انسان در حلقه فرماندهی (Human-in-the-Loop):** تفاوت ناظر فعال با تماشاگر منفعل. +9. **ارتباط SDD با مسیر شما در این دوره:** چگونه این متدولوژی ستون فقرات پروژه‌های کوئرا کالج خواهد بود. +10. **باکس اطمینان‌بخش Quera (`
`):** آرامش ذهن و تسلط کامل با اتکا به ریل‌گذاری مشخصات. +11. **جمع‌بندی درس‌نامه و آماده‌سازی برای آزمون پایانی فصل:** مرور کلیدی‌ترین اصول پیش از ورود به کوئیز. + +--- + +## ۶. معیارهای پذیرش (Acceptance Criteria for Reviewer) +- [ ] تفاوت شفاف رویکرد «پرامپت و دعا» با متدولوژی «توسعه مشخصات‌محور» شرح داده شده باشد. +- [ ] چرخه ۴ مرحله‌ای SDD (مشخصات، برنامه، اجرا، راستی‌آزمایی) همراه با دیاگرام به خوبی مستند شده باشد. +- [ ] نقش نظارتی انسان در پذیرش یا رد کدهای ایجنت به صراحت تاکید شده باشد. +- [ ] پل ارتباطی این درس با فصول بعدی (به‌ویژه فصل ۴ و پروژه‌های عملی) برقرار شده باشد. diff --git a/chapters/02-vibe-coding-mindset/07-quiz-vibe-coding-mindset/spec.md b/chapters/02-vibe-coding-mindset/07-quiz-vibe-coding-mindset/spec.md new file mode 100644 index 0000000..6337ba7 --- /dev/null +++ b/chapters/02-vibe-coding-mindset/07-quiz-vibe-coding-mindset/spec.md @@ -0,0 +1,206 @@ +# مشخصات آزمون تستی: جمع‌بندی مفاهیم و ذهنیت وایب کدینگ (Vibe Coding Mindset Quiz) +- **شناسه در سیلابس:** `Q2.1` +- **فصل:** فصل ۲: شروع مسیر Vibe Coding (Ch 2) +- **نوع محتوا:** 📝 آزمون تستی خودکار کوئرا کالج (Conceptual Multiple-Choice Quiz) +- **بارم امتیاز:** ۱۰۰ امتیاز (۱۰ سوال چهارگزینه‌ای مفهومی × ۱۰ امتیاز) +- **زمان تقریبی پاسخگویی:** ۱۵ دقیقه +- **پیش‌نیازهای مستقیم:** مطالعه کامل درس‌نامه‌های `L2.1` تا `L2.7` + +--- + +## ۱. اهداف ارزیابی و توزیع سوالات (Assessment Objectives) +این آزمون برای سنجش تسلط مفهومی و عمیق دانشجو بر مبانی، اصطلاحات، مدل‌های ذهنی و رویکرد مهندسی وایب کدینگ طراحی شده است. توزیع ۱۰ سوال آزمون به تفکیک درس‌های فصل به شرح زیر است: + +| شماره سوال | درس مرجع | مفهوم مورد سنجش | سطح شناختی (Bloom) | بارم | +| :---: | :---: | :--- | :---: | :---: | +| **سوال ۱** | `L2.2` | تعریف وایب کدینگ و تفاوت آن با کدنویسی سنتی و کمکی | Understand | ۱۰ | +| **سوال ۲** | `L2.2` | ماتریس تفکیک مسئولیت انسان (معمار) و هوش مصنوعی (مجری) | Evaluate | ۱۰ | +| **سوال ۳** | `L2.3` | ماهیت پیش‌بینی احتمالاتی توکن بعدی (Next-Token Prediction) | Understand | ۱۰ | +| **سوال ۴** | `L2.3` | مفهوم پنجره بافت (Context Window) و راهکار فرسودگی چت (Context Rot) | Apply | ۱۰ | +| **سوال ۵** | `L2.3` | ریشه‌یابی و تشخیص پدیده توهم (Hallucination) در کد | Evaluate | ۱۰ | +| **سوال ۶** | `L2.4` | دسته‌بندی سه‌گانه ابزارها و استراتژی دو مسیره (Dual-Track Workflow) | Apply | ۱۰ | +| **سوال ۷** | `L2.5` | مدل‌های اقتصادی قیمت‌گذاری و مدیریت سهمیه‌های رایگان و API | Understand | ۱۰ | +| **سوال ۸** | `L2.6` | قانون تغییرات اتمیک (Atomicity) و پرهیز از تله مگاپرامپت | Apply | ۱۰ | +| **سوال ۹** | `L2.6` | الگوی استاندارد و ساخت‌یافتهٔ گزارش خطا (Error Reporting) | Apply | ۱۰ | +| **سوال ۱۰** | `L2.7` | چرخهٔ چهار مرحله‌ای متدولوژی توسعه مشخصات‌محور (SDD) در برابر پرامپت و دعا | Evaluate | ۱۰ | + +--- + +## ۲. مشخصات و سناریوی سوالات ده‌گانه (Question Bank Specifications) + +### سوال ۱: تعریف بنیادین وایب کدینگ (`L2.2`) +* **صورت سوال:** کدام عبارت، تعریف دقیق پارادایم «وایب کدینگ (Vibe Coding)» و تمایز اصلی آن با نسل‌های پیشین توسعه نرم‌افزار را به درستی بیان می‌کند؟ + * الف) استفاده از چت‌بات‌های عمومی برای نوشتن دستی توابع و سپس کپی-پیست کردن خط‌به‌خط آن‌ها در یک فایل متنی. + * ب) هدایت نیت، منطق و رفتار نرم‌افزار به زبان طبیعی برای ایجنت‌های هوش مصنوعی که قابلیت ایجاد، ویرایش و اجرای واقعی کدهای پروژه را دارا هستند. + * ج) تولید کدهای برنامه بدون نیاز به هیچ‌گونه درک از محصول، تجربه کاربری یا نظارت انسانی، با اتکای کامل به حدس خودکار مدل. + * د) استفاده صرف از افزونه‌های تکمیل خودکار خط کد (Autocomplete) حین تایپ سنتی برنامه‌نویس در محیط‌های قدیمی. +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه الف: این شیوه کپی-پیست از چت‌بات‌های اولیه است، نه جریان کاری ایجنتیک متصل به پروژه. + * گزینه ج: باور اشتباه و خطرناکی است که منجر به تولید زباله هوش مصنوعی (AI Slop) می‌شود؛ وایب کدینگ نیازمند هدایت و نظارت آگاهانه انسان است. + * گزینه د: این توصیف دوران دستیارهای کمکی (Copilot Era) است، نه وایب کدینگ نوین. + +--- + +### سوال ۲: ماتریس تفکیک مسئولیت انسان و هوش مصنوعی (`L2.2`) +* **صورت سوال:** در جریان کاری استاندارد یک وایب کدر حرفه‌ای، کدام وظیفه مشخصاً بر عهدهٔ انسان (کاربر) است و نباید به هوش مصنوعی واگذار شود؟ + * الف) نوشتن سینتکس دستورات وارد کردن پکیج‌ها و ایجاد ساختار فایل‌های پروژه. + * ب) تصمیم‌گیری درباره ارزش و اولویت فیچرها، تجربه کاربری مورد نظر و تایید معیارهای قبولی خروجی. + * ج) اجرای کامندهای ساخت کامپوننت‌ها یا نصب کتابخانه‌ها در محیط ترمینال. + * د) تبدیل یک منطق محاسباتی توصیف‌شده به کدهای بهینه جاوااسکریپت یا پایتون. +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه‌های الف، ج و د همگی کارهای اجرایی و نحوی هستند که دقیقاً وظیفه اصلی ایجنت‌های هوش مصنوعی به شمار می‌روند. تصمیم‌گیری محصولی و تایید پذیرش تنها مسئولیت انسان است. + +--- + +### سوال ۳: مکانیزم پردازش و تفکر مدل‌های زبانی (`L2.3`) +* **صورت سوال:** مدل‌های زبانی بزرگ (LLMs) در حین تولید کدهای یک وب‌اپلیکیشن، از نظر ساختار محاسباتی چگونه عمل می‌کنند؟ + * الف) آن‌ها دارای یک موتور هوشمند منطقی و دیتابیس قواعد هستند که درستی هر خط کد را بر اساس قوانین ریاضی اثبات می‌کند. + * ب) آن‌ها با دسترسی به کامپایلر درونی زنده، تک‌تک خطوط را پیش از ارسال در پس‌زمینه اجرا و خطایابی می‌کنند. + * ج) آن‌ها با محاسبه توزیع احتمالات بر اساس میلیاردها نمونه کد یادگرفته‌شده، محتمل‌ترین توکن (کلمه یا نماد) بعدی را پیش‌بینی و پیوست می‌کنند. + * د) آن‌ها کدها را مستقیماً از پروژه‌های فعال موجود در اینترنت در همان لحظه جستجو و بازنویسی می‌نمایند. +* **گزینه صحیح:** **ج** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه الف و ب: مدل‌ها ذاتاً موتور منطقی یا کامپایلر نیستند، بلکه شبکه‌های پیش‌بینی احتمالاتی بر پایه توکن هستند. + * گزینه د: مدل در زمان پاسخگویی به اینترنت متصل نبوده و از وزن‌های محاسباتی از پیش‌آموزش‌دیده خود توکن تولید می‌کند. + +--- + +### سوال ۴: پنجره بافت و سندروم فرسودگی چت (`L2.3`) +* **صورت سوال:** پس از ردوبدل شدن ده‌ها پیام در یک چت طولانی، متوجه می‌شوید هوش مصنوعی دستورات اولیه شما را فراموش کرده و کدهای قبلی را بدون دلیل تغییر می‌دهد. اصطلاح فنی این پدیده چیست و بهترین اقدام عملی کدام است؟ + * الف) سرریز حافظه موقت (Memory Leak)؛ باید کامپیوتر را مجدداً راه‌اندازی (Restart) کنید. + * ب) فرسودگی بافت (Context Rot)؛ باید چت را ببندید و یک سشن تازه با خلاصه‌ای از وضعیت فعلی و نیازمندی جدید آغاز کنید. + * ج) فریز شدن ایجنت؛ باید با اصرار در همان پنجره به مدل یادآوری کنید که چه دستوراتی در پیام‌های اول داده بودید. + * د) خطای سینتکسی مدل؛ باید اشتراک خود را به مدل قوی‌تری ارتقا دهید تا تاریخچه گفتگو پاک نشود. +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه الف: مشکل سخت‌افزاری نیست، بلکه ناشی از محدودیت پنجره بافت (Context Window) مدل است. + * گزینه ج: اصرار بر ادامه چت شلوغ، بافت را آلوده‌تر کرده و سردرگمی مدل را تشدید می‌کند. + * گزینه د: ارتقای اشتراک مشکل پر شدن بافت در یک چت بی‌پایان را به شکل اصولی حل نمی‌کند؛ راه‌حل استاندارد رعایت Context Hygiene و باز کردن چت تمیز است. + +--- + +### سوال ۵: کالبدشکافی پدیده توهم در کدنویسی (`L2.3`) +* **صورت سوال:** کدام مورد یک نمونه بارز از پدیده «توهم هوش مصنوعی (Hallucination)» در توسعه نرم‌افزار است؟ + * الف) ایجنت به درستی اعلام کند که برای اتصال به درگاه پرداخت نیازمند دریافت کلید API اختصاصی از کاربر است. + * ب) ایجنت کدی با ساختار کاملاً تمیز و بدون خطای تایپی بنویسد که متدی به نام `user.generatePersianInvoice()` را از یک کتابخانه مشهور فراخوانی کند، در حالی که چنین متدی اصلاً در آن کتابخانه وجود خارجی ندارد. + * ج) کدی که ایجنت نوشته به علت غلط املایی در نام متغیر با خطای `SyntaxError` متوقف شود. + * د) سرعت تولید پاسخ‌های ایجنت به دلیل شلوغی سرورهای شرکت سازنده کاهش یابد. +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه الف رفتار صحیح است. + * گزینه ج خطای سینتکسی ساده است، نه توهم. + * گزینه د مربوط به تاخیر شبکه و سرور است. گزینه ب تعریف کلاسیک توهم است: پاسخ با ظاهر موجه و اعتمادبه‌نفس بالا اما بدون واقعیت خارجی. + +--- + +### سوال ۶: استراتژی دومسیره ابزارها (Dual-Track Workflow) (`L2.4`) +* **صورت سوال:** در دورهٔ وایب کدینگ کوئرا کالج، منطق اصلی اتخاذ «استراتژی دومسیره (Dual-Track)» در بهره‌گیری از ابزارهای هوش مصنوعی چیست؟ + * الف) استفاده انحصاری از ابزارهای تحت وب برای تمام طول دوره، زیرا نصب نرم‌افزارهای محلی هیچ مزیتی ندارد. + * ب) بهره‌گیری از ابزارهای ابری سریع (مثل Lovable/v0) برای اثبات سریع ایده در مراحل اولیه، و تکیه بر ادیتورهای محلی (مثل Cursor) و ایجنت‌های ترمینال برای مهندسی واقعی، کنترل Git و توسعه پایدار پایگاه داده. + * ج) استفاده همزمان از پنج ابزار مختلف در هر پروژه برای نوشتن تک‌تک کامپوننت‌ها به صورت موازی. + * د) اجتناب کامل از ادیتورهای محلی به دلیل پیچیدگی و خطرات امنیتی ذخیره فایل روی سیستم شخصی. +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه الف: ساخت محصول واقعی با دیتابیس اختصاصی و امنیت بالا نیازمند کنترل محلی و کدبیس تحت Git است. + * گزینه ج: باعث سردرگمی شدید و آشفتگی پروژه می‌شود. + * گزینه د: کاملاً نادرست است؛ ادیتور محلی استاندارد صنعت برای پروژه‌های واقعی است. + +--- + +### سوال ۷: مدل‌های اقتصادی و مدیریت بهینه هزینه (`L2.5`) +* **صورت سوال:** کاربری می‌خواهد بدون صرف هزینه‌های دلاری سنگین، پروژه‌های تمرینی خود را توسعه دهد. کدام راهبرد از نظر اقتصادی و فنی توصیه‌شده‌ترین رفتار است؟ + * الف) پرداخت بدون بررسی اشتراک‌های ماهانه گران‌قیمت متعدد برای ابزارهای مشابه. + * ب) استفاده بهینه از سهمیه‌های رایگان روزانه در ادیتورها، استفاده از مدل‌های مصرف‌محور (Pay-As-You-Go API) در پلتفرم‌های تجمیعی مانند OpenRouter، و پرهیز از هدررفت توکن‌ها با پرامپت‌های دقیق و ریست به موقع سشن. + * ج) استفاده مداوم از چت‌های فوق‌العاده طولانی برای صرفه‌جویی در باز کردن چت جدید. + * د) سپردن کل کدهای پروژه به هوش مصنوعی در قالب فایل‌های فشرده بسیار حجیم در هر درخواست. +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه‌های ج و د دقیقاً مصرف توکن و هزینه‌ها را تصاعدی بالا برده و منجر به شکست در محدودیت‌های پلن‌ها می‌شوند. + +--- + +### سوال ۸: فرمول پرامپت‌نویسی مهندسی و قانون اتمیک (`L2.6`) +* **صورت سوال:** شما می‌خواهید ویژگی «فیلتر کردن محصولات بر اساس دسته‌بندی» را به صفحه فروشگاه خود اضافه کنید. کدام پرامپت از نظر اصول مهندسی پرامپت و قانون اتمیک بودن استانداردتر است؟ + * الف) «یک فروشگاه کامل با دسته‌بندی، درگاه پرداخت، جستجوی پیشرفته و پنل کاربری برایم بساز.» + * ب) «در کامپوننت `ProductList.tsx`، بالای گرید کارت‌ها یک ردیف دکمه برای فیلتر دسته‌بندی‌ها اضافه کن. با کلیک روی هر دکمه، فقط محصولات همان گروه نمایش داده شوند. استایل‌ها با دکمه‌های فعلی هماهنگ باشد و به ساختار کارت‌های محصولات دست نزن.» + * ج) «دکمه‌های فیلتر را درست کن کار کند.» + * د) «لطفاً تمام کدهای پروژه را بازنویسی کن تا قابلیت فیلتر دسته‌بندی هم اضافه شود.» +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه الف: مگاپرامپت مخرب است که باعث گیج شدن مدل و شلختگی کدهای موجود می‌شود. + * گزینه ج: فاقد هرگونه بافت، نام فایل و رفتار شفاف است. + * گزینه د: بازنویسی کل کدهای پروژه خطرناک‌ترین کار ممکن است که باعث پاک شدن سایر ویژگی‌های درست می‌شود. + +--- + +### سوال ۹: الگوی حرفه‌ای گزارش خطا به هوش مصنوعی (`L2.6`) +* **صورت سوال:** هنگام اجرای برنامه با یک خطای قرمزرنگ در ترمینال مواجه می‌شوید. شیوه صحیح و مؤثر در تعامل با ایجنت هوش مصنوعی برای حل سریع باگ چیست؟ + * الف) ارسال پیام کوتاهی با متن: «خراب شد، کار نمی‌کند؛ کدهای صفحه را دوباره بساز!» + * ب) ارسال دقیق متن کامل خطای ترمینال (Error Traceback)، نام فایلی که در آن کار می‌کردید و توصیف رفتاری که انتظار داشتید رخ دهد. + * ج) پاک کردن کل پوشه پروژه و شروع دوباره از ابتدا. + * د) بازنویسی دستی کد بدون تحلیل خطا به امید رفع شانسی آن. +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه الف: ایجنت غیب‌گو نیست و نمی‌داند چه خطایی رخ داده؛ این پیام معمولاً باعث تولید کدهای تصادفی و بدتر شدن باگ می‌شود. + * گزینه‌های ج و د رفتارهای پرهزینه و غیرحرفه‌ای هستند. + +--- + +### سوال ۱۰: متدولوژی توسعه مشخصات‌محور (SDD) (`L2.7`) +* **صورت سوال:** تفاوت بنیادین متدولوژی توسعه مشخصات‌محور (SDD) با رویکرد آشفته «پرامپت و دعا (Prompt & Pray)» در چیست؟ + * الف) در SDD نیازی به نظارت یا تست انسانی وجود ندارد و ایجنت به تنهایی کیفیت را تضمین می‌کند. + * ب) در SDD ساختار، نیازمندی‌ها و برنامه اقدام پیش از درخواست کد به طور شفاف مستند می‌شوند و خروجی ایجنت در یک چرخه منظم (مشخصات $\rightarrow$ برنامه $\rightarrow$ اجرا $\rightarrow$ راستی‌آزمایی) توسط انسان اعتبارسنجی می‌شود. + * ج) در SDD تمام کدها باید ابتدا با دست روی کاغذ نوشته شوند و سپس به هوش مصنوعی تحویل گردند. + * د) SDD صرفاً یک نام تبلیغاتی برای تکرار مداوم پرامپت‌ها در ابزارهای مختلف است. +* **گزینه صحیح:** **ب** +* **تحلیل گزینه‌های گمراه‌کننده:** + * گزینه الف: راستی‌آزمایی انسان (Human Verification) رکن چهارم و غیرقابل حذف SDD است. + * گزینه‌های ج و د کاملاً در تناقض با تعریف این متدولوژی مدرن هستند. + +--- + +## ۳. فرمت خروجی و ساختار تحویل سوالات + +آزمون پس از نگارش نهایی، در پوشه درس به صورت فایل `questions.json` (برای سامانه کوئرا کالج) و هم‌چنین با مستندات تحلیلی در `README.md` با ساختار کلیدهای زیر قرار خواهد گرفت: +```json +[ + { + "id": 1, + "title": "تعریف بنیادین وایب کدینگ", + "question": "متن فارسی سوال...", + "options": ["گزینه الف", "گزینه ب", "گزینه ج", "گزینه د"], + "correct_index": 1, + "score": 10, + "explanation": "استدلال علمی گزینه صحیح و خطاهای مفهومی سایر گزینه‌ها..." + } +] +``` + +--- + +## ۴. جایگاه‌های تصاویر و نمودارها (Visual & Diagram Placeholders) +1. **تصویر کاور آزمون:** `images/cover.png` + * **موضوع:** کاور با تم تیره و هویت آزمون‌های سنجش مهارت کوئرا کالج، شامل مدال طلایی ۱۰۰ امتیازی، چک‌لیست دیجیتال و نماد ذهنیت وایب کدینگ. +2. **اینفوگرافیک نقشه ارزیابی فصل ۲:** `images/quiz-evaluation-matrix.png` + * **موضوع:** نمودار راداری یا ساختاری که پوشش جامع ۱۰ سوال آزمون روی مهارت‌های فصل (تعریف، طرز کار، ابزارها، هزینه، پرامپت، SDD) را به نمایش می‌گذارد. + +--- + +## ۵. معیارهای قبولی و سیستم امتیازدهی (Grading Rubric) +- **کل امتیاز:** ۱۰۰ امتیاز. +- **حد نصاب قبولی پایه در گواهی کوئرا:** ۵۰ امتیاز (پاسخ صحیح به حداقل ۵ سوال). +- **سطوح گواهی برای این آزمون:** + * ۱۰۰ امتیاز: ثبت حداکثر سهمیه جهت رتبه **Perfect** در پایان دوره. + * ۹۰ تا ۹۰ امتیاز: قرارگیری در محدوده **Very Good**. + * ۷۰ تا ۸۰ امتیاز: سطح **Good**. + * ۵۰ تا ۶۰ امتیاز: سطح **Fair**. + +--- + +## ۶. معیارهای پذیرش سند آزمون (Acceptance Criteria for Reviewer) +- [ ] دقیقا ۱۰ سوال چهارگزینه‌ای مفهومی با گزینه‌های هم‌وزن و بدون گزینه‌های بدیهی تدوین شده باشد. +- [ ] هر سوال دارای تحلیل تفصیلی گزینه صحیح و تحلیل خطاهای شناختی گزینه‌های گمراه‌کننده باشد. +- [ ] سوالات تمام مباحث کلیدی درس‌های ۲.۱ تا ۲.۷ را به شکل متوازن پوشش دهند. +- [ ] هیچ سوالی نیاز به حفظ کردن شماره نسخه یا جزئیات گذرای ابزارها نداشته باشد و تمرکز کاملاً بر مدل ذهنی و اصول مهندسی باشد.