207 lines
22 KiB
Markdown
207 lines
22 KiB
Markdown
# مشخصات آزمون تستی: جمعبندی مفاهیم و ذهنیت وایب کدینگ (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)
|
||
- [ ] دقیقا ۱۰ سوال چهارگزینهای مفهومی با گزینههای هموزن و بدون گزینههای بدیهی تدوین شده باشد.
|
||
- [ ] هر سوال دارای تحلیل تفصیلی گزینه صحیح و تحلیل خطاهای شناختی گزینههای گمراهکننده باشد.
|
||
- [ ] سوالات تمام مباحث کلیدی درسهای ۲.۱ تا ۲.۷ را به شکل متوازن پوشش دهند.
|
||
- [ ] هیچ سوالی نیاز به حفظ کردن شماره نسخه یا جزئیات گذرای ابزارها نداشته باشد و تمرکز کاملاً بر مدل ذهنی و اصول مهندسی باشد.
|