اگر جوابهای هوش مصنوعی هیچوقت دقیقاً همانی نیست که میخواهی، احتمالاً یک چیز ساده را جا انداختهای: مثال. تکنیک پرامپت few-shot همین شکاف را پر میکند.

لیست مطالب
تکنیک few-shot چیست؟
«few-shot» در لغت یعنی «چندنمونهای». در دنیای پرامپتنویسی، پرامپت few-shot به این معناست که قبل از طرح درخواست اصلی، چند مثال کوتاه از «ورودی و خروجی دلخواهت» را به مدل نشان میدهی تا الگوی کار دستش بیاید و همان الگو را روی درخواست تازهٔ تو پیاده کند. به بیان ساده، بهجای اینکه فقط توضیح بدهی چه میخواهی، عملاً نشان میدهی.
این تفاوت کوچک، نتیجهٔ بزرگی دارد. مدلهای زبانی مثل ChatGPT روی حجم عظیمی از متن آموزش دیدهاند و در «تشخیص و ادامهٔ الگو» فوقالعادهاند. وقتی دو سه نمونه جلوی چشمشان بگذاری، دیگر لازم نیست حدس بزنند که منظورت چه لحن، چه قالب و چه سطحی از جزئیات است؛ الگو را از مثالهای تو برمیدارند. اگر تازه با مفهوم پرامپت آشنا شدهای، پیشنهاد میکنیم اول آموزش پرامپتنویسی برای مبتدیها را بخوانی و بعد به این تکنیک برگردی.
نکتهٔ مهم این است که few-shot یک ترفند پیچیده و فنی نیست؛ یک عادت ساده است که کیفیت خروجی را به شکل محسوسی بالا میبرد و مخصوصاً وقتی به خروجی «یکشکل و تکرارشونده» نیاز داری، حکم یک ابزار حرفهای را دارد.
تفاوت zero-shot و few-shot در یک نگاه
در حالت zero-shot (بدون مثال)، تو فقط درخواستت را میگویی و از مدل انتظار داری خودش بفهمد. این حالت برای کارهای ساده کافی است، اما وقتی خروجی خاصی مدنظرت باشد، مدل ممکن است سلیقهٔ خودش را اعمال کند. مقایسهٔ این دو پرامپت را ببین:
پرامپت zero-shot: «این نظر مشتری را دستهبندی کن: ارسال دیر شد ولی جنس سالم بود.»
در پاسخ به بالا، هر بار ممکن است برچسب متفاوتی بگیری: «خنثی»، «نیمهمثبت»، «مثبت با انتقاد» و… چون هیچ چارچوبی ندادهای. حالا همان کار را با few-shot ببین:
پرامپت few-shot: «نظرها را فقط به یکی از سه برچسب مثبت، منفی یا خنثی دستهبندی کن.
نمونه: «کیفیت عالی بود» ← مثبت
نمونه: «اصلاً نپسندیدم» ← منفی
نمونه: «معمولی بود، نه خوب نه بد» ← خنثی
حالا این را دستهبندی کن: «ارسال دیر شد ولی جنس سالم بود.»»
در حالت دوم، خروجی تقریباً همیشه یکی از همان سه برچسب است و شکل ثابتی دارد. همین یکدستی، تفاوت اصلی بین یک خروجی قابلاعتماد و یک خروجی سلیقهای است.
آناتومی یک پرامپت few-shot خوب
یک پرامپت few-shot استاندارد معمولاً سه بخش دارد: یک دستور کوتاه که کار را توضیح میدهد، چند جفت «ورودی ← خروجی» بهعنوان مثال، و در نهایت ورودی تازهای که میخواهی مدل رویش کار کند. مهم است که مثالها دقیقاً همان قالبی را داشته باشند که از خروجی نهایی انتظار داری؛ چون مدل عیناً از شکل مثالها تقلید میکند.
«عنوانهای خبری را به یک جملهٔ ساده برای کودکان تبدیل کن.
ورودی: «بانک مرکزی نرخ بهره را افزایش داد» ← خروجی: «پولها الان برای قرضگرفتن گرانتر شدهاند.»
ورودی: «قیمت نفت کاهش یافت» ← خروجی: «سوخت ماشینها ارزانتر شده است.»
ورودی: «شرکتهای فناوری کارکنان خود را کم کردند»»
به سه چیز دقت کن: قالب مثالها یکسان است، تعداد مثالها کم و هدفمند است، و آخرین ورودی بدون خروجی رها شده تا مدل جای خالی را پر کند. اگر میخواهی روی همین مهارتها عمیقتر کار کنی، مجموعهٔ آموزشهای ChatGPT پر از تمرینهای عملی است.
پنج کاربرد واقعی few-shot
این تکنیک فقط تئوری نیست؛ در کارهای روزمره فرق واقعی ایجاد میکند. پرکاربردترین موقعیتها اینهاست: یکسانکردن لحن پیامها، دستهبندی دادهها، استخراج اطلاعات ساختاریافته از متن، تبدیل قالب (مثلاً متن به جدول)، و تولید محتوایی که باید سبک ثابتی داشته باشد. مثال زیر، یکسانسازی لحن را نشان میدهد:
«پیامها را به لحن رسمی و مؤدبانه بازنویسی کن.
نمونه: «کارت خوب بود» ← «از کیفیت کار شما صمیمانه سپاسگزارم.»
نمونه: «فردا نمیتونم بیام» ← «با عرض پوزش، فردا امکان حضور برای من فراهم نیست.»
حالا این را بازنویسی کن: «قرارداد هنوز آماده نشده.»»
یا برای استخراج داده از یک متن آزاد، که یکی از باارزشترین کاربردهاست:
«از هر جمله، نام و شهر را به شکل «نام – شهر» دربیاور.
نمونه: «رضا از اصفهان تماس گرفت» ← رضا – اصفهان
نمونه: «سارا ساکن شیراز است» ← سارا – شیراز
حالا این را پردازش کن: «مهدی دیروز از تبریز سفارش ثبت کرد.»»

چرا few-shot واقعاً جواب میدهد؟
راز کار در چیزی است که به آن «یادگیری درونزمینهای» (in-context learning) میگویند. مدلهای زبانی بزرگ در زمان پاسخدادن، وزنهایشان تغییر نمیکند و چیز تازهای «یاد نمیگیرند»؛ اما میتوانند از الگوی موجود در همان پرامپت تقلید کنند. وقتی چند مثال همقالب میبینند، احتمال ادامهدادن به همان قالب برایشان بسیار بالا میرود و همین باعث خروجی منظم میشود. اگر کنجکاوی که این مدلها اساساً از کجا آمدهاند، مطلب OpenAI چیست تصویر خوبی به تو میدهد.
به همین دلیل، few-shot مخصوصاً وقتی میدرخشد که کار «قالبمحور» باشد: دستهبندی، قالببندی، ترجمهٔ سبکدار، یا هر کاری که در آن «شکل خروجی» بهاندازهٔ «محتوای خروجی» اهمیت دارد. در مقابل، برای پرسشهای خلاقانه و باز که پاسخ مشخصی ندارند، گاهی zero-shot انعطاف بیشتری میدهد. هنر پرامپتنویس این است که بداند هر کدام کجا به کار میآید.
اشتباههای رایج که نتیجه را خراب میکنند
اولین اشتباه، مثالهای ناهماهنگ است؛ اگر یک مثال کوتاه و رسمی باشد و مثال بعدی بلند و خودمانی، مدل گیج میشود و خروجی هم بیثبات میشود. دومین اشتباه، زیادهروی در تعداد مثالهاست؛ معمولاً دو تا پنج مثال کافی است و افزودن دهها نمونه نهتنها کمک نمیکند، بلکه پرامپت را شلوغ و پرهزینه میکند. سومین اشتباه، فراموشکردن جداکنندهٔ واضح بین مثالها و ورودی نهایی است.
یک قانون سادهٔ طلایی را به خاطر بسپار: مثالهایت باید دقیقاً «همان چیزی» باشند که از خروجی نهایی انتظار داری، نه چیزی نزدیک به آن. کیفیت مثالها سقف کیفیت خروجی را تعیین میکند. برای اینکه از تازهترین ترفندها و تغییرات مدلها هم عقب نمانی، هر از گاهی سری به بخش اخبار هوش مصنوعی بزن، چون رفتار مدلها مدام بهروز میشود.
پرسشوپاسخ کوتاه (FAQ)
برای few-shot دقیقاً چند مثال لازم است؟
قاعدهٔ عملی، دو تا پنج مثال است. با یک مثال (one-shot) هم میشود شروع کرد، اما دو تا سه مثالِ همقالب معمولاً بهترین تعادل بین دقت و کوتاهی پرامپت را میدهد. اگر خروجی هنوز بیثبات بود، یکی دو مثال متنوعتر اضافه کن.
few-shot فقط برای ChatGPT کار میکند؟
نه. این تکنیک یک اصل عمومی در کار با مدلهای زبانی است و روی ChatGPT، Gemini، Claude و بقیهٔ مدلها بهخوبی جواب میدهد، چون همه بر پایهٔ تشخیص الگو کار میکنند.
چه زمانی نباید از few-shot استفاده کنم؟
وقتی کار کاملاً خلاقانه و باز است و نمیخواهی مدل را به یک قالب خاص محدود کنی، حالت بدونمثال آزادی بیشتری میدهد. همچنین اگر توضیح دقیق و کوتاهی از خروجی ممکن است، گاهی نیازی به مثال نیست.
نسخهٔ فوری این مطلب در تلگرام: اینجا بخوانید
