مهندسی پرامپت چیست؟ ۸ تکنیک اصلی با نمونه فارسی
منتشرشده توسط فروشگاه پرامپت بهروزرسانی ۱۴۰۵/۰۷/۱۸
مهندسی پرامپت یعنی طراحی، آزمایش و بهبود دستورهایی که به مدلهای هوش مصنوعی میدهیم تا خروجی دقیق، قابل استفاده و قابل تکرار بگیریم. اگر پرامپتنویسی نوشتن یک دستور خوب است، مهندسی پرامپت روش سیستماتیک برای ساختن، سنجیدن و نگهداشتن همان دستور در کار واقعی است.
در این راهنما هشت تکنیک اصلی مهندسی پرامپت را با نمونه فارسی قابلکپی میبینید. نمونهها آموزشیاند و نتیجه هر مدل با نسخه، تنظیمات و اطلاعاتی که میدهید تفاوت میکند؛ پس هر تکنیک را روی کار خودتان آزمایش کنید.
مهندسی پرامپت چیست و چه فرقی با پرامپتنویسی دارد؟
پرامپت ورودیای است که به مدل زبانی میدهید؛ تعریف دقیق و اجزای آن در راهنمای پرامپت چیست آمده است. پرامپتنویسی معمولاً به نوشتن یک دستور برای یک کار اشاره دارد. مهندسی پرامپت یک قدم جلوتر میرود: دستور را مثل یک قطعه از فرایند کاری میبیند که باید با ورودیهای مختلف درست کار کند، خطاهایش شناسایی شود و نسخههای آن با هم مقایسه شوند.
به زبان ساده، تفاوت در تکرارپذیری است. یک پرامپت خوب ممکن است یک بار جواب عالی بدهد؛ پرامپتی که مهندسی شده، باید با ده ورودی متفاوت هم خروجی قابل قبول بدهد و وقتی خطا کرد، بدانید کدام بخش آن را اصلاح کنید.
۱. بدون نمونه یا با نمونه (Zero-shot و Few-shot)
در حالت «بدون نمونه» فقط کار را توضیح میدهید. در حالت «با نمونه» یک یا چند جفت ورودی و خروجی مطلوب هم میآورید تا مدل الگو را ببیند. وقتی قالب، لحن یا نوع دستهبندی برایتان مهم است، نمونهدادن معمولاً از توضیح طولانی مؤثرتر است.
بدون نمونه: «نظر مشتری زیر را مثبت، منفی یا خنثی دستهبندی کن.»
با نمونه:
نظرهای مشتری را در یکی از سه دسته مثبت، منفی یا خنثی قرار بده و فقط نام دسته را بنویس. نظر: «ارسال سریع بود ولی جعبه آسیب دیده بود.» دسته: خنثی نظر: «دقیقاً همان چیزی بود که میخواستم.» دسته: مثبت نظر: «[نظر جدید]» دسته:
نمونهها را متنوع انتخاب کنید. اگر همه نمونهها کوتاه یا همه مثبت باشند، مدل ممکن است همان ویژگی را هم تقلید کند.
۲. نقش و زمینه
نقشدادن («تو یک ویراستار هستی») بهتنهایی معجزه نمیکند؛ آنچه کیفیت را بالا میبرد زمینه است: مخاطب کیست، خروجی کجا استفاده میشود و چه اطلاعاتی در اختیار مدل نیست. نقش فقط وقتی مفید است که نوع دانش یا زاویه بررسی را مشخص کند.
بهعنوان ویراستار متنهای آموزشی برای مخاطب عمومی، متن زیر را بازبینی کن. زمینه: این متن در خبرنامه یک فروشگاه اینترنتی منتشر میشود و خوانندگان آن تخصص فنی ندارند. هدف: متن روانتر و کوتاهتر شود، بدون تغییر اطلاعات. متن: [متن]
۳. تقسیم کار به مراحل و برنامهریزی پیش از پاسخ
کارهای چندمرحلهای مثل تحلیل، مقایسه یا حل مسئله، وقتی به مراحل روشن تقسیم شوند خطای کمتری دارند. میتوانید از مدل بخواهید ابتدا برنامه کار را بنویسد و بعد اجرا کند، یا خودتان مراحل را مشخص کنید.
میخواهم بین دو پیشنهاد همکاری زیر یکی را انتخاب کنم. مراحل را به ترتیب انجام بده: ۱. معیارهای مقایسه را از متن دو پیشنهاد استخراج کن. ۲. هر پیشنهاد را با هر معیار مقایسه کن و منبع هر نکته در متن را بگو. ۳. ریسکها و اطلاعات ناموجود را جدا فهرست کن. ۴. فقط در پایان، جمعبندی و پیشنهاد خود را با دلیل بنویس. پیشنهاد اول: [متن] پیشنهاد دوم: [متن]
اگر کار خیلی بزرگ است، بهجای یک پرامپت طولانی از زنجیره پرامپت (تکنیک ۷) استفاده کنید.
۴. تعیین قالب خروجی
وقتی شکل پاسخ را مشخص نکنید، هر بار ممکن است قالب تازهای بگیرید. جدول، فهرست شمارهدار، چند بند با عنوان مشخص یا JSON با کلیدهای معین، خروجی را قابل مقایسه و قابل استفاده در ابزارهای دیگر میکند.
اطلاعات محصول را از متن زیر استخراج کن و فقط یک شیء JSON با این کلیدها برگردان: name، price، colors (آرایه)، warranty اگر مقداری در متن نیامده، مقدار آن را null بگذار و چیزی حدس نزن. متن: [توضیح محصول]
۵. محدودیتها و منع ساختن اطلاعات
مدلهای زبانی وقتی اطلاعات کافی ندارند ممکن است پاسخی باورپذیر اما نادرست بسازند. محدودیتهای صریح این خطر را کم میکنند، هرچند از بین نمیبرند. محدودیت را قابل بررسی بنویسید: «کوتاه بنویس» مبهم است؛ «حداکثر ۸۰ کلمه» قابل سنجش است.
فقط از اطلاعات متن زیر استفاده کن. اگر پاسخ سؤالی در متن نیست، بنویس «در متن نیامده» و حدس نزن. آمار، نام منبع یا نقلقولی که در متن نیست اضافه نکن. پاسخ حداکثر ۱۰۰ کلمه باشد. متن: [متن] سؤال: [سؤال]
۶. بازبینی توسط خود مدل
میتوانید از مدل بخواهید پیشنویس خود را با معیارهای مشخص بسنجد و سپس اصلاح کند. این روش برای پیدا کردن ناسازگاری با دستور، جاافتادن بخشها یا لحن نامناسب مفید است؛ اما جای بررسی انسانی ادعاها و اعداد را نمیگیرد.
پیشنویسی را که نوشتی با این معیارها بررسی کن: - آیا به همه سؤالهای بریف پاسخ داده شده است؟ - آیا اطلاعاتی آمده که در ورودی من نبود؟ - آیا طول و لحن مطابق دستور است؟ ابتدا فهرست مشکلات را بنویس، سپس نسخه اصلاحشده را ارائه کن.
۷. زنجیره پرامپت
بهجای یک دستور بزرگ، کار را به چند پرامپت پشت سر هم تقسیم کنید که خروجی هر کدام ورودی بعدی است. مزیت اصلی این روش این است که هر مرحله را جداگانه میبینید و اگر خطایی رخ داد، میدانید از کدام مرحله آمده است.
نمونه آموزشی برای نوشتن یک مقاله:
- پرامپت اول: از سؤالهای مخاطب و منابع شما، بریف و ساختار مقاله را بساز.
- پرامپت دوم: ساختار تأییدشده را بگیر و فقط پیشنویس هر بخش را بنویس.
- پرامپت سوم: پیشنویس را با بریف مقایسه کن و ادعاهای نیازمند منبع را علامت بزن.
بین مراحل خودتان خروجی را بخوانید و اصلاح کنید. نمونهای از این روش برای مقاله در پرامپت نوشتن مقاله سئو آمده است.
۸. ارزیابی پرامپت با مجموعه آزمون ثابت
بخش «مهندسی» در مهندسی پرامپت همینجاست. اگر پرامپتی را برای کار تکراری استفاده میکنید، چند ورودی واقعی و متنوع جمع کنید و هر نسخه پرامپت را روی همه آنها اجرا کنید. بدون این کار، نمیدانید تغییر یک جمله واقعاً نتیجه را بهتر کرده یا فقط روی یک نمونه خوششانس بودهاید.
- بین پنج تا ده ورودی انتخاب کنید که حالتهای عادی، دشوار و ناقص را پوشش دهند.
- معیارهای قبول را از قبل بنویسید؛ مثلاً «اطلاعات ساختگی ندارد»، «قالب جدول رعایت شده»، «کمتر از ۱۵۰ کلمه».
- هر نسخه پرامپت را روی همه ورودیها اجرا و نتیجه را در یک جدول ثبت کنید.
- در هر دور فقط یک بخش پرامپت را تغییر دهید تا اثر آن معلوم شود.
- نسخه برنده را با تاریخ و مدل استفادهشده ذخیره کنید؛ با تغییر مدل، آزمون را دوباره اجرا کنید.
خروجی زیر را با این معیارها ارزیابی کن و برای هر معیار «قبول» یا «رد» با یک دلیل کوتاه بنویس: [معیار ۱] [معیار ۲] [معیار ۳] خروجی: [متن خروجی]
ارزیابی با مدل کمک میکند، اما برای کارهای حساس، نتیجه را خودتان هم بررسی کنید.
یک نمونه کامل: از پرامپت ضعیف تا پرامپت مهندسیشده
فرض کنید یک فروشگاه اینترنتی لوازم آشپزخانه میخواهد برای پاسخ به پیامهای مشتری از هوش مصنوعی کمک بگیرد. این نمونه آموزشی و فرضی است و خروجیها بهعنوان نمونه رفتار رایج مدلها نوشته شدهاند، نه گزارش آزمایش روی یک مدل مشخص.
نسخه اول
به این پیام مشتری جواب بده: «سفارشم دیر رسیده، کی میرسه؟»
خروجی نمونه: «مشتری گرامی، از تأخیر پیشآمده عذرخواهی میکنیم. سفارش شما حداکثر تا ۴۸ ساعت آینده به دستتان میرسد و بهعنوان جبران، کد تخفیف ۱۰ درصدی برایتان ارسال میشود.»
نقد خروجی:
- زمان «۴۸ ساعت» از جایی نیامده است؛ مدل اطلاعات وضعیت ارسال را نداشته و عددی ساخته است.
- کد تخفیف وعدهای است که فروشگاه شاید اصلاً ندهد.
- لحن مؤدبانه است اما پاسخ هیچ اقدام واقعی، مثل شماره پیگیری یا راه تماس، ارائه نمیکند.
مشکل این خروجی «بد بودن مدل» نیست؛ پرامپت اطلاعات لازم را نداده و جلوی ساختن وعده را نگرفته است.
نسخه دوم
تو پاسخدهنده پیامهای پشتیبانی یک فروشگاه اینترنتی لوازم آشپزخانه هستی. اطلاعات سفارش: [وضعیت ارسال، شماره پیگیری، تاریخ ثبت] سیاستهای فروشگاه: [زمان معمول ارسال، شرایط جبران تأخیر یا «جبرانی نداریم»] پیام مشتری: «[متن پیام]» قواعد: - فقط از اطلاعات بالا استفاده کن؛ زمان رسیدن، تخفیف یا هدیهای که در سیاستها نیست وعده نده. - اگر وضعیت ارسال نامشخص است، صادقانه بگو در حال پیگیری هستیم و قدم بعدی را مشخص کن. - پاسخ حداکثر ۷۰ کلمه، با لحن محترمانه و ساده باشد. - در پایان، شماره پیگیری و راه تماس را بیاور.
خروجی نمونه: «سلام، از تأخیر عذرخواهی میکنیم. سفارش شما [تاریخ] تحویل شرکت پست شده و با کد پیگیری [کد] قابل پیگیری است. زمان معمول رسیدن [بازه] است. اگر تا پایان این بازه به دستتان نرسید، از بخش تیکتها خبر دهید تا موضوع را از طرف ما پیگیری کنیم.»
نقد خروجی: وعده ساختگی ندارد، اقدام بعدی روشن است و طول مناسب است. اما یک ضعف باقی مانده: اگر وضعیت سفارش «در انبار» باشد، پیام «تحویل پست شده» غلط میشود؛ پس پرامپت باید برای هر وضعیت راهنمایی جدا داشته باشد.
نسخه سوم و آزمون
در نسخه سوم یک خط اضافه میشود: «اگر وضعیت "در انبار" است، بگو سفارش هنوز ارسال نشده و تاریخ تقریبی ارسال را فقط از سیاستها بیاور.» سپس پرامپت با پنج پیام واقعی و متفاوت آزمایش میشود: مشتری عصبانی، مشتریای که سفارشش رسیده ولی ناقص است، پیامی بدون شماره سفارش، پیام کوتاه یککلمهای و پیامی که سؤال دیگری هم دارد. هر جا خروجی رد شد، فقط همان قاعده مرتبط اصلاح میشود. این همان چرخه طراحی، آزمون و اصلاح است که مهندسی پرامپت را از نوشتن یکباره جدا میکند.
نسخههای یک پرامپت برای موقعیتهای مختلف
یک پرامپت پایه را میتوان با تغییر چند جزء برای موقعیتهای مختلف تنظیم کرد. نمونه زیر پرامپت خلاصهسازی است در سه حالت.
خلاصه برای تصمیمگیری سریع مدیر
گزارش زیر را برای مدیری که فقط دو دقیقه وقت دارد خلاصه کن. خروجی: یک جمله نتیجه اصلی، سه نکته مهم، و یک تصمیمی که باید گرفته شود. اگر گزارش تصمیمی پیشنهاد نکرده، بنویس «تصمیم مشخصی پیشنهاد نشده». گزارش: [متن]
خلاصه برای یادگیری
متن زیر را برای کسی که تازه با این موضوع آشنا میشود خلاصه کن. اصطلاحات تخصصی را در یک جمله ساده توضیح بده و یک مثال روزمره بیاور. در پایان سه سؤال برای سنجش فهم مطرح کن. متن: [متن]
خلاصه برای بایگانی و جستوجوی بعدی
برای متن زیر یک خلاصه بایگانی بساز با این بخشها: موضوع، تاریخها و اعداد ذکرشده (عیناً)، افراد یا سازمانهای نامبرده، و پنج کلیدواژه برای جستوجو. فقط اطلاعات موجود در متن را بیاور. متن: [متن]
در هر سه نسخه، ورودی یکسان است اما مخاطب، هدف و قالب خروجی تغییر کرده است. اگر برای کار خود یک پرامپت پایه دارید، بهجای نوشتن دستور تازه برای هر موقعیت، همین سه جزء را تنظیم کنید.
عیبیابی: اگر خروجی اینطور بود، چه چیزی را تغییر دهیم؟
| مشکل خروجی | علت محتمل | چه تغییری بدهیم |
|---|---|---|
| پاسخ کلی و کلیشهای است | زمینه و مخاطب مشخص نیست | مخاطب، موقعیت استفاده و یک نمونه از خروجی مطلوب اضافه کنید. |
| اطلاعات یا عدد ساختگی دارد | داده لازم داده نشده یا منع جعل نیامده | داده را بدهید و بنویسید «اگر نمیدانی، بگو نمیدانم». |
| قالب هر بار عوض میشود | قالب خروجی تعریف نشده | ساختار دقیق را بنویسید یا یک نمونه خروجی کامل بدهید. |
| خیلی طولانی است | محدودیت طول مبهم است | عدد مشخص بدهید: تعداد کلمه، بند یا مورد. |
| بخشی از دستور اجرا نشده | دستورها زیاد یا پراکندهاند | دستورها را شمارهگذاری کنید یا کار را به چند پرامپت تقسیم کنید. |
| لحن مناسب نیست | لحن فقط با صفت توصیف شده | یک نمونه کوتاه از لحن مطلوب بیاورید. |
| مدل از ورودی شما تبعیت نمیکند و چیزی دیگر مینویسد | دستور و ورودی با هم مخلوط شدهاند | ورودی را با برچسب یا جداکننده مشخص از دستور جدا کنید. |
اشتباهات رایج در مهندسی پرامپت
- قضاوت با یک نمونه: یک خروجی خوب ثابت نمیکند پرامپت خوب است. با چند ورودی متفاوت آزمایش کنید.
- تغییر همزمان چند بخش: اگر نقش، قالب و محدودیت را با هم عوض کنید، نمیفهمید کدام تغییر اثر داشته است.
- دستورهای متناقض: «کامل و جامع بنویس» در کنار «حداکثر ۵۰ کلمه» مدل را بین دو هدف سردرگم میکند. اولویت را مشخص کنید.
- تکیه بر جملههای جادویی: عبارتهایی که دستبهدست میشوند جای زمینه و داده واقعی را نمیگیرند.
- نگهنداشتن نسخهها: بدون ذخیره نسخهها و نتیجه آزمون، بعد از چند هفته نمیدانید چرا یک پرامپت را تغییر دادهاید.
- واردکردن اطلاعات محرمانه: رمز، اطلاعات مشتری یا دادهای را که اجازه اشتراکش را ندارید در پرامپت نگذارید و شرایط استفاده از داده در ابزار را بررسی کنید.
- نپذیرفتن «نمیدانم»: اگر مدل را مجبور کنید همیشه پاسخ قطعی بدهد، احتمال ساختن اطلاعات بیشتر میشود.
پرسشهای رایج درباره مهندسی پرامپت
آیا برای مهندسی پرامپت باید برنامهنویس بود؟
خیر. بیشتر تکنیکهای این صفحه با زبان عادی انجام میشوند. برنامهنویسی فقط وقتی لازم میشود که بخواهید پرامپت را در یک نرمافزار یا فرایند خودکار به کار ببرید.
پرامپت را فارسی بنویسیم یا انگلیسی؟
برای خروجی فارسی میتوانید دستور را فارسی بنویسید. بهترین راه این است که هر دو نسخه را روی ورودیهای آزمون خود اجرا کنید و نتیجه را مقایسه کنید؛ برای پرامپت ابزارهای تصویرسازی، نسخه انگلیسی معمولاً رایجتر است.
پرامپت طولانی بهتر است یا کوتاه؟
طول معیار نیست. پرامپتی که هر جملهاش اطلاعات یا قاعده لازمی اضافه میکند میتواند طولانی باشد؛ جملههای تکراری یا متناقض را حذف کنید.
چند بار باید پرامپت را آزمایش کرد؟
عدد ثابتی وجود ندارد. برای کار تکراری، دستکم چند ورودی متنوع را که حالتهای دشوار را پوشش دهند آزمایش کنید و پس از هر تغییر مهم در پرامپت یا مدل، آزمون را تکرار کنید.
محدودیتهای مهندسی پرامپت
- تضمین درستی نیست: حتی بهترین پرامپت هم خطای واقعی مدل را صفر نمیکند. ادعاها، اعداد و منابع را پیش از استفاده بررسی کنید.
- مدلها متفاوتاند: پرامپتی که در یک مدل خوب کار میکند ممکن است در مدل یا نسخه دیگر نیاز به تنظیم داشته باشد؛ مقایسه مدلها در راهنمای مقایسه ChatGPT، Claude و Gemini آمده است.
- جای داده را نمیگیرد: اگر اطلاعات لازم را به مدل ندهید، هیچ تکنیکی آن را نمیسازد.
- طولانیتر همیشه بهتر نیست: دستورهای متناقض یا تکراری میتوانند نتیجه را بدتر کنند.
شرکتهای سازنده مدلها راهنماهای رسمی برای این کار منتشر کردهاند؛ برای نمونه، راهنمای رسمی مهندسی پرامپت Anthropic و راهنمای رسمی OpenAI. توضیحات این صفحه جمعبندی آموزشی ماست و جایگزین مستندات رسمی هر ابزار نیست.
از کجا شروع کنیم؟
اگر تازه شروع کردهاید، ابتدا روش ششمرحلهای نوشتن پرامپت حرفهای را روی یک کار واقعی اجرا کنید و سپس تکنیکهای این صفحه را یکییکی اضافه کنید. نمونههای قابلکپی در ۱۵ پرامپت آماده رایگان نقطه شروع خوبی برای آزمایشاند و مسیر کامل یادگیری در آموزش پرامپتنویسی آمده است. اگر برای کارهای تکراری به پرامپت آزمودهشده نیاز دارید، محصولات دسته محتوا و کپیرایتینگ یا پرامپت بازبینی کد در سطح سنیور را ببینید.
پرسشهای متداول
مهندسی پرامپت چیست؟
مهندسی پرامپت یعنی طراحی، آزمایش و بهبود دستورهای هوش مصنوعی تا خروجی دقیق، قابل استفاده و قابل تکرار بگیریم. تفاوت آن با پرامپتنویسی ساده، آزمودن دستور با ورودیهای مختلف و اصلاح سیستماتیک آن است.
مهمترین تکنیکهای پرامپتنویسی کداماند؟
نمونهدادن، تعیین زمینه، تقسیم کار به مراحل، مشخص کردن قالب خروجی، محدودیتهای صریح، بازبینی توسط خود مدل، زنجیره پرامپت و ارزیابی با مجموعه آزمون ثابت.
آیا مهندسی پرامپت درستی پاسخ را تضمین میکند؟
خیر. پرامپت خوب خطا را کم میکند اما صفر نمیکند و مدلهای مختلف نتیجه متفاوت میدهند؛ ادعاها و اعداد را پیش از استفاده بررسی کنید.
آخرین بهروزرسانی: ۱۴۰۵/۰۷/۱۸