پرامپت صفر شات و چند شات دو روش برای توضیح درخواست به هوش مصنوعی هستند. در روش صفر شات، فقط مسئله و دستور را مینویسید و هیچ نمونهای از پاسخ مطلوب ارائه نمیکنید؛ در روش چند شات، چند نمونهٔ سؤال و جواب یا ورودی و خروجی را هم به پرامپت اضافه میکنید تا الگوی موردنظر روشن شود.
تفاوت این دو روش فقط در تعداد مثالها نیست؛ انتخاب درست آنها روی دقت، لحن و قالب پاسخ اثر میگذارد. برای درخواستهای ساده، یک دستور روشن معمولاً کافی است؛ اما وقتی میخواهید مدل از یک الگوی خاص، مثل دستهبندی پیامها یا نوشتن کپشن با لحن مشخص، پیروی کند، چند شات کنترل بیشتری به شما میدهد.
پرامپت صفر شات چیست و چه زمانی کاربرد دارد؟
پرامپت صفر شات یا Zero-Shot Prompting یعنی از هوش مصنوعی میخواهید کاری را انجام دهد، بدون اینکه نمونهای از پاسخ درست در اختیارش بگذارید. مدل بر اساس دستور شما، دانش عمومی و تواناییهای زبانی خود، خروجی را تولید میکند.
برای نمونه، این یک پرامپت صفر شات است:
نمونه: «برای یک دانشآموز ۱۰ ساله توضیح بده چرا آسمان آبی دیده میشود. پاسخ را در سه پاراگراف کوتاه و با زبان ساده بنویس.»
در این مثال، هیچ متن نمونهای وجود ندارد؛ اما هدف، مخاطب، موضوع، طول و سبک پاسخ مشخص شده است. همین جزئیات باعث میشوند صفر شات به معنای درخواست مبهم نباشد.
این روش معمولاً برای کارهای زیر مناسب است:
- خلاصهکردن یک متن مشخص
- ترجمه یا بازنویسی ساده
- پاسخ به پرسشهای عمومی
- تولید فهرست ایدهها
- نوشتن متنی با قالب و لحن از پیش تعیینشده
پرامپت چند شات چیست؟
پرامپت چند شات یا Few-Shot Prompting علاوه بر دستور اصلی، چند مثال از ورودی و خروجی مطلوب دارد. این نمونهها به مدل نشان میدهند باید مسئله را چگونه تفسیر کند و پاسخ را با چه فرمتی تحویل دهد.
فرض کنید میخواهید پیامهای مشتریان را دستهبندی کنید. در پرامپت صفر شات مینویسید:
نمونهٔ صفر شات: «هر پیام را در یکی از این دستهها قرار بده: شکایت، پرسش، پیشنهاد یا تشکر.»
همین درخواست با چند شات میتواند چنین باشد:
نمونهٔ چند شات: «پیامها را در یکی از چهار دستهٔ شکایت، پرسش، پیشنهاد یا تشکر قرار بده.
پیام: بستهٔ من با سه روز تأخیر رسید.
دسته: شکایت
پیام: آیا امکان پرداخت در محل وجود دارد؟
دسته: پرسش
پیام: اگر امکان ارسال سریعتر اضافه شود، خرید بیشتری میکنم.
دسته: پیشنهاد
حالا این پیام را دستهبندی کن: کیفیت بستهبندی واقعاً خوب بود.»
در اینجا مدل فقط نام دستهها را نمیبیند؛ از مثالها میفهمد هر نوع پیام در عمل چگونه تفسیر میشود. پاسخ مورد انتظار، «تشکر» است.
تفاوت صفر شات و چند شات در یک نگاه
هر دو روش برای هدایت مدل به کار میروند، اما میزان توضیح و کنترل آنها متفاوت است.
- صفر شات: بدون نمونه، سریعتر و کوتاهتر است و برای وظایف روشن مناسبتر محسوب میشود.
- چند شات: با ارائهٔ نمونه، الگوی پاسخ را دقیقتر منتقل میکند و برای قالبها یا دستهبندیهای حساس کاربرد بیشتری دارد.
- صفر شات: اگر دستور مبهم باشد، احتمال دارد مدل پاسخ را با برداشت خودش تولید کند.
- چند شات: اگر نمونهها ناقص یا متناقض باشند، مدل ممکن است همان الگوی نادرست را ادامه دهد.
«چند شات» به معنی دادن اطلاعات آموزشی دائمی به مدل نیست. نمونهها فقط در همان گفتوگو و در محدودهٔ همان درخواست، نقش الگو دارند و معمولاً جایگزین آموزش یا تنظیم تخصصی مدل نمیشوند.
چطور یک پرامپت صفر شات دقیق بنویسیم؟
در صفر شات، چون نمونهای برای رفع ابهام وجود ندارد، خود دستور باید کاملتر باشد. بهتر است پرامپت را با این اجزا بسازید:
- وظیفه: دقیقاً بگویید مدل چه کاری انجام دهد.
- زمینه: اطلاعاتی را که برای فهم مسئله لازم است ارائه کنید.
- مخاطب و لحن: مشخص کنید متن برای چه کسی و با چه سبکی نوشته شود.
- قالب خروجی: تعداد پاراگراف، فهرست، جدول یا ساختار دلخواه را تعیین کنید.
- محدودیت: مواردی مثل طول متن، واژههای ممنوع یا نیاز به ذکر فرضها را بنویسید.
قالب کاربردی: «نقش تو [نقش موردنظر] است. [وظیفه] را برای [مخاطب] انجام بده. پاسخ باید [قالب و طول] داشته باشد و [محدودیتهای مهم] را رعایت کند.»
مثال: «برای والدین کودکان دبستانی، پنج ایدهٔ میانوعدهٔ ساده پیشنهاد بده. هر ایده را در دو جمله توضیح بده، مواد اولیهٔ رایج داشته باشد و از ادعاهای پزشکی استفاده نکن.»
چطور برای روش چند شات مثالهای مؤثر بسازیم؟
کیفیت مثالها از تعداد آنها مهمتر است. هر نمونه باید تا حد امکان به کاری که در ادامه از مدل میخواهید شبیه باشد؛ مثالهایی که فقط موضوعشان نزدیک است اما قالب یا منطق متفاوتی دارند، ممکن است مدل را سردرگم کنند.
چهار ویژگی یک مثال خوب
- شفاف: ورودی و خروجی آن معلوم باشد.
- نماینده: یکی از حالتهای واقعی مسئله را پوشش دهد.
- سازگار: همهٔ نمونهها از یک قالب و معیار پیروی کنند.
- درست: پاسخ نمونه غلط، ناقص یا دوپهلو نباشد.
برای مثال، اگر میخواهید لحن کپشنهای یک فروشگاه را مشخص کنید، دو نمونهٔ کوتاه و همسبک بنویسید:
نمونهٔ چند شات برای کپشن: «محصول: ماگ سرامیکی طرح گل
کپشن: یک فنجان حال خوب برای شروع صبح؛ ساده، دوستداشتنی و مناسب میز کار شما.
محصول: دفترچهٔ یادداشت جلد سخت
کپشن: ایدههایتان را جایی بنویسید که هر بار بازکردنش حس خوبی داشته باشد.
محصول: کیف پارچهای روزمره
کپشن را با همین لحن، در یک جمله بنویس.»
اگر قالب خاصی مدنظر دارید، آن را صریح هم بیان کنید؛ مثلاً «از ایموجی استفاده نکن»، «کپشن حداکثر ۲۰ کلمه باشد» یا «نام محصول را در ابتدای جمله نیاور». مثال بهتنهایی همیشه همهٔ محدودیتها را منتقل نمیکند.
چه زمانی صفر شات و چه زمانی چند شات را انتخاب کنیم؟
برای پاسخ به یک سؤال معمولی، بازنویسی کوتاه، ایدهپردازی یا خلاصهسازی، ابتدا صفر شات را امتحان کنید. اگر خروجی از نظر محتوا درست است اما لحن، ساختار یا نوع دستهبندی با نیاز شما هماهنگ نیست، چند شات را به کار ببرید.
چند شات زمانی انتخاب بهتری است که:
- اصطلاحات یا دستهبندیهای شما با کاربرد عمومی تفاوت دارد.
- خروجی باید قالبی ثابت داشته باشد.
- نمونهٔ لحن یا سبک نوشتاری مشخصی دارید.
- مرز بین پاسخهای مشابه برای مدل روشن نیست.
اگر پرامپت چند شات خیلی طولانی شود، ممکن است بخش اصلی درخواست در میان مثالها گم شود. نمونهها را به اندازهای نگه دارید که الگو را منتقل کنند و سپس دستور نهایی را جدا و روشن بنویسید.
اشتباههای رایج در استفاده از این دو روش
نوشتن مثالهای نامرتبط، تغییر دادن قالب پاسخ در هر نمونه و قرار دادن چند دستور متفاوت در یک پرامپت، از خطاهای رایج هستند. همچنین نباید تصور کنید اضافهکردن مثالهای بیشتر همیشه دقت را بالا میبرد؛ مثالهای تکراری فقط متن را طولانی میکنند.
در کارهای حساس، پاسخ مدل را صرفاً به دلیل استفاده از چند شات قطعی و بیخطا فرض نکنید. اطلاعات مهم، بهویژه اطلاعات مالی، حقوقی، پزشکی یا مربوط به ایمنی، باید جداگانه بررسی شوند.
جمعبندی انتخاب بین پرامپت صفر شات و چند شات
پرامپت صفر شات و چند شات دو راه برای میزاندهی به دستور شما هستند: صفر شات با توضیح مستقیم کار میکند و چند شات با نشاندادن چند نمونه، الگوی پاسخ را منتقل میکند. برای کارهای ساده از دستور دقیق صفر شات شروع کنید؛ اگر مدل در فهم قالب، لحن یا معیار دستهبندی مشکل داشت، چند مثال کوتاه، درست و مشابه به پرامپت اضافه کنید.


















