Files

9.9 KiB
Raw Blame History

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