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

مهندسی پرامپت چیست و چرا قانون حداقل مهم‌تر از طول پرامپت است؟#

مهندسی پرامپت (Prompt Engineering) طراحی ورودی مدل زبانی بزرگ (Large Language Model) برای گرفتن خروجی قابل‌اعتماد است و اصل حاکم بر آن، حداقل‌سازی پرامپت است نه بزرگ‌نمایی آن. هر توکن اضافی، هزینه‌ی API را بالا می‌برد و احتمال تداخل دستورالعمل‌ها را افزایش می‌دهد.

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

اینجا یک اشتباه رایج وجود دارد که در کلاس‌های مکرر تکرار می‌شود: زبان‌شناسیِ پرامپت را با نگارش ادبی اشتباه می‌گیرند. پرامپت شاعرانه، پرامپت بد است.

قانون حداقل پرامپت در عمل#

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

هزینه‌ی پنهان پرامپت بلند، خطی است. هر توکن ورودی، بهای API را به‌صورت خطی افزایش می‌دهد. در مقیاس تولید (production)، این تفاوت هزینه‌ی ماهانه‌ی قابل‌توجهی ایجاد می‌کند. حتی با پنجره‌ی زمینه (context window) بزرگ مثل 128K توکن در GPT-4 Turbo، پرامپت کوتاه‌تر هم ارزان‌تر است و هم اغلب خروجی دقیق‌تری تولید می‌کند.

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

مستر پرامپت (Master Prompt) یک قالب قابل‌نسخ‌برداری (reusable template) با متغیرهای مشخص است که در پروژه‌های مختلف با جایگزینی متغیرها استفاده می‌شود، نه یک پرامپت یک‌بارمصرف. مستر پرامپت یک سیستم است؛ پرامپت معمولی یک دستور.

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

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

مستر پرامپت نمونه (تولید محتوای فارسی): [نقش] تو یک نویسنده‌ی محتوای فارسی با 10 سال سابقه در حوزه‌ی [حوزه] هستی. [زمینه] مخاطب: [مخاطب]. هدف: [هدف]. لحن: [لحن]. [محدودیت] از جملات زیر 25 کلمه استفاده کن. اصطلاح انگلیسی را فقط بار اول با معادل فارسی بنویس. از کلیشه‌های فارسی‌زبان پرهیز کن. [فرمت] خروجی: یک مقاله با H1، سه H2 و یک جمع‌بندی. هر H2 با پاراگراف 40-60 کلمه‌ای شروع شود. [نمونه] ورودی: موضوع=«مهندسی پرامپت»، مخاطب=«برنامه‌نویس مبتدی» → خروجی: [نمونه‌ی کوتاه]

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

مستر پرامپت مؤثر از پنج لایه‌ی مجزا ساخته می‌شود که هر کدام کار مشخصی انجام می‌دهند و ترکیب آن‌ها ساختار قابل‌تکرار می‌سازد. حذف هر لایه، یک نقطه‌ی ضعف ایجاد می‌کند؛ افزودن لایه‌ی ششم معمولاً ضروری نیست.

پنج لایه‌ی شفاف با جنس‌های متفاوت روی هم چیده شده، نمایش‌دهنده‌ی ساختار چندلایه‌ی یک پرامپت حرفه‌ای
هر لایه یک تصمیم طراحی است

لایه‌ی نقش (Role Prompting)#

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

لایه‌ی زمینه (Context) و لایه‌ی محدودیت (Constraints)#

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

نکته‌ی کلیدی: محدودیت‌ها باید منفی باشند. «این کار را نکن» مؤثرتر از «این کار را بکن» است، چون مدل در حالت مثبت تمایل به تفسیر دارد. در حالت منفی، مرز مشخص است.

لایه‌ی فرمت خروجی (Structured Output) و لایه‌ی نمونه (Few-shot)#

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

لایه‌ی نمونه (Few-shot) یک یا چند مثال ورودی-خروجی است. یک مثال خوب، مؤثرتر از ده خط توضیح درباره‌ی خواسته است. اما اگر خروجی‌تان ساختارمند و تکراری است، چند نمونه‌ی متغیر بهتر از یک نمونه‌ی واحد عمل می‌کند.

few-shot، chain-of-thought و structured output: کدام تکنیک برای چه تکلیفی؟#

هر تکنیک مهندسی پرامپت برای نوع خاصی از تکلیف بهینه است. Chain-of-Thought برای استدلال ریاضی و منطقی، Few-shot برای الگوهای خروجی، و Structured Output برای داده‌های ساختارمند. اشتباه رایج: استفاده از همه‌ی تکنیک‌ها روی یک تکلیف ساده.

پرامپت‌نویسی zero-shot یعنی بدون مثال، مستقیم از مدل بخواهید. Few-shot یعنی با مثال. زنجیره‌ی تفکر (Chain-of-Thought) یعنی مدل را وادار کنید مراحل استدلال را بنویسد. این سه تکنیک مکمل نیستند؛ در بسیاری موارد، یکی از آن‌ها کافی است.

نمونه‌ی پرامپت few-shot (دسته‌بندی متن فارسی): متن: «قیمت مسکن در تهران 40 درصد افزایش یافت» → دسته: اقتصاد متن: «وزیر ورزش از میزبانی المپیک خبر داد» → دسته: ورزش متن: «[متن شما]» → دسته:

چه زمانی chain-of-thought واقعاً عملکرد را بهبود می‌دهد؟#

Chain-of-Thought برای تکالیف استدلالی چندمرحله‌ای مؤثر است: ریاضی، منطق، تحلیل علت و معلول. برای تکالیف تولیدی مثل نوشتن پاراگراف یا خلاصه‌سازی، زنجیره‌ی تفکر فقط توکن اضافی مصرف می‌کند و خروجی را بهتر نمی‌کند.

تفاوت رفتار پرامپت‌نویسی بین Claude و GPT: تکنیک‌ها جهانی نیستند. Claude به دستورالعمل‌های ساختارمند (XML-like tags) بهتر پاسخ می‌دهد، در حالی که GPT به پرامپت‌های روایی‌تر واکنش بهتری نشان می‌دهد. یک پرامپت که روی GPT خوب کار می‌کند، لزوماً روی Claude همان نتیجه را نمی‌دهد.

مهندسی پرامپت در برابر fine-tuning و RAG: مرز انتخاب#

مهندسی پرامپت جایگزین Fine-tuning و RAG (Retrieval-Augmented Generation) نیست؛ سه روش مکمل‌اند و انتخاب بین آن‌ها به ماهیت تکلیف، حجم داده و بودجه بستگی دارد. اشتباه رایج: تلاش برای حل همه‌ی مشکلات با پرامپت بلندتر.

معیارمهندسی پرامپتFine-tuningRAG
مناسب برایتکالیف متنوع و کم‌حجمتکالیف ساختارمند و تکراریپاسخ‌دهی به داده‌ی تازه
هزینه‌ی شروعکم (فقط توکن)زیاد (داده + GPU)متوسط (زیرساخت بازیابی)
انعطاف‌پذیریبالا (تغییر فوری)کم (نیاز به آموزش مجدد)متوسط (تغییر منبع داده)
دقت خروجیمتغیر (وابسته به پرامپت)ثابت و قابل‌پیش‌بینیوابسته به کیفیت بازیابی

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

نقش پنجره‌ی زمینه (Context Window) در طراحی پرامپت: هرچه پرامپت بلندتر، فضای کمتری برای پاسخ مدل باقی می‌ماند. GPT-4 Turbo با پنجره‌ی 128K توکن این محدودیت را کم کرده، اما حل نکرده است. در پروژه‌هایی که چند سند را همزمان وارد می‌کنید، هنوز باید پرامپت سیستمی را کوتاه نگه دارید.

اشتباهات رایج مهندسان پرامپت و هزینه‌ی over-prompting#

رایج‌ترین اشتباه، over-prompting است: دادن دستورالعمل‌های متناقض یا بیش‌ازحد که مدل را گیج می‌کند و خروجی را بدتر از پرامپت کوتاه‌تر می‌کند. هر دستورالعمل اضافی، یک متغیر تصادفی به سیستم اضافه می‌کند.

سه اشتباه پرهزینه که بارها در پروژه‌های واقعی تکرار شده‌اند:

  • دستورالعمل‌های متناقض: «مختصر بنویس» و «هر جزئیات را بیاور» در یک پرامپت. مدل هیچ‌کدام را کامل اجرا نمی‌کند.
  • نقش‌دهی بدون ضرورت: «تو یک استاد دانشگاه با 30 سال سابقه هستی» برای تکلیفی که فقط خلاصه‌سازی می‌خواهد. توکن اضافی، بدون بهبود خروجی.
  • فرض یک‌بار نوشتن: پرامپت اول به‌ندرت بهترین پرامپت است. ارزیابی تکراری (iterative refinement) بخشی از فرآیند است، نه نشانه‌ی ضعف.

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

ابزارهای مهندسی پرامپت از playgroundهای ساده‌ی رسمی تا فریمورک‌هایی مثل LangChain و DSPy طیف گسترده‌ای را پوشش می‌دهند. انتخاب ابزار به مقیاس پروژه بستگی دارد، نه به محبوبیت.

برای شروع، OpenAI Playground و Anthropic Console کافی‌اند. این دو، محیط تست مستقیم با امکان مقایسه‌ی خروجی‌ها هستند. نیازی به نصب چیزی نیست.

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

پیش‌نیازهای دانشی: آشنایی با نحوه‌ی کار مدل‌های زبانی بزرگ، توانایی تفکیک تکلیف به اجزای کوچک، و صبر برای تکرار و ارزیابی. نیاز به دانش برنامه‌نویسی نیست، اما درک ساختار داده (JSON، Markdown) کمک‌کننده است.

جمع‌بندی: از پرامپت‌نویسی تا مستر پرامپت‌سازی#

مستر پرامپت‌سازی یک فرآیند مهندسی است، نه هنر. پنج لایه‌ی ساختارمند، قانون حداقل، و ارزیابی تکراری، سه ستون اصلی‌اند. اگر می‌خواهید این مهارت را در پروژه‌های واقعی تمرین کنید و از Claude به‌عنوان ابزار اصلی‌تان استفاده کنید، آموزش جامع Claude و ابزارهای مشابه در کامیونیتی Claude اسکول، از صفر تا ساخت ایجنت هوش مصنوعی (AI Agent) عملی را پوشش می‌دهد.