🌟 مرور کلی
به ماژول دوم خوش آمدید. اگر ماژول اول درباره درک “موتور” هوش مصنوعی بود، ماژول دوم درباره یادگیری “نحوه رانندگی” با آن است.
مهندسی پرامپت (Prompt Engineering) هنر و تمرین طراحی ورودیها (دستورات) برای دریافت بهترین خروجی ممکن از مدلهای زبانی بزرگ (LLMs) است. بسیاری از کاربران ادعا میکنند “هوش مصنوعی خنگ است” یا “جوابی که میخواستم را نداد”، صرفاً به این دلیل که با LLMها مانند موتور جستجوی گوگل رفتار میکنند.
هوش مصنوعی جستجو نمیکند؛ بلکه تولید (Generate) میکند. برای دریافت خروجی باکیفیت، باید محدودیتها، زمینه (Context) و دستورالعملهای فرمتبندی باکیفیتی ارائه دهید.
در این بررسی عمیق و طولانی، ما آناتومی یک پرامپت کامل را پوشش میدهیم، چندین چارچوب پرامپتنویسی را بررسی میکنیم، ۱۵ مثال دقیق از “قبل و بعد” ارائه میدهیم، و تکنیکهای پیشرفتهای مانند متا-پرامپتینگ (Meta-Prompting) و استدلال زنجیره افکار (CoT) را تحلیل میکنیم.
🏗️ ۱. آناتومی یک پرامپت بینقص: چارچوب CREATE
یک پرامپت در سطح جهانی، فقط یک جمله ساده نیست. بلکه یک “سند کوچک” با ساختار دقیق است. اگرچه برای یک سوال ساده به همه این عناصر نیاز ندارید، اما جریانهای کاری پیچیده نیازمند استفاده از چارچوب CREATE هستند:
نمودار تفکیک ساختار پرامپت مهندسیشده شامل زمینه، نقش، معیارهای ارزیابی و خروجی ساختاریافته
- زمینه (C – Context): شما کی هستید و وضعیت پسزمینه چیست؟ (مثال: “من یک برنامهنویس جونیور فرانتاند هستم که روی یک اپلیکیشن React کار میکنم…”)
- نقش (R – Role): هوش مصنوعی قرار است چه کسی باشد؟ (مثال: “به عنوان یک معمار ارشد نرمافزار بسیار سختگیر عمل کن…”)
- وظیفه صریح (E – Explicit Task): دقیقاً چه میخواهید؟ از افعال معلوم و دستوری استفاده کنید. (مثال: “کد پیوست شده را بررسی کن و نشت حافظه را پیدا کن…”)
- مخاطب (A – Audience): خروجی برای چه کسی است؟ (مثال: “راهحل را طوری توضیح بده که یک دانشآموز تازهکار متوجه شود…”)
- لحن و فرمت (T – Tone & Format): متن باید چگونه به نظر برسد؟ (مثال: “لحن را حرفهای نگه دار. نتایج را حتماً در یک جدول مارکداون خروجی بده…”)
- مثالها (E – Examples – اختیاری): فقط دستور ندهید، الگو نشان دهید. (مثال: “در اینجا یک نمونه از اینکه خروجی خوب باید چگونه باشد آورده شده است…”)
🛠️ ۲. بررسی عمیق تکنیکهای اصلی پرامپتنویسی
۲.۱. پرامپتنویسی بدون نمونه (Zero-Shot Prompting)
درخواست از مدل برای انجام یک کار بدون ارائه هیچگونه مثال قبلی. شما کاملاً به دانش از پیش آموزشدیده مدل تکیه میکنید.
پرامپت: “عبارت زیر را به زبان فرانسوی ترجمه کن: ‘کتابخانه کجاست؟'”
- بهترین کاربرد: سوالات واقعی ساده، ترجمه پایه، دانش عمومی.
۲.۲. پرامپتنویسی با چند نمونه (Few-Shot Prompting)
ارائه چند نمونه (معمولاً ۳ تا ۵ مورد) به مدل برای ایجاد یک الگوی مشخص، لحن خاص، یا قانون فرمتبندی که مدل باید از آن تقلید کند.
پرامپت:
احساس (Sentiment) متن و احساس اصلی آن را دستهبندی کن.
متن: من واقعاً عاشق این گوشی جدیدم هستم! -> احساس: مثبت، هیجان: شادی
متن: پشتیبانی مشتری به شدت کند بود. -> احساس: منفی، هیجان: ناامیدی
متن: بسته پستی روز سهشنبه به دستم رسید. -> احساس: خنثی، هیجان: هیچکدام
متن: وقتی برنامه تمام اطلاعاتم را پاک کرد خیلی ترسیدم! -> احساس: منفی، هیجان: ترس
متن: من کمی عصبانی هستم اما محصول کار میکند. -> احساس:
۲.۳. زنجیره افکار (Chain-of-Thought – CoT)
مدلهای LLM به طور پیشفرض در ذهن خود “فکر نمیکنند”؛ آنها بلافاصله کلمات را بیرون میدهند. تکنیک CoT مدل را مجبور میکند تا قبل از دادن پاسخ نهایی، استدلال خود را مرحله به مرحله بنویسد. این کار از پرش مدل به نتیجهگیریهای توهمی جلوگیری میکند.
پرامپت: “یک کشاورز ۱۵ گوسفند دارد. همه به جز ۸ تا میمیرند. چند گوسفند باقی مانده است؟ مرحله به مرحله فکر کن و دلیل منطقی خود را قبل از دادن عدد نهایی به وضوح توضیح بده.“
- چرا این روش کار میکند؟ با مجبور کردن مدل به تولید توکنهایی که منطق را توضیح میدهند، به مکانیسم “توجه” (Attention) آن یک باند فرود ریاضیاتی میدهد تا روی پاسخ درست فرود بیاید.
نمودار احتمالات توکنهای استدلال زنجیره افکار (CoT) در حین حل گامبهگام مسئله
۲.۴. پرامپتنویسی مبتنی بر نقش (Role-Based Prompting)
اختصاص دادن یک شخصیت متخصص به هوش مصنوعی باعث میشود مدل در لایههای پنهان خود، واژگان تخصصی و باکیفیت آن حوزه را استخراج کند.
پرامپت: “به عنوان یک کپیرایتر سئو در سطح جهانی عمل کن. تخصص تو رتبهبندی مقالات نرمافزاری (B2B SaaS) در صفحه اول گوگل است…”
- چرا این روش کار میکند؟ مدل، میلیونها پست فرمولهای اینترنتی را خوانده است. اگر نقشی تعیین نکنید، سبک نوشتن متوسطی را ارائه میدهد. اگر نقش “متخصص” بدهید، پیشبینی توکنهای خود را به ادبیات حرفهای محدود میکند.
۲.۵. پرامپتنویسی منفی (Negative Prompting)
اینکه صریحاً به مدل بگوییم چه کارهایی را نباید انجام دهد. مدلها مشتاق جلب رضایت شما هستند و اغلب مقدمههای غیرضروری (“حتماً، من میتوانم در این مورد کمک کنم!”) یا کلیشهها را اضافه میکنند.
پرامپت: “یک ایمیل خوشآمدگویی برای کاربران جدید ما بنویس. محدودیتهای منفی: از کلمات قلمبهسلمبه شرکتی (مثل ‘سینرژی’ یا ‘اهرم’) استفاده نکن. به هیچ وجه از ایموجی استفاده نکن. ایمیل را با ‘کاربر عزیز’ شروع نکن. متن نباید بیشتر از ۱۵۰ کلمه باشد.“
تأثیر پرامپت منفی در حذف عناصر ناخواسته و کنترل دقیق خروجی مدلهای هوش مصنوعی
🔄 ۳. تغییر و تحول: ۱۵ مثال از پرامپتهای قبل و بعد
در اینجا ۱۵ مثال از دنیای واقعی آورده شده است که نشان میدهد چگونه حرکت از ذهنیت “جستجو” به ذهنیت “مهندسی” خروجیها را به شدت بهبود میبخشد.
ماتریس آزمایشی بهینهسازی و تنظیم وزن کلمات در پرامپت برای دستیابی به خروجی دقیق
📝 دسته اول: نوشتن و تولید محتوا
| هدف | پرامپت ضعیف ❌ | پرامپت قوی ✅ |
|---|---|---|
| ایمیل مرخصی | “یک ایمیل برای مرخصی بنویس.” | “به عنوان یک کارمند حرفهای عمل کن. یک ایمیل کوتاه و مودبانه به مدیرم بنویس و برای تاریخ ۱۰ تا ۱۵ مهر مرخصی (PTO) درخواست کن. اشاره کن که تمام پروژههایم تحویل داده شدهاند و همکارم علی در غیاب من کارها را پوشش میدهد.” |
| ایدههای وبلاگ | “ایده برای وبلاگ ورزشی بده.” | “من یک وبلاگ برای زنان باردار علاقهمند به وزنهبرداری ایمن دارم. ۱۰ عنوان بسیار خاص و سئوشده برای وبلاگ تولید کن. موضوعات کلیشهای مثل ‘فواید ورزش’ را حذف کن.” |
| خلاصهسازی | “این مقاله را خلاصه کن.” | “نکات کلیدی این مقاله پیوست شده را دقیقاً در ۵ بولتپوینت خلاصه کن. خلاصه را طوری بنویس که یک دانشآموز دبیرستانی متوجه شود. مهمترین جمله در هر بولت را بولد (ضخیم) کن.” |
| بازنویسی | “این متن را بهتر کن: [متن]” | “به عنوان یک ویراستار خبره عمل کن. این متن را از نظر سرعت خوانش و گرامر بررسی کن. آن را طوری بازنویسی کن که کوبنده و متقاعدکننده باشد (مثل لحن معرفی محصولات اپل). زیر ۲۰۰ کلمه باشد.” |
| شبکههای اجتماعی | “یک توییت برای قهوه جدیدمون بنویس.” | “یک رشتهتوییت (۳ توییت پیاپی) بنویس و لاته پسته جدید کافه ما را معرفی کن. مخاطب هدف: دانشجویان پرمشغله. لحن: پرانرژی اما نه لوس. از هیچ هشتگی استفاده نکن.” |
💻 دسته دوم: کدنویسی و توسعه
| هدف | پرامپت ضعیف ❌ | پرامپت قوی ✅ |
|---|---|---|
| دیباگ کردن (رفع باگ) | “کد من را درست کن: [کد]” | “من در حال نوشتن یک کامپوننت React هستم. این کد: [کد] وقتی کاربر روی ‘تایید’ کلیک میکند در خط ۴۲ ارور ‘Null Reference’ میدهد. باگ را پیدا کن، دقیقاً توضیح بده چرا اتفاق افتاده، و بلوک کد اصلاحشده را بده.” |
| نوشتن اسکریپت | “یک ربات برای دیجیکالا بنویس.” | “یک اسکریپت پایتون با استفاده از کتابخانه Playwright بنویس که عنوان و قیمت محصولات را از یک URL مشخص استخراج کند. صفحهبندی (Pagination) را تا ۳ صفحه مدیریت کن. دادهها را در یک فایل JSON تمیز خروجی بده. کامنتهای خطی برای توضیح منطق اضافه کن.” |
| کد ریویو (Code Review) | “آیا این کد خوبه؟” | “به عنوان یک مهندس ارشد (Senior Principal Engineer) عمل کن. یک بررسی کد بسیار سختگیرانه روی این قطعه کد پایتون انجام بده. تمرکزت کاملاً روی آسیبپذیریهای امنیتی، عملکرد الگوریتم (Big-O) و رعایت استانداردهای PEP-8 باشد.” |
| دیتابیس / SQL | “یک کوئری برای پیدا کردن کاربرا بده.” | “یک کوئری PostgreSQL بنویس تا تمام کاربرانی که در ۳۰ روز گذشته ثبتنام کردهاند اما هیچ خریدی نداشتهاند را پیدا کند. جداول ما users (id, created_at) و orders (id, user_id, amount) هستند. حتما از LEFT JOIN استفاده کن.” |
| عبارات باقاعده (Regex) | “یک رجکس برای ایمیل بنویس.” | “یک عبارت باقاعده (نسخه JavaScript) بنویس که فقط ایمیلهای شرکتی را که دقیقاً به ‘.com’ یا ‘.org’ ختم میشوند مطابقت دهد. باید ایمیلهای جیمیل و یاهو را نادیده بگیرد. نحوه کار این رجکس را مرحله به مرحله توضیح بده.” |
📊 دسته سوم: کسبوکار و تحلیل
| هدف | پرامپت ضعیف ❌ | پرامپت قوی ✅ |
|---|---|---|
| استخراج داده | “اسمها را از این متن پیدا کن.” | “تمام نامهای اشخاص و نامهای شرکتها را از متن زیر استخراج کن. نتایج را اکیداً فقط در قالب یک جدول مارکداون (Markdown) با دو ستون خروجی بده: ‘نام’ و ‘نوع موجودیت’. هیچ متن اضافهای قبل و بعد جدول ننویس.” |
| طوفان فکری (Brainstorming) | “چطور اپلیکیشنم را مارکتینگ کنم؟” | “من در حال لانچ یک اپلیکیشن مدیریت بودجه برای فریلنسرها هستم. ۵ سوال تخصصی درباره بودجه بازاریابی من، زمانبندی و ویژگیهای خاص اپلیکیشن بپرس. منتظر بمان تا من جواب دهم. بعد از جوابهای من، یک استراتژی بازاریابی ۳۰ روزه تدوین کن.” |
| آمادگی مصاحبه | “کمک کن برای مصاحبه آماده بشم.” | “به عنوان یک مدیر استخدام سختگیر برای موقعیت ‘طراح ارشد UX’ در گوگل عمل کن. هر بار فقط یک سوال فنی از من بپرس. منتظر جواب من بمان. جواب من را نقد کن، و سپس سوال بعدی را بپرس.” |
| ترجمه | “این را به اسپانیایی ترجمه کن.” | “متن تبلیغاتی زیر را به زبان اسپانیایی مکزیکی ترجمه کن. مطمئن شو که لحن کاملاً محاورهای و کوچهبازاری است. از اسپانیایی رسمی (کاستیلیای اسپانیا) استفاده نکن. طنز و شوخی متن اصلی را حفظ کن.” |
| یادگیری مفاهیم | “فیزیک کوانتوم را توضیح بده.” | “مفهوم پایه ‘درهمتنیدگی کوانتومی’ (Quantum Entanglement) را با استفاده از تشبیه یک جفت تاس جادویی توضیح بده. توضیح باید برای یک نوجوان باهوش ۱۲ ساله قابل درک باشد. متن را زیر ۳ پاراگراف نگه دار.” |
🇮🇷 ۴. نکات خاص و استراتژیهای پرامپتنویسی به زبان فارسی
کار با زبان فارسی در هوش مصنوعی چالشهای فنی و زبانی خاصی دارد.
نگاشت برداری و بازنمایی معنایی میانزبانی در فضای پنهان مدلهای هوش مصنوعی
۴.۱. مشکل ناکارآمدی توکنها (Token Inefficiency)
همانطور که در ماژول ۱ توضیح دادیم، متن فارسی توکنهای بسیار بیشتری نسبت به انگلیسی مصرف میکند.
- مشکل: اگر از هوش مصنوعی بخواهید یک مقاله بسیار طولانی فارسی بنویسد، ممکن است در وسط یک جمله ناگهان متوقف شود، زیرا به سقف خروجی توکن خود رسیده است.
- راهحل: به سادگی در پیام بعدی تایپ کنید “ادامه بده” یا “دقیقاً از همان جایی که قطع شدی ادامه بده”. مدل تولید متن را از سر میگیرد.
۴.۲. لحن کتابی در برابر لحن عامیانه (محاورهای)
مدلهای LLM به شدت روی ادبیات رسمی فارسی، وبسایتهای خبری و ویکیپدیا آموزش دیدهاند. اگر لحن را مشخص نکنید، هوش مصنوعی مانند یک گوینده اخبار رادیو صحبت میکند!
- استراتژی: برای محتوای شبکههای اجتماعی یا ایمیلهای دوستانه، باید صراحتاً لحن محاورهای را درخواست کنید.
- نمونه پرامپت: “این متن را با لحن کاملاً محاورهای، صمیمی و دوستانه (مثل صحبتهای روزمره مردم در تهران) بازنویسی کن. از کلمات قلمبهسلمبه استفاده نکن و فعلها را به شکل عامیانه بشکن (مثلاً میروم -> میرم).”
۴.۳. استراتژی “میانزبانی” برای کارهای پیچیده
مدلهای LLM به زبان انگلیسی بسیار بهتر “فکر” میکنند، زیرا مدارهای منطقی باکیفیت آنها روی دادههای انگلیسی شکل گرفته است. برای کارهای منطقی بسیار پیچیده (مثل برنامهنویسی یا معماری سیستم)، پرامپتنویسی به زبان فارسی ممکن است هوش مدل را کاهش دهد.
- استراتژی: دستورالعملهای سیستم (پرامپت اصلی) را به زبان انگلیسی بنویسید، اما در نهایت بخواهید که خروجی را به فارسی ارائه دهد.
- نمونه پرامپت: *”Act as an expert data analyst. Read the following data. Perform a complex trend analysis. Output your final analysis entirely in fluent, professional Persian.*“*
🚀 ۵. تکنیکهای پیشرفته (Advanced Techniques)
۵.۱. زنجیره پرامپت (Prompt Chaining)
به جای اینکه در یک پرامپت غولپیکر درخواستهای متعددی کنید (که باعث گیج شدن مدل میشود)، کار را به دنبالهای از پرامپتهای پیوسته بشکنید.
- پرامپت ۱: “تمام آمار و ارقام و حقایق خام را از این سند ۱۰ صفحهای استخراج کن و به صورت لیست بولتدار به من بده.”
- پرامپت ۲: “عالی. حالا آن حقایق را بر اساس ترتیب زمانی وقوع (کرونولوژیک) مرتب کن.”
- پرامپت ۳: “بینقص است. حالا بر اساس آن جدول زمانی، یک مقاله خبری ۵۰۰ کلمهای بنویس. از هیچ اطلاعاتی خارج از این حقایق استفاده نکن.”
چارچوب استدلال چندمرحلهای و تولید افکار میانی (ReAct Loop) برای تصمیمگیری گامبهگام هوش مصنوعی
۵.۲. متا-پرامپتینگ (Meta-Prompting – درخواست از مدل برای نوشتن پرامپت)
آیا در نوشتن یک پرامپت خوب مشکل دارید؟ هوش مصنوعی را مجبور کنید این کار را برای شما انجام دهد!
پرامپت: “من میخواهم یک پرامپت تصویرسازی بسیار دقیق برای تولید یک شهر سایبرپانک آیندهنگرانه در میدجرنی بنویسم. من اصطلاحات تخصصی عکاسی و نورپردازی را بلد نیستم. لطفاً ۵ سوال درباره حس و حال، رنگها و سوژههایی که میخواهم از من بپرس. وقتی جواب دادم، بهترین و بهینهترین پرامپت ممکن را برای من تولید کن تا آن را کپی کنم.”
۵.۳. خود-سازگاری (Self-Consistency) برای ریاضی و منطق
از مدل بخواهید چندین مسیر استدلالی مختلف تولید کند و سپس رایجترین پاسخ را انتخاب کند.
پرامپت: “این مسئله ریاضی را حل کن. ۳ روش کاملاً متفاوت و مرحله به مرحله برای حل آن تولید کن. سپس پاسخهای نهایی این ۳ روش را با هم مقایسه کن. اگر یکسان بودند، پاسخ نهایی را اعلام کن. اگر تفاوت داشتند، ریاضیات خود را دوباره ارزیابی کن.”
خط لوله آموزش استدلالی، نمونهبرداری و فیلترینگ پاسخهای خود-سازگار (Self-Consistency Pipeline)
🛠️ ۶. تمرینهای عملی جامع کارگاه
ارتباط پرامپتهای ساختیافته با ابزارها و فراخوانی توابع عملیاتی در محیطهای تمرینی
تمرین ۱: جعبهشنی اصلاح و تکرار (Iterative Refinement)
یک پرامپت معمولی بردارید و چارچوب CREATE را مرحله به مرحله روی آن اعمال کنید.
۱. مرحله ۱: بپرسید: “یک نامه پوششی (Cover Letter) برای شغل مارکتینگ بنویس.” (خروجی را بخوانید. متوجه میشوید چقدر کلیشهای و خستهکننده است).
۲. مرحله ۲ (افزودن نقش و زمینه): “به عنوان یک کپیرایتر جسور و با اعتمادبهنفس عمل کن. یک Cover Letter برای موقعیت مدیر ارشد بازاریابی در یک استارتاپ سریع و پویا در حوزه هوش مصنوعی بنویس.”
۳. مرحله ۳ (افزودن محدودیتها): “نامه قبلی را اصلاح کن. آن را دقیقاً در ۳ پاراگراف بنویس. از کلماتی مثل ‘پرشور’، ‘تیمپلیر’ یا ‘مفتخرم’ اکیداً استفاده نکن. یک لیست از ۳ دستاورد شغلی خیالی به صورت بولتدار در وسط نامه اضافه کن.”
تمرین ۲: شکستن محدودیت فرمت (Jailbreaking Format)
از هوش مصنوعی بخواهید دادهها را در قالبی خروجی دهد که معمولاً در آن مشکل دارد.
- پرامپت: “۵ کشور بزرگ جهان از نظر جمعیت را لیست کن. نتایج را اکیداً فقط به عنوان یک آرایه JSON از آبجکتها خروجی بده. هر آبجکت باید کلیدهای: ‘country_name’ و ‘population’ و ‘capital’ را داشته باشد. هیچ متن محاورهای قبل یا بعد از بلوک JSON ننویس.”
⚠️ ۷. بررسی عمیق: تلهها و اشتباهات رایج
آسیبپذیری تزریق پرامپت (Prompt Injection) و نحوه نادیده گرفتن دستورالعملهای سیستمی توسط ورودی نامعتبر
تزریق پرامپت چندوجهی (Multimodal Prompt Injection) پنهانشده در دادههای بصری
- اصل “ورودی زباله، خروجی زباله” (GIGO): اگر پرامپت شما تنبلانه و کوتاه باشد، خروجی هوش مصنوعی هم تنبلانه خواهد بود.
- سرریز کردن اطلاعات زمینه (Overloading the Context): یک PDF پنجاه صفحهای را آپلود نکنید و فقط بگویید “این را خلاصه کن” بدون اینکه بگویید روی چه چیزی تمرکز کند. مدل توجه خود را از دست میدهد. در عوض بگویید “ریسکهای مالی ذکر شده در این سند را خلاصه کن.”
- مفروضات پنهان: فرض نکنید که مدل صدای برند شرکت شما را میشناسد. مدل ذهنخوان نیست. باید در هر پرامپت در ۳ جمله خلاصه صدای برند خود را بنویسید (یا از قابلیت Custom Instructions استفاده کنید).
- نادیده گرفتن محرکهای توهم (Hallucination Triggers): پرسیدن سوالاتی درباره پروژههای مخفی یا دیتای غیرعمومی، مدل را وادار به دروغگویی میکند. همیشه این جمله نجاتبخش را اضافه کنید: “اگر پاسخ در متن ارائه شده نیست، صریحاً بگو ‘نمیدانم’ و چیزی را اختراع نکن.”
🔗 ۸. منابع گلچینشده برای استاد شدن در پرامپت
- Learn Prompting (دوره رایگان و متنباز) – دایرهالمعارف تکنیکهای پرامپتنویسی.
- آموزش تعاملی مهندسی پرامپت Anthropic – عالی برای یادگیری قلقهای خاص مدل کلود.
- بهترین روشهای مهندسی پرامپت از OpenAI – راهنمای رسمی از سازندگان ChatGPT.