خروجی مدل زبانی‌تان ناپایدار است؟ مشکل از مدل نیست؛ از ساختار ورودی است. پرامپت‌های بلند و بی‌سلسله‌مراتب، مدل را در اطلاعات بی‌ربط غرق می‌کنند. کیفیت ابتدا بالا می‌رود و سپس سقوط می‌کند — و این سقوط، قابل‌اندازه‌گیری است، نه نقص خلاقیت. الگوی ساختار معکوس، جایگاه درست محدودیت‌ها و روش ارزیابی پرامپت، سه ستونی‌اند که در ادامه عملیاتی باز می‌شوند.

مهندسی پرامپت چیست و چرا برای خروجی پایدار لازم است؟#

مهندسی پرامپت (Prompt Engineering) طراحی ساختارمند ورودی یک مدل زبانی بزرگ (LLM) است تا خروجی تکرارپذیر و قابل‌اتکا تولید کند. بدون این طراحی، همان مدل با ورودی‌های نامنظم پاسخ‌های متناقض می‌دهد و هزینه‌ی پنهانش — توکن‌های هدررفته و زمان بازنویسی کاربر — در مقیاس محصول جدی می‌شود.

تفاوت «نوشتن پرامپت» با «مهندسی پرامپت» اینجا روشن می‌شود. نوشتن، عملی تک‌باره و خلاقانه است. مهندسی، فرایندی تکراری با معیار سنجش: بنویس، تست کن، اندازه بگیر، اصلاح کن. اگر مرحله‌ی اندازه‌گیری را حذف کنید، فقط پرامپت نوشته‌اید نه مهندسی.

جایگاه مهندسی پرامپت در چرخه‌ی توسعه‌ی AI#

بین مدل خام و محصول نهایی شکاف وجود دارد. مدل خام توانایی‌های عمومی دارد اما رفتار خاص محصول شما را نمی‌شناسد. مهندسی پرامپت همین شکاف را پر می‌کند: تبدیل توانایی عمومی به رفتار قابل‌پیش‌بینی.

این لایه اولین خط دفاع است. قبل از Fine-tuning یا RAG، باید مطمئن شوید ساختار پرامپت‌تان بهینه است. اصلاح ساختار پرامپت ارزان‌تر و سریع‌تر از تغییر مدل است — و در چرخه‌ی توسعه، این یعنی ساعت‌ها در برابر هفته‌ها.

مستر پرامپت چیست و چه فرقی با یک قالب ساده دارد؟#

مستر پرامپت (Master Prompt) یک پرامپت سیستمیِ کامل است که نقش، زمینه، محدودیت‌ها، فرمت خروجی و منطق شرطی را یکجا تعریف می‌کند. برخلاف قالب (Template) که فقط ساختاری پرشدنی است، مستر پرامپت رفتار مدل را در حالت‌های مختلف — از ورودی کامل تا ناقص و نادرست — پیش‌بینی و هدایت می‌کند.

قالب ساده جای‌نماهای پرشدنی دارد و بس: «متن زیر را به فارسی ترجمه کن: [متن]». مستر پرامپت اما تعریف می‌کند که اگر اصطلاح فنی بود چه کند، اگر لحن رسمی نبود چه کند، اگر ورودی ناقص بود سؤال بپرسد نه حدس بزند. این تفاوت ظاهراً کوچک، در عمل مرز بین خروجی قابل‌اتکا و خروجی شانسی است.

چرا مستر پرامپت برای تیم‌ها و محصولات لازم است؟#

استفاده‌ی شخصی با قالب کار می‌کند. شما خودتان پرامپت را می‌نویسید و می‌دانید چه انتظاری دارید. اما در محصول، صدها کاربر با ورودی‌های متنوع وارد می‌شوند. بدون مستر پرامپت، هر کاربر خروجی متفاوتی می‌گیرد و کیفیت محصول نوسان می‌کند.

مستر پرامپت یک قرارداد رفتاری است. مدل را مجبور می‌کند در هر حالت — حتی حالت‌های خطا — یکسان عمل کند. الگوی تکرارشونده در پروژه‌های اعضای کامیونیتی: تیم‌هایی که مستر پرامپت را دیر تعریف می‌کنند، ماه‌ها بعد با گزارش‌های ناسازگاری خروجی مواجه می‌شوند که ریشه‌شان در نبود همین قرارداد است.

ساختار یک مستر پرامپت قابل‌اتکا#

پنج مؤلفه‌ی اصلی مستر پرامپت عبارت‌اند از: نقش (Role)، زمینه (Context)، محدودیت‌ها (Constraints)، فرمت خروجی (Output Format) و مثال‌ها (Examples). ترتیب قرارگیری آن‌ها اهمیت دارد و الگوی «ساختار معکوس» — محدودیت‌ها در انتها — عملکرد بهتری می‌دهد.

لایه‌های شیشه‌ای مدولار با مدارهای نورانی که اجزای سازنده‌ی یک مستر پرامپت قابل‌اتکا را نمایش می‌دهند
هر لایه شفاف یک بخش مجزای پرامپت است؛ شفافیت یعنی هر جزء قابل بازبینی و جایگزینی باشد

مدل به نزدیک‌ترین توکن‌ها بیشتر توجه می‌کند. اگر محدودیت‌ها را اول بنویسید و بعد پرامپت را با جزئیات پر کنید، مدل آن‌ها را فراموش می‌کند. این ریشه‌ی پرامپت‌دهی افراطی (Over-prompting) است.

نمونه‌ی عملی: مستر پرامپت کپی‌رایتینگ فارسی#

نقش: تو یک کپی‌رایتر فارسی‌زبان با تخصص در لحن صمیمی و غیررسمی هستی.

زمینه: مخاطب، توسعه‌دهندگان ایرانی ۲۵ تا ۳۵ ساله‌اند که با ابزارهای AI کار می‌کنند.

محدودیت‌ها:
- حداکثر ۱۲۰ کلمه
- از اصطلاحات انگلیسی بدون توضیح استفاده نکن
- لحن: همکار باهوش، نه معلم
- بدون کلیشه‌های بازاریابی

فرمت خروجی: یک پاراگراف + یک فراخوان اقدام (CTA) یک‌خطی

اگر ورودی کاربر ناقص بود (مثلاً فقط «بنویس» بدون موضوع)، سؤال بپرس نه حدس.

ساختار معکوس است: نقش و زمینه اول، محدودیت‌ها و فرمت در انتها. مدل به انتهای پرامپت توجه بیشتری دارد و این ترتیب را رعایت می‌کند.

تکنیک‌های اصلی مهندسی پرامپت#

مهم‌ترین تکنیک‌ها شامل پرامپت‌دهی کم‌نمونه (Few-shot Prompting)، زنجیره‌ی تفکر (Chain-of-Thought)، پرامپت نقش (Role Prompting) و تجزیه‌ی وظیفه (Task Decomposition) هستند. هر کدام برای نوع خاصی از وظیفه مؤثرند و انتخاب نادرست تکنیک، پرامپت را شلوغ و بی‌اثر می‌کند.

پژوهش Brown و همکاران (۲۰۲۰) نشان داد چند نمونه‌ی درون‌پرامپت می‌تواند عملکرد مدل را روی وظایف جدید بدون به‌روزرسانی وزن‌ها بهبود دهد. این اساس Few-shot Prompting است. پژوهش Wei و همکاران (۲۰۲۲) نیز تأیید کرد که افزودن دستور «بیا مرحله‌به‌مرحله فکر کنیم» دقت استدلال چندمرحله‌ای را افزایش می‌دهد.

نمونه‌ی Few-shot برای طبقه‌بندی نظرات#

نظر را برچسب بزن: مثبت، منفی یا خنثی.

نظر: «سرعت ارسال عالیه ولی بسته‌بندی ضعیف بود»
برچسب: خنثی

نظر: «هرگز دوباره نمی‌خرم، کلاهبرداری بود»
برچسب: منفی

نظر: «دقیقاً همونی بود که انتظار داشتم»
برچسب: مثبت

نظر: «[نظر کاربر]»
برچسب:

سه نمونه کافی است. بیشتر از آن، پرامپت را شلوغ می‌کند و هزینه‌ی توکن بالا می‌رود بدون بهبود محسوس. این را در کلاس‌ها بارها دیده‌ایم: کاربران تازه‌کار ده نمونه می‌گذارند و فکر می‌کنند دقت بالاتر می‌رود. نمی‌رود.

پرامپت طولانی‌تر، خروجی بدتر: پدیده‌ی Over-prompting#

الگوی مشاهده‌شده در پروژه‌های واقعی: هرچه پرامپت بزرگ‌تر می‌شود، کیفیت خروجی ابتدا بالا و سپس سقوط می‌کند. این پدیده پرامپت‌دهی افراطی (Over-prompting) نام دارد و ریشه در محدودیت پنجره‌ی زمینه (Context Window) و پدیده‌ی «Lost in the Middle» دارد.

مدل‌های زبانی به ابتدای ورودی سیستمی و انتهای ورودی کاربر توجه بیشتری دارند — نه لزوماً ابتدای و انتهای کل متن. اطلاعات میانی، دقیقاً جایی که معمولاً جزئیات اضافه می‌شوند، کمترین وزن را می‌گیرند. این یافته در پژوهش Liu و همکاران (۲۰۲۳) با عنوان «Lost in the Middle» مستند شده است.

راه‌حل عملی: حذف، جابه‌جایی و سلسله‌مراتب#

سه گام برای رفع Over-prompting:

  1. حذف: هر جمله‌ای که مستقیماً روی خروجی تأثیر ندارد، حذف شود.
  2. جابه‌جایی: محدودیت‌ها و فرمت خروجی را به انتهای پرامپت منتقل کنید.
  3. سلسله‌مراتب: الگوی تکرارشونده در پروژه‌های اعضای کامیونیتی نشان می‌دهد وقتی پرامپت از مرز ۸۰۰ توکن عبور می‌کند، باید به پرامپت سیستمی + پرامپت کاربر تقسیم شود.

اشتباه رایج دیگری که باید حذف شود: «فقط بگو لطفاً و متشکرم». ادب تأثیر مستقیمی بر کیفیت خروجی ندارد. مدل زبانی معیار اخلاقی ندارد که بخواهد مؤدب بودن ورودی را پاداش دهد.

مهندسی پرامپت در برابر Fine-tuning و RAG#

مهندسی پرامپت، تنظیم دقیق (Fine-tuning) و تولید افزایشی با بازیابی (RAG) سه روش مکمل‌اند. انتخاب بین آن‌ها به حجم داده، تکرارپذیری موردنیاز و هزینه‌ی بهینه‌سازی بستگی دارد. این‌ها رقبا نیستند؛ هر کدام برای مرحله‌ای از چرخه‌ی توسعه کاربرد دارند.

معیارمهندسی پرامپتFine-tuningRAG
هزینه‌ی شروعتقریباً صفرنیاز به داده‌ی ساختارمند و GPUنیاز به پایگاه دانش و زیرساخت
زمان پیاده‌سازیساعتهفته تا ماهروز تا هفته
مناسب برایپروتوتایپ و تنظیم رفتارضعف سیستماتیک مدل در حوزهداده‌های حجیم و پویا
تکرارپذیریمتوسط (بسته به مدل)بالابالا
نیاز به کدنویسیخیربلهبله

الگوی ترکیبی در محصولات تولیدی: مستر پرامپت + RAG. مستر پرامپت رفتار و فرمت را کنترل می‌کند، RAG دانش به‌روز را تأمین می‌کند. این ترکیب پرامپت را کوتاه نگه می‌دارد و از Over-prompting جلوگیری می‌کند. تیم‌هایی که هر دو را هم‌زمان پیاده می‌کنند، معمولاً سریع‌تر به خروجی پایدار می‌رسند از تیم‌هایی که فقط روی یکی تمرکز می‌کنند.

ارزیابی کیفیت پرامپت: ۳ معیار و فرایند تکرار#

ارزیابی پرامپت یعنی سنجش سه معیار: تکرارپذیری (خروجی یکسان برای ورودی یکسان)، استحکام (Prompt Robustness — پایداری در برابر تغییرات جزئی ورودی) و دقت (صحت محتوایی خروجی). بدون این سه سنجش، شما پرامپت می‌نویسید ولی نمی‌دانید آیا واقعاً مهندسی کرده‌اید یا شانسی.

برای تکرارپذیری، پرامپت را با دمای صفر چند بار اجرا کنید و خروجی‌ها را مقایسه کنید. برای استحکام، ورودی کاربر را تغییرات جزئی بدهید — مثلاً یک کلمه حذف یا اضافه شود — و بررسی کنید مدل هنوز درست عمل می‌کند یا نه.

فرایند تکرار: از نوشتن تا اطمینان#

  1. پرامپت را بنویسید.
  2. با ۵ ورودی نمونه تست کنید (شامل ورودی‌های ناقص و نامتعارف).
  3. خروجی‌های نامطلوب را ثبت کنید.
  4. ساختار پرامپت را اصلاح کنید (نه فقط کلمات را عوض کنید).
  5. مجدداً تست کنید تا ۹۰٪ موارد مطلوب شوند.

اشتباه رایج: ارزیابی با یک تست و نتیجه‌گیری قطعی. یک خروجی خوب به‌معنای پرامپت پایدار نیست. باید تنوع ورودی‌ها را پوشش دهید.

ابزارها و فریمورک‌های مهندسی پرامپت#

LangChain برای زنجیره‌سازی پرامپت‌ها، DSPy برای بهینه‌سازی خودکار پرامپت و Prompt Engineering Guide برای مرجع تکنیک‌ها ابزارهای اصلی این حوزه هستند. انتخاب ابزار به سطح مهارت و نوع پروژه بستگی دارد.

LangChain مناسب توسعه‌دهندگانی است که پرامپت‌ها را در اپلیکیشن‌های چندمرحله‌ای استفاده می‌کنند. DSPy رویکرد «برنامه‌نویسیِ پرامپت» را ارائه می‌دهد: به‌جای نوشتن دستی، وظیفه را تعریف می‌کنید و فریمورک پرامپت را بهینه می‌کند. Prompt Engineering Guide (DAIR.AI) مرجع رایگان و به‌روز تکنیک‌هاست.

معیار انتخاب ساده است: تازه‌کارید → ابزارهای تعاملی مثل ChatGPT و Claude را مستقیم استفاده کنید. حرفه‌ای هستید → فریمورک‌های کدنویسی‌شده مثل LangChain و DSPy وارد چرخه‌ی توسعه‌تان می‌شوند.

چه‌زمانی مهندسی پرامپت کافی نیست؟#

وقتی وظیفه ساده است و پرامپت‌دهی بدون نمونه (Zero-shot Prompting) کافی است، وقتی داده‌های ساختارمند و حجیم دارید (RAG بهتر است)، یا وقتی مدل به‌طور سیستماتیک در آن حوزه ضعیف است (Fine-tuning لازم است) — در این سه حالت، مستر پرامپت نمی‌سازیم. ساختن مستر پرامپت برای وظیفه‌ای که یک جمله ساده حلش می‌کند، خود نوعی Over-prompting است.

شرط چهارم هم مهم است: نیاز به دقت عددی یا منطق ریاضی صلب. پرامپت نمی‌تواند جای محاسبه را بگیرد. اگر محصول شما به خروجی عددی دقیق نیاز دارد، باید ابزار محاسباتی (Calculator، Code Interpreter) متصل کنید، نه اینکه در پرامپت بنویسید «دقیق حساب کن».

نقشه‌ی تصمیم: وظیفه ساده → پرامپت کوتاه. وظیفه پیچیده با دانش پویا → مستر پرامپت + RAG. ضعف سیستماتیک مدل → Fine-tuning. نیاز به محاسبه → اتصال ابزار.

مهندسی پرامپت یک مهارت ساختارمند است، نه جادو. مستر پرامپت پایدار از سه چیز می‌آید: ترتیب درست مؤلفه‌ها، حذف اطلاعات بی‌ربط، و ارزیابی تکرارشونده. اگر این سه را رعایت کنید، ناپایداری خروجی از یک مشکل مبهم به یک متغیر قابل‌مدیریت تبدیل می‌شود.

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