10 KiB
10 KiB
مشخصات درسنامه: اصول مهندسی پرامپت (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):
- گذار از گفتگوی سطحی به دستورالعمل مهندسی:
- هوش مصنوعی ذهنخوان نیست؛ وضوح ورودی شما دقیقاً کیفیت خروجی کد را تعیین میکند (Garbage In, Garbage Out).
- فرمول طلایی پرامپت نرمافزاری (The 4-Part Vibe Formula):
- ۱. بافت و زمینه (Context): ما در حال ساخت چه پروژهای هستیم و چه استکی داریم؟
- ۲. هدف مشخص (Objective): دقیقاً چه تغییری، چه فیچری یا چه تابعی باید اضافه/اصلاح شود؟
- ۳. محدودیتها (Constraints): چه چیزهایی نباید تغییر کنند؟ چه پکیجهای خاصی باید استفاده یا پرهیز شوند؟
- ۴. معیارهای پذیرش (Acceptance Criteria): از کجا بفهمیم کار با موفقیت انجام شده است؟ (مثلاً «یک پیام سبز موفقیت نمایش داده شود»).
- قانون تغییرات اتمیک (Rule of Atomicity):
- تفاوت پرامپت مخرب همهکاره («برای من یک فروشگاه مثل دیجیکالا بساز با سبد خرید و درگاه پرداخت و پنل ادمین») با زنجیره پرامپتهای اتمیک («گام ۱: فقط کارت نمایش محصول را بساز»).
- چرا شکستن کار به گامهای کوچک، خطای ایجنت را به صفر نزدیک میکند و تست خروجی را آسان میسازد.
- پرامپتهای چندرسانهای (Multimodal Visual Prompts):
- استفاده از اسکرینشات رابط کاربری: کشیدن دایره قرمز دور بخشی که چیدمانش به هم ریخته یا رنگش غلط است.
- ارسال تصویر یک نمونه واقعی (Inspiration) برای ساخت ظاهر مشابه در کد.
- الگوی گزارش دقیق باگ و خطا (Bug Reporting Pattern):
- چرا نباید بنویسیم «دکمه کار نکرد» یا «خراب شد»؟
- فرمول گزارش خطا: ۱. چه کاری انجام دادم؟ ۲. چه خطایی در ترمینال رخ داد (کپی دقیق متن خطا)؟ ۳. چه انتظاری داشتم؟
- کالاوتهای 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/قرار گرفته و در قالب جدول تکخانهای وسطچین با کپشن تفصیلی درج شوند:
- تصویر کاور درس:
images/cover.png- موضوع: کاور با تم تیره که پرامپت ساختیافته را مانند یک معمار در حال چیدن آجرهای کد منظم و دیجیتال نشان میدهد.
- فرمول چهارگانه پرامپت نرمافزاری:
images/vibe-prompt-formula.png- موضوع: اینفوگرافیک ۴ قطعه پازل: بافت (Context)، هدف (Objective)، محدودیتها (Constraints)، و معیار قبولی (Acceptance Criteria).
- اصل اتمیک بودن در برابر انفجار مگاپرامپت:
images/atomicity-vs-megaprompt.png- موضوع: مقایسه تصویری: یک درخواست غولپیکر که ایجنت را گیج میکند در برابر ۳ پله کوچک و متوالی که یکییکی با موفقیت سبز میشوند.
- جادوی اسکرینشات و پرامپت بصری:
images/multimodal-prompting.png- موضوع: نمونه کاربردی فرستادن یک اسکرینشات با حاشیهنویسی ساده به ایجنت و اصلاح دقیق استایل دکمه در اولین تلاش.
- چرخه صحیح گزارش و رفع خطا:
images/error-reporting-loop.png- موضوع: فلوچارت ارسال متن لاگ خطا
\rightarrowتحلیل ایجنت\rightarrowاعمال پچ اصلاحی\rightarrowتست مجدد توسط کاربر.
- موضوع: فلوچارت ارسال متن لاگ خطا
۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (README.md)
- تیتر اصلی:
# اصول مهندسی پرامپت در وایب کدینگ - مقدمه: چرا نحوه حرف زدن شما با ایجنت، تفاوت بین یک محصول حرفهای و یک پروژه به بنبست خورده است؟
- جدول کاور درس
- تفاوت پرامپت کدنویسی با چت روزمره: عبور از «کد بنویس» به سمت مشخصهسازی دقیق نیازمندی.
- فرمول چهاربخشی پرامپت وایب کدینگ: تشریح بافت، هدف، محدودیتها و شرایط پذیرش با یک مثال ملموس.
- باکس نمونه Quera (
<details class="violet">): کالبدشکافی یک پرامپت بد در برابر یک پرامپت استاندارد مهندسیشده. - قانون طلایی اتمیک بودن (One Step at a Time): چرا باید پروژه را لقمهلقمه به هوش مصنوعی تحویل دهیم؟
- باکس هشدار Quera (
<details class="red">): خطرات مرگبار مگاپرامپتها در نابودی معماری پروژه. - قدرت پرامپتهای تصویری (Multimodal): چگونه یک تصویر، کار صد کلمه توضیح گیجکننده را انجام میدهد؟
- هنر گزارش خطا: چگونه باگها را به هوش مصنوعی تحویل دهیم؟: نحوه کپی کردن لاگ، بیان انتظار و حل سیستماتیک مشکل.
- جمعبندی درسنامه: تمرین مهارت پرامپتنویسی به عنوان زبان مادری سازندگان آینده.
۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- فرمول چهاربخشی پرامپتنویسی نرمافزار به وضوح آموزش داده شده باشد.
- اصل اتمیک بودن به همراه مثال واقعی در متن جا افتاده باشد.
- روش ارسال خطاها با کپی کردن لاگ و متن کامل کنسول در برابر ارسال جملات گنگ تبیین شده باشد.
- کالاوتهای کوئرا با محتوای کاربردی و قالب متنی تمیز درج شده باشند.