آیا تا حالا شده با یک مدل هوش مصنوعی مثل ChatGPT حرف بزنید و حس کنید پاسخ خوبی نمیدهد؟ یکبار عالی جواب میدهد و بار دیگر، با همان سوال، جوابی پرتوپلا تحویلتان میدهد؟ یا شاید دیدهاید که با اعتمادبهنفس کامل، اطلاعاتی میدهد که از بیخوبن غلط است؟ اگر این تجربهها را داشتهاید، به دنیای واقعی مدلهای زبانی بزرگ خوش آمدید. این مقاله یک راهنمای سطحی نیست؛ بلکه کالبدشکافی دقیق نحوه کارکرد این مدلهاست. ما میخواهیم بفهمیم زیر کاپوت این ماشینهای تولید متن چه میگذرد و چطور میتوانیم با مهندسی پرامپت یا همان Prompt Engineering، کنترل فرمان را از دست شانس و احتمالات بگیریم و به دست خودمان بسپاریم.
الفبای هوش مصنوعی مولد
قبل از اینکه سراغ تکنیکها برویم، باید چند اصطلاح کلیدی را که بسیار با آن سروکار خواهید داشت مرور کنیم:
۱. پرامپت (Prompt) و پاسخ (Response)
خیلی ساده است:
پرامپت: همان ورودی متنی، صوتی یا تصویری (Input) است که شما تایپ یا ارسال میکنید. این فقط یک سوال نیست؛ بلکه کدی است که به زبان طبیعی فارسی، انگلیسی و … مینویسید تا مدل را برای انجام یک کار خاص برنامهریزی کنید.
پاسخ: خروجی (Output) متنی است که مدل بر اساس پرامپت شما تولید میکند.
۲. توهم یا دادهسازی (Fabrication / Hallucination)
این پاشنه آشیل هوش مصنوعی است. گاهی مدل پاسخی میدهد که منطقی، روان و کاملا واقعی به نظر میرسد، اما در واقعیت هیچ ریشهای ندارد. چرا این اتفاق میافتد؟ چون مدلها معنی کلمات را مثل انسان نمیفهمند؛ آنها فقط کلمه بعدی را بر اساس احتمالات پیشبینی میکنند. اگر مدل نداند جواب چیست، ممکن است به جای گفتن نمیدانم، یک دروغ قشنگ ببافد.
۳. تفاوت مدل پایه (Base LLM) و مدل تنظیمشده (Instruction-tuned LLM)
همه مدلها یکسان خلق نشدهاند:
Base LLM: مثل یک دایرهالمعارف بسیار بزرگ است که روی حجم عظیمی از داده آموزش دیده. همهچیز را میداند اما نمیداند چطور باید با کاربر تعامل کند. اگر به او بگویید پایتخت فرانسه کجاست؟، ممکن است به جای جواب دادن، سوال دیگری بپرسد یا جمله را با و جمعیت آن چقدر است؟ ادامه دهد.
Instruction-tuned LLM: این مدلها روی مدل پایه سوار شدهاند و یاد گرفتهاند که دستورالعملها را دنبال کنند. آنها میدانند چطور خلاصه کنند، ترجمه کنند یا کد بنویسند. کاری که ما در مهندسی پرامپت انجام میدهیم، تعامل با این نوع مدلهاست.
چرا مهندسی پرامپت موضوع مهمی است؟
شاید بپرسید: چرا باید اینقدر روی کلمات وسواس داشته باشم؟ دلیلش یک ویژگی ذاتی در مدلهای هوش مصنوعی است به نام درجه تصادفی بودن یا Randomness.
بگذارید با یک مثال بگویم: اگر شما یک ماشین حساب داشته باشید و بزنید ۲+۲، همیشه ۴ تحویل میگیرید. اما در هوش مصنوعی اینطور نیست. اگر از مدل بپرسید یک داستان بنویس، هیچ تضمینی وجود ندارد که اگر فردا همین را بپرسید، همان داستان را بنویسد. حتی ممکن است کیفیتش هم فرق کند. این تصادفی بودن با پارامترهایی مثل Temperature کنترل میشود، اما هیچوقت صفر نمیشود.
مهندسی پرامپت یعنی تلاش برای کاهش این تصادفی بودن و تبدیل شانس به قطعیت. ما میخواهیم هر بار که پرامپت مینویسیم، بهترین، دقیقترین و مرتبطترین پاسخ را بگیریم، نه اینکه تاس بیندازیم.
چطور پرامپت حرفهای بنویسیم؟
در اینجا به قلب ماجرا میرسیم. طبق اصول مهندسی پرامپت، برای گرفتن خروجی عالی، باید از استراتژیهای زیر استفاده کنید:
۱. شفافیت و دستورالعملهای واضح
کلیگویی، دشمن کیفیت است. مدل باید دقیقا بداند چه میخواهید.
پرامپت ضعیف: درباره جنگ داخلی آمریکا بنویس. نتیجه: یک متن کلی و شاید بیهدف.
پرامپت مهندسی شده: یک مقاله ۳۰۰ کلمهای درباره جنگ داخلی آمریکا بنویس. روی شخصیتهای کلیدی و تاثیرات سیاسی آن تمرکز کن. خروجی را در دو پاراگراف تحویل بده. اینجا ما چند متغیر را کنترل کردیم: طول متن، موضوع تمرکز و فرمت خروجی.
۲. استفاده از محتوای اصلی
یادتان هست گفتیم مدلها توهم میزنند؟ بهترین راه برای جلوگیری از دروغ گفتن، تکنیک Grounding یا زمینهسازی است. در این روش، به جای اینکه به دانشِ حافظه مدل تکیه کنید، متن منبع را خودتان به او میدهید.
مثال:
با استفاده از متن زیر که درباره قلعه سامتر است، بگو چه کسی اولین شلیک را انجام داد؟ [متن پاراگراف ویکیپدیا درباره جنگ داخلی و قلعه سامتر]
با این کار، مدل مجبور میشود فقط از اطلاعاتی که شما دادید استفاده کند و احتمال دادهسازی به شدت کاهش مییابد.
۳. استفاده از سرنخها
گاهی مدل نیاز دارد هول داده شود! سرنخ، یعنی شروع کردن پاسخ برای مدل. مثال:
پرامپت: ۵ میوه محبوب را به ترتیب حروف الفبا لیست کن. سرنخ (که شما در انتهای پرامپت اضافه میکنید): ۵ میوه محبوب عبارتند از:
این کار مدل را در مسیری که میخواهید قفل میکند.
۴. جادوی مثالها
این یکی از قدرتمندترین بخشهای مهندسی پرامپت است. مدلهای زبانی الگوپذیر هستند. آنها عاشق این هستند که یک الگو را ببینند و تکرار کنند.
Zero-shot Prompting: شما فقط دستور میدهید و هیچ مثالی نمیزنید. مدل باید به دانش خودش تکیه کند.
مثل: این متن را خلاصه کن.
Few-shot Prompting: شما به مدل سرمشق یا الگو میدهید. این کار دقت را بهطرز عجیبوغریبی بالا میبرد.
مثال عملی: فرض کنید میخواهید مدل با یک سبک خاص قافیهدار جواب بدهد:
کاربر: “الف” برای انار، میوهای که تاج داره. “ب” برای بلوط، که توی جنگل بسیاره. حالا برای “س” بنویس.
مدل: “س” برای سیب، که سرخ و آبداره.
در اینجا مدل فقط “سیب” را پیدا نکرد؛ بلکه وزن، قافیه و ساختار جملهبندی شما را هم کپی کرد. این قدرت Few-shot است.

چرخه نوشتن یک پرامپت خوب
هیچ پرامپتنویس حرفهای در اولین تلاش به نتیجه ایدهآل نمیرسد. مهندسی پرامپت یک چرخه است:
نوشتن پرامپت اولیه.
بررسی پاسخ مدل.
اگر پاسخ خیلی کلی بود؟ اضافه کردن جزئیات.
اگر توهم زد؟ اضافه کردن Grounding (محتوای اصلی).
اگر فرمت بد بود؟ استفاده از تکنیک Few-shot و ارائه مثال.
تکرار تا رسیدن به نتیجه طلایی.
وقتی پرامپت نهایی را پیدا کردید، آن را به عنوان یک الگو ذخیره کنید تا بعدا بارها از آن استفاده کنید.
ابزارها و پلتفرمها برای تمرین
برای اینکه دستبهآچار شوید، غولهای تکنولوژی ابزارهایی را فراهم کردهاند:
OpenAI: با ابزارهایی مثل ChatGPT و Playground (برای تست پارامترها).
Hugging Face: بهشتی برای مدلهای متنباز که میتوانید مدلهای مختلف را تست کنید.
Azure AI Studio: پلتفرم مایکروسافت برای کسانی که میخواهند حرفهایتر و در مقیاس سازمانی کار کنند.
پیشنهاد ما؟ از محیطهای Sandbox یا Notebooks استفاده کنید تا بتوانید پارامترها را تغییر دهید و تاثیرش را ببینید.
اگر میخواهید با یک پرامپت خوب، لوگو یا آیکون 3بعدی بسازید این مطلب را بخوانید: افکت لوگوی سهبعدی متالیک
مهندسی پرامپت فقط خوب سوال پرسیدن نیست؛ بلکه مهارت هدایت یک هوش مصنوعی تصادفی به سمت یک خروجی قطعی و ارزشمند است. با درک تکنیکهایی مثل Few-shot Prompting و Grounding، شما دیگر کاربر ساده نیستید و با کلیت مهندسی پرامپت آشنایی دارید. پرامپتنویسی موضوع گستردهای است که آموزش آن در یک مقاله نمیگنجد. در مقالههای بعدی بهصورت دقیقتر و با مثالهای کاملا عملی پرامپتهای بیشتری را بررسی خواهیم کرد. اگر سوالی درباره پرامپت نویسی دارید در نظرات حتما مطرح کنید.
سوالات متداول (FAQ)
۱. چرا پاسخ مدل هر بار تغییر میکند؟
به دلیل ماهیت تصادفی بودن یا Randomness مدلها. آنها بر اساس احتمالات کلمه بعدی را انتخاب میکنند و پارامترهایی مثل Temperature این احتمالات را تغییر میدهند.
۲. چطور بفهمم مدل دارد توهم میزند؟
اگر مدل اطلاعاتی مثل آمار، تاریخ یا نقلقول داد که در پرامپت شما یا متن اصلی نبود، شک کنید. همیشه فکتها را چک کنید.
۳. بهترین راه برای یاد دادن فرمت خاص به مدل چیست؟
استفاده از Few-shot Prompting. یعنی یکی-دو مثال از فرمت دلخواهتان (ورودی و خروجی) به مدل بدهید تا الگو را یاد بگیرد.
۴. آیا مدلهای زبانی واقعا معنی حرف ما را میفهمند؟
نه واقعا. آنها پیشبینیکننده توکن هستند. آنها معنای فلسفی عشق یا جنگ یا احساسات را نمیفهمند، به زبان خیلی ساده، آنها فقط میدانند کدام کلمات معمولا کنار هم میآیند.


