آناتومی یک پرامپت کد خوب؛ زمینه، ورودی، خروجی، محدودیت

آناتومی یک پرامپت کد خوب؛ زمینه، ورودی، خروجی، محدودیت

⏱ زمان مطالعه: حدود ۵ دقیقه

خیلی از کسانی که تازه سراغ وایب کدینگ می‌روند، فکر می‌کنند تفاوت یک پرامپت خوب با یک پرامپت بد فقط در ادب یا طول جمله است. اما در عمل، مدل‌های کد مثل یک همکار تازه‌کار رفتار می‌کنند که هیچ پیش‌زمینه‌ای از پروژهٔ شما ندارد؛ هر چیزی که نگویید، حدس می‌زند و حدس‌های او همیشه درست از آب در نمی‌آید. یک پرامپت کد خوب از چهار جزء ثابت تشکیل شده: زمینه (context)، ورودی (input)، خروجی مورد انتظار (output) و محدودیت‌ها (constraints). اگر این چهار جزء را بلد باشید، دیگر مجبور نیستید سه یا چهار بار پرامپت را اصلاح کنید تا مدل بفهمد چه می‌خواهید.

چهار جزء یک پرامپت خوب

۱. زمینه (Context)

زمینه یعنی مدل بداند در چه پروژه‌ای، با چه زبان و فریم‌ورکی، و در چه بخشی از کد کار می‌کند. بدون زمینه، مدل ممکن است کدی بنویسد که از نظر فنی درست است اما با بقیهٔ پروژه هم‌خوان نیست.

بد: «یک فرم لاگین بساز.»

خوب: «در پروژهٔ Next.js با TypeScript و Tailwind، یک کامپوننت فرم لاگین بساز که از همان الگوی فرم‌های موجود در پوشهٔ components/forms پیروی کند.»

۲. ورودی (Input)

ورودی یعنی داده‌ها، پارامترها یا نمونه‌کدی که مدل باید روی آن کار کند. هرچه ورودی مشخص‌تر باشد، حدس‌زدن مدل کمتر می‌شود.

بد: «این تابع را بهینه کن.»

خوب: «این تابع calculateTotal را که آرایه‌ای از آیتم‌ها می‌گیرد و مجموع قیمت را برمی‌گرداند، بهینه کن؛ کد فعلی پایین آمده.»

۳. خروجی مورد انتظار (Output)

باید بگویید خروجی نهایی چه شکلی باید باشد: یک فایل کامل، یک تابع، یک دیف (diff)، یا فقط توضیح؟ بدون این جزء، مدل گاهی کل فایل را دوباره می‌نویسد وقتی شما فقط یک خط تغییر می‌خواستید.

تا اینجا مقدمه بود. بخش اصلی این درس — نمونه‌ها، پرامپت‌های آماده و تمرین‌ها — برای اعضای ویژه باز می‌شود.

🔒

آناتومی یک پرامپت کد خوب؛ زمینه، ورودی، خروجی، محدودیت

برای دیدن این بخش باید عضو ویژه (VIP) باشی. با شمارهٔ موبایلت وارد شو تا ۱۴ روز دسترسی رایگان فعال شود.

🎁 ورود / ثبت‌نام و شروع ۱۴ روز رایگان

قبلاً عضو شده‌ای؟ فقط کافی است وارد شوی. اشتراک: از ۱۹۹٬۰۰۰ تومان / ماه
— (0 رأی)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *