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

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

۴ کاربرد واقعی few-shot (با مثال پرامپت)
few-shot فقط یک تمرین تئوری نیست؛ در کارهای روزمره حسابی به کار میآید. اولین کاربرد، دستهبندی متن است: نظرها، تیکتهای پشتیبانی یا پیامها را با چند مثال به دستههای دلخواه تقسیم میکنی. دومین کاربرد، استخراج اطلاعات ساختیافته است؛ مثلاً تبدیل یک متن آزاد به قالب مرتب یا JSON، دقیقاً مثل مثال شهر و شغل بالا.
سومین کاربرد پرطرفدار، هماهنگکردن لحن است. اگر میخواهی همهٔ پاسخهای پشتیبانی برندت یک لحن ثابت داشته باشند، دو سه نمونهٔ پاسخِ ایدهآل را نشان بده تا مدل همان لحن را تکرار کند:
به پیام مشتری با لحن مودب، کوتاه و امیدوارکننده جواب بده.
پیام: «سفارشم دیر رسید» ← پاسخ: «عذرخواهی میکنیم؛ همین حالا وضعیت سفارش شما را بررسی و جبران میکنیم.»
پیام: «محصول ایراد داشت» ← پاسخ: «متأسفیم که این تجربه را داشتید؛ تعویض رایگان را برایتان ثبت میکنیم.»
پیام: «چطور مرجوع کنم؟» ←
چهارمین کاربرد، یکدستکردن قالب خروجی در تولید محتوا است؛ مثل ساختن عنوان، توضیح متا یا پیام تبلیغاتی با یک الگوی ثابت. در همهٔ این نمونهها، چند مثالِ خوب کاری میکند که یک صفحه توضیح هم نمیتواند.
۵ اشتباه رایج و نکات طلایی few-shot
حالا که قدرت این تکنیک را دیدی، بیایید چند خطای رایج را کنار بگذاریم. اشتباه اول، مثالهای متناقض است؛ اگر دو نمونهات با هم جور نباشند، مدل نمیداند کدام را باور کند. اشتباه دوم، برچسبهای نامنظم است؛ اگر یکجا بنویسی «مثبت» و جای دیگر «خوب»، قالب میشکند. اشتباه سوم، مثالهای بیکیفیت است که خطاهای خودشان را به خروجی منتقل میکنند.
اشتباه چهارم، زیادهروی در تعداد مثال است؛ ده مثال لزوماً بهتر از سه مثال نیست و فقط پرامپت را طولانی و پرهزینه میکند. و اشتباه پنجم، نگذاشتن نمونهٔ سخت است؛ اگر همهٔ مثالهایت ساده باشند، مدل در موارد مرزی اشتباه میکند. راهحل این است که یکی از مثالها را عمداً از حالتهای دشوار انتخاب کنی تا مدل مرزها را یاد بگیرد.
نکتهٔ طلایی: معمولاً دو تا پنج مثالِ متنوع و یکدست بهترین تعادل میان دقت و طول را میدهد. و اگر few-shot را با نقشدادن به مدل و درخواست «قدمبهقدم فکر کردن» ترکیب کنی، کیفیت جوابها بهشکل محسوسی بالا میرود. برای دنبالکردن تازهترین ترفندها و تحولات این حوزه هم میتوانی سری به بخش اخبار هوش مصنوعی بزنی.
پرسشوپاسخ کوتاه (FAQ)
برای یک پرامپت few-shot چند مثال لازم است؟
در بیشتر کارها دو تا پنج مثالِ باکیفیت و یکدست کافی است. تعداد بیشتر همیشه بهتر نیست؛ مهمتر از تعداد، هماهنگی و پوششدادن حالتهای مختلف است. اگر با سه مثال جواب دقیق گرفتی، نیازی به اضافهکردن مثالهای تکراری نداری.
تفاوت few-shot با fine-tuning چیست؟
few-shot فقط داخل همان پرامپت اتفاق میافتد و چیزی در مدل ذخیره نمیشود؛ کاملاً موقتی و رایگان است. اما fine-tuning یعنی خودِ مدل را با دادههای زیاد دوباره آموزش بدهی که هزینه و پیچیدگی بیشتری دارد. برای اکثر کاربران، few-shot گزینهٔ سریعتر و عملیتر است.
few-shot روی همهٔ مدلها کار میکند؟
بله، این تکنیک روی مدلهای بزرگ زبانی مثل ChatGPT، Gemini و Claude بهخوبی جواب میدهد، چون همگی «الگو-یاب» هستند. فقط توجه کن که هر مدل کمی به قالب و لحن حساسیت متفاوتی دارد؛ پس بهتر است مثالهایت را روی همان مدلی که استفاده میکنی یک بار امتحان و تنظیم کنی.
نسخهٔ فوری این مطلب در تلگرام: اینجا بخوانید
