Files

10 KiB
Raw Blame History

مشخصات درس‌نامه: اصول مهندسی پرامپت (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:
    • <details class="violet">: مقایسه دو پرامپت واقعی ضعیف و مهندسی‌شده قبل و بعد برای یک فیچر مشخص.
    • <details class="red">: تلهٔ مگاپرامپت (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 (<details class="violet">): کالبدشکافی یک پرامپت بد در برابر یک پرامپت استاندارد مهندسی‌شده.
  7. قانون طلایی اتمیک بودن (One Step at a Time): چرا باید پروژه را لقمه‌لقمه به هوش مصنوعی تحویل دهیم؟
  8. باکس هشدار Quera (<details class="red">): خطرات مرگبار مگاپرامپت‌ها در نابودی معماری پروژه.
  9. قدرت پرامپت‌های تصویری (Multimodal): چگونه یک تصویر، کار صد کلمه توضیح گیج‌کننده را انجام می‌دهد؟
  10. هنر گزارش خطا: چگونه باگ‌ها را به هوش مصنوعی تحویل دهیم؟: نحوه کپی کردن لاگ، بیان انتظار و حل سیستماتیک مشکل.
  11. جمع‌بندی درس‌نامه: تمرین مهارت پرامپت‌نویسی به عنوان زبان مادری سازندگان آینده.

۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)

  • فرمول چهاربخشی پرامپت‌نویسی نرم‌افزار به وضوح آموزش داده شده باشد.
  • اصل اتمیک بودن به همراه مثال واقعی در متن جا افتاده باشد.
  • روش ارسال خطاها با کپی کردن لاگ و متن کامل کنسول در برابر ارسال جملات گنگ تبیین شده باشد.
  • کال‌اوت‌های کوئرا با محتوای کاربردی و قالب متنی تمیز درج شده باشند.