پرامپت‌نویسی

Few-shot prompting

Few-shot prompting — راهنمای فارسی از مجموعهٔ «پرامپت‌نویسی» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۳ دقیقه مطالعه
تصویر مقالهٔ Few-shot prompting

Few-shot prompting یکی از قوی‌ترین تکنیک‌های پرامپت‌نویسیه که با یه کار ساده کار می‌کنه: به‌جای اینکه فقط سؤال بپرسی، چند مثال هم می‌دی تا مدل بفهمه دقیقاً چی می‌خوای. این مقاله رو می‌خوام نه تئوری، بلکه عملی بنویسم — با مثال‌های واقعی که می‌تونی همین الان امتحان کنی.

few-shot یعنی چی؟

وقتی با یه LLM کار می‌کنی، می‌تونی از سه روش ازش بخوای کاری انجام بده:

  • zero-shot: هیچ مثالی نمی‌دی — فقط دستور می‌دی. «این متن رو خلاصه کن.»
  • one-shot: یه مثال می‌دی که نشون بده خروجی باید چطور باشه.
  • few-shot: دو تا پنج مثال می‌دی — مدل الگو رو یاد می‌گیره و بهش پایبند می‌مونه.

منطقش ساده‌ست: مدل‌های زبانی از روی الگو کار می‌کنن. وقتی چند مثال می‌دی، داری بهش می‌گی «این فرمت، این لحن، این سطح جزئیات» — و مدل دقیقاً همونو دنبال می‌کنه.

چرا few-shot از zero-shot بهتره؟

فرض کن می‌خوای ChatGPT یا آیرا برات توییت بنویسه. اگه بگی «یه توییت درباره محصول ما بنویس»، احتمالاً یه چیز کلیشه‌ای می‌گیری.

ولی اگه سه مثال از توییت‌های خودت بدی و بعد بگی «حالا با همین لحن یه توییت درباره محصول ما بنویس»، نتیجه کاملاً فرق می‌کنه.

مثال عملی — دسته‌بندی احساسات:

متن: «این رستوران عالی بود، غذاش خوشمزه و سرویس سریع بود»
احساس: مثبت

متن: «دو ساعت منتظر موندیم و غذا سرد اومد»
احساس: منفی

متن: «قیمت‌ها معقوله ولی دکور قدیمیه»
احساس: خنثی

متن: «پیتزاش خوب بود ولی پارکینگ نداشت»
احساس: ?

بدون توضیح اضافه، مدل می‌فهمه باید چی بگه. جواب: خنثی.

ساختار یه few-shot prompt خوب

یه few-shot prompt استاندارد این چهار بخش رو داره:

۱. زمینه (Context) چند جمله که مدل بفهمه چه نقشی داره و هدف چیه.

۲. مثال‌های input/output معمولاً ۲ تا ۵ تا مثال. بیشتر از ۵ تا معمولاً کمک نمی‌کنه و فقط token مصرف می‌کنه.

۳. سؤال یا وظیفهٔ اصلی همون فرمت مثال‌ها، ولی با ورودی جدید و بدون جواب.

۴. نشانه‌گر پاسخ یه چیز مثل «جواب:» یا «خروجی:» که مدل بدونه باید از اینجا ادامه بده.

مثال کاربردی برای فارسی: تبدیل لحن

فرض کن می‌خوای متن‌های رسمی رو به لحن دوستانه تبدیل کنی:

ورودی: «خواهشمندیم هرچه سریع‌تر اقدام فرمایید.»
خروجی: «زودتر انجامش بده، ممنون!»

ورودی: «به استحضار می‌رساند که موجودی حساب شما ناکافی است.»
خروجی: «حسابت پوله نداره، یه نگاه بنداز.»

ورودی: «لطفاً مدارک لازم را در اسرع وقت ارائه دهید.»
خروجی:

مدل از این سه مثال می‌فهمه که باید چقدر غیررسمی باشه، چقدر کوتاه بنویسه، و لحن چطور باشه.

وقتی few-shot کار نمی‌کنه

Few-shot همیشه معجزه نمی‌کنه. این موارد رو بدون:

مثال‌های متناقض: اگه مثال‌هات سبک‌های مختلفی داشته باشن، مدل گیج می‌شه. همهٔ مثال‌ها باید از یه دست باشن.

وظایف خیلی پیچیده: اگه کار نیاز به استدلال چندمرحله‌ای داره، few-shot به تنهایی کافی نیست. اونجا باید سراغ chain-of-thought prompting بری.

توکن‌های محدود: اگه داری با یه مدل ارزون‌قیمت کار می‌کنی که context window کوچیکی داره، مثال‌های زیاد می‌تونن از متن اصلی‌ات فضا بدزدن.

داده‌های نادرست: مثال‌های اشتباه = خروجی اشتباه. کیفیت مثال‌ها مستقیماً روی کیفیت جواب تأثیر می‌ذاره.

few-shot vs fine-tuning — کِی کدوم رو انتخاب کنی؟

سؤال خوبیه. few-shot یه راه‌حل موقتیه که در prompt زندگی می‌کنه. fine-tuning یه راه‌حل دائمیه که داخل مدل می‌شینه.

اگه یه وظیفهٔ تکراری داری که هر بار باید مثال‌هاش رو دوباره تایپ کنی — و کلی توکن هدر می‌ره — شاید وقتشه fine-tuning رو بررسی کنی. ولی برای اکثر کارهای روزمره، few-shot کافیه.

برای کاربر فارسی چه نکته‌های خاصی هست؟

فارسی چند چالش خاص داره:

نوشتار چسبیده: کلماتی مثل «می‌رفتم» یا «می‌گویند» — مدل‌ها گاهی توکنیزیشن ضعیفی دارن. مثال‌های واضح کمک می‌کنه مدل بفهمه شکل درست چیه.

رسمی vs عامیانه: فارسی دو سطح خیلی متفاوت داره. مثال‌هات مشخص کنه کدوم سطح می‌خوای.

اعداد و تاریخ: اگه با تاریخ‌های شمسی یا اعداد فارسی کار می‌کنی، حتماً نمونه‌ها رو با همون فرمت بده.

اگه از آیراچت استفاده می‌کنی، یه مزیت اضافه داری: آیرا از قبل زمینهٔ کارت رو می‌دونه. این یعنی نیازی نیست هر بار از صفر توضیح بدی — شناخت پیوسته این سربار رو از دوشت برمی‌داره.

خلاصهٔ عملی

  • ۲ تا ۵ مثال کافیه؛ بیشتر معمولاً بهتر نیست
  • مثال‌ها باید از یه دست و با کیفیت باشن
  • وقتی استدلال پیچیده لازمه، با chain-of-thought ترکیبش کن
  • برای وظایف تکراری در مقیاس بزرگ، fine-tuning رو بررسی کن
  • برای فارسی، سطح زبانی رو توی مثال‌ها مشخص کن

همچنین بخوان

#پرامپت‌نویسی

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «پرامپت‌نویسی»