وقتی با ChatGPT یا Claude کار میکنید، شیوهای که مثالها را در پرامپت میچینید تعیین میکند خروجی چقدر دقیق و قابل اعتماد باشد. سه اصطلاح Zero-shot، One-shot و Few-shot دقیقاً همین موضوع را توصیف میکنند و چهارمی هم اخیراً اضافه شده: Many-shot. هر کدام نقطه قوت و ضعف خودشان را دارند و انتخاب درست بین آنها یکی از مهمترین تصمیمهای هر پروژهی مهندسی پرامپت است.
خلاصه سریع (TL;DR)
| روش | تعداد مثال | بهترین کاربرد |
|---|---|---|
| Zero-shot | ۰ | تسکهای عمومی، ترجمه، خلاصهسازی، پرسش و پاسخ ساده |
| One-shot | ۱ | صرفاً نشان دادن فرمت خروجی |
| Few-shot | ۲ تا ۸ | تسکهای دقیق، طبقهبندی، استخراج اطلاعات، تبدیل سبک |
| Many-shot | دهها تا صدها | تسکهای پیچیده با کلاسهای زیاد و مدلهای long-context |
In-Context Learning چیست؟
قبل از اینکه وارد جزئیات هر روش شویم، باید بفهمیم پایهی مشترک هر چهار سطح چیست. اصطلاح In-Context Learning یا یادگیری درون متن، توانایی شگفتانگیز مدلهای زبانی بزرگ برای آموختن الگو از روی مثالهای موجود در پنجرهی ورودی است. مهمترین نکته این است که در این فرایند هیچ گرادیانی محاسبه نمیشود و هیچ وزنی از مدل تغییر نمیکند. مدل فقط در همان جلسهی گفتوگو و فقط تا زمانی که آن مکالمه باز است، الگو را به یاد میسپارد.
این پدیده اولین بار بهصورت رسمی در مقالهی مرجع «Language Models are Few-Shot Learners» از Brown و همکاران در سال ۲۰۲۰ معرفی شد. در آن مقاله نشان داده شد که GPT-3 با ۱۷۵ میلیارد پارامتر، صرفاً با چند مثال درون پرامپت میتواند در بسیاری از بنچمارکها از مدلهای کوچکتر اما fine-tune شده پیشی بگیرد. این یافته بود که باعث شد مهندسی پرامپت به یک مهارت کلیدی تبدیل شود.
وقتی این مفهوم را به سه (یا چهار) سطح میشکنیم، ملاک تقسیمبندی فقط یک عدد است: تعداد مثالهایی که در پرامپت میگذارید. صفر مثال یعنی Zero-shot، یک مثال یعنی One-shot، چند مثال (معمولاً بین ۲ تا ۸) یعنی Few-shot و دهها یا صدها مثال یعنی Many-shot. حالا هر کدام را با جزئیات و مثال فارسی بررسی میکنیم.
Zero-shot Learning
در Zero-shot Learning شما به مدل هیچ مثالی نمیدهید. فقط دستور مینویسید و انتظار دارید مدل بر اساس دانش پیشین خود تسک را انجام دهد. این سادهترین، سریعترین و کمتوکنترین حالت ممکن است و در بسیاری از کاربردهای روزمره دقیقاً همین کفایت میکند.
چرا Zero-shot کار میکند؟
مدلهای بزرگ روی حجم عظیمی از متن آموزش دیدهاند که شامل میلیونها مثال از تسکهای گوناگون است. وقتی شما مینویسید «این متن را به انگلیسی ترجمه کن»، مدل میلیونها بار قبلاً جفتهای ترجمه را دیده و میداند الگوی مورد انتظار چیست. به همین دلیل، برای تسکهای پرتکرار و عمومی، Zero-shot معمولاً پاسخ قابل قبولی میدهد.
مثال فارسی کامل
فرض کنید میخواهیم لحن یک نظر کاربر را تشخیص دهیم. در حالت Zero-shot فقط دستور میدهیم:
دستور: لحن کلی نظر زیر را در یکی از سه دسته «مثبت»، «منفی» یا «خنثی» تعیین کن. فقط نام دسته را برگردان.
نظر: «بستهبندی محصول خیلی خوب بود ولی متاسفانه دیر به دستم رسید.»
دسته:
در این پرامپت هیچ مثالی به مدل ندادهایم. مدل با توجه به فهم زبانی خود، باید تشخیص دهد که این نظر دو وجه دارد (یکی مثبت و یکی منفی) و معمولاً آن را به «خنثی» نسبت میدهد. این کار در مدلهای روز با دقت قابل قبولی انجام میشود.
کاربردهای ایدهآل Zero-shot
- ترجمه متن از یک زبان به زبان دیگر
- خلاصهسازی متون عمومی
- اصلاح غلط املایی و نگارشی
- پاسخ به سوالات عمومی و توضیح مفاهیم
- تغییر سبک نوشتاری کلی (مثل «رسمیتر بنویس»)
- بازنویسی و paraphrase
- تولید ایده و طوفان فکری
محدودیتهای Zero-shot
وقتی تسک شما خاص، اختصاصی یا حساس به فرمت است، Zero-shot ضعف نشان میدهد. مثلاً اگر بخواهید مدل خروجی JSON با نام فیلدهای فارسی و ترتیب خاص بدهد، با Zero-shot هر بار خروجی متفاوتی میگیرید. در این موارد باید سراغ One-shot یا Few-shot بروید. برای راهنمایی کلیتر درباره ساختاردهی پرامپتها، مقالهی اصول پرامپتنویسی را مطالعه کنید.
One-shot Learning
One-shot Learning پل بین Zero-shot و Few-shot است. در این حالت دقیقاً یک مثال در پرامپت قرار میدهید و سپس سوال اصلی را میپرسید. هدف این روش معمولاً نشان دادن فرمت دقیق خروجی است؛ یعنی به مدل میگویید «خروجی باید این شکلی باشد، حالا برای ورودی جدید همان کار را بکن».
مثال فارسی One-shot
دستور: نام، شغل و شهر را از متن استخراج کن و در قالب نشان داده شده برگردان.
متن: «سلام، من سارا هستم، طراح گرافیک و ساکن تبریز.»
خروجی: نام=سارا | شغل=طراح گرافیک | شهر=تبریز
متن: «اسمم حامد است، مهندس عمران، الان شیراز زندگی میکنم.»
خروجی:
در این مثال، یک نمونه برای نشان دادن فرمت دقیق (با علامت | و کلیدواژههای فارسی) آوردهایم. مدل احتمالاً همان قالب را برای ورودی دوم تکرار میکند. اما اگر متن ورودی پیچیدهتر باشد، مثلاً چندین شغل یا چند شهر داشته باشد، با یک مثال مدل نمیداند چطور رفتار کند.
چرا One-shot معمولاً ضعیفتر است؟
One-shot یک مشکل بنیادین دارد: مدل نمیداند کدام ویژگی مثال مهم است و کدام تصادفی. وقتی فقط یک نمونه میبیند، ممکن است ویژگیهای فرعی همان نمونه را بهجای الگوی اصلی تقلید کند. مثلاً اگر در مثال شما نام «سارا» (مونث) بود، مدل ممکن است فکر کند فقط برای نامهای مونث این الگو معتبر است. این پدیده بهخصوص در تسکهای دارای کلاسهای متعدد آزاردهنده است.
تحقیقات نشان دادهاند که در بسیاری از بنچمارکها، جهش بزرگ از Zero-shot به One-shot کوچک است و جهش اصلی بین One-shot و Few-shot (با ۳ تا ۵ مثال) اتفاق میافتد. به همین دلیل، اگر تصمیم گرفتید مثال اضافه کنید، معمولاً ارزش دارد بهجای یک مثال، حداقل سه مثال بگذارید.
کاربردهای واقعی One-shot
- وقتی فقط میخواهید فرمت خروجی را قفل کنید و کلاسبندی پیچیدهای ندارید
- تسکهای سادهای که توصیف کلامیشان سخت ولی نمایششان آسان است
- صرفهجویی در توکن وقتی پنجره متن خیلی محدود است
Few-shot Learning
Few-shot Learning نقطهی شیرین (sweet spot) بیشتر کاربردهای حرفهای است. در این روش بین ۲ تا ۸ مثال در پرامپت میگذارید (معمولاً ۳ تا ۵ نمونه) تا مدل الگو را بهخوبی تشخیص دهد و مرز بین کلاسها یا حالتهای مختلف را بفهمد.
چرا Few-shot بهترین تعادل است؟
با ۳ تا ۵ مثال، شما همزمان چند کار انجام میدهید: فرمت خروجی را قفل میکنید، تنوع حالتهای ممکن را نشان میدهید، توازن بین کلاسها را برقرار میکنید و در ضمن مصرف توکن را در حد منطقی نگه میدارید. این تعادل برای اکثر تسکهای سازمانی و محصولی ایدهآل است.
مثال کوتاه Few-shot فارسی
دستور: قصد پیام مشتری را در یکی از سه دسته «خرید»، «شکایت» یا «اطلاعات» تعیین کن.
پیام: «این محصول چقدر گارانتی داره؟»
دسته: اطلاعات
پیام: «میخوام دو تا از این کفش رو سفارش بدم.»
دسته: خرید
پیام: «سفارشم رو اشتباه فرستادید، خیلی ناراحتم.»
دسته: شکایت
پیام: «هزینه ارسال به اصفهان چقدر میشه؟»
دسته:
این مقاله صرفاً تفاوت روشها را پوشش میدهد و وارد جزئیات Few-shot نمیشود. اگر میخواهید عمیقتر یاد بگیرید (انتخاب مثالها، ترتیب، توازن، اشتباهات رایج و سناریوهای پیشرفته)، راهنمای کامل Few-shot Learning چیست و چطور حرفهای پیادهسازی شود را ببینید.
Many-shot Learning
Many-shot Learning پدیدهی نسبتاً جدیدی است که با ظهور مدلهای با پنجره متن بسیار طولانی (۲۰۰ هزار توکن و بیشتر) قابل اجرا شد. در این روش، بهجای ۳ تا ۸ نمونه، دهها یا حتی صدها مثال درون پرامپت قرار میگیرد.
مقالهی مرجع Anthropic
مقالهی «Many-Shot In-Context Learning» منتشرشده توسط Google DeepMind و سپس مطالعات گستردهی Anthropic در سال ۲۰۲۴ نشان دادند که افزودن صدها مثال در پرامپت میتواند دقت مدل را در تسکهای دشوار بهشدت افزایش دهد، گاهی به سطح Fine-tuning نزدیک شود. این یک تغییر پارادایم بود: قبلاً تصور میشد بعد از ۸ تا ۱۰ مثال، بازدهی کاهشی است؛ اما با مدلهای long-context این فرض شکست.
چه زمانی Many-shot ارزش دارد؟
- تسکهایی با دهها کلاس مختلف که هرکدام باید چند نمونه داشته باشند
- تسکهای پیچیده با حالتهای مرزی فراوان (edge cases)
- وقتی Fine-tuning به دلایل امنیتی، هزینه یا سرعت ممکن نیست
- تسکهای ترجمه تخصصی و دامنهمحور با واژگان خاص
محدودیتهای Many-shot
این روش رایگان نیست. هزینهی توکن بهشدت بالا میرود، تاخیر پاسخ افزایش مییابد و در مدلهایی که پنجره متن محدود دارند اصلاً قابل اجرا نیست. علاوه بر این، چینش صدها مثال نیازمند زیرساخت ارزیابی و کش (caching) است وگرنه هزینهی هر درخواست سرسامآور خواهد شد.
جدول مقایسه جامع
برای داشتن دید یکپارچه از هر چهار روش، جدول زیر تمام ابعاد مهم را کنار هم میگذارد. این جدول مرجع اصلی شما برای انتخاب روش است.
| ویژگی | Zero-shot | One-shot | Few-shot | Many-shot |
|---|---|---|---|---|
| تعداد مثال | ۰ | ۱ | ۲ تا ۸ | دهها تا صدها |
| دقت در تسک ساده | بالا | بالا | بالا | بالا (اتلاف توکن) |
| دقت در تسک پیچیده | پایین | پایین تا متوسط | بالا | خیلی بالا |
| کنترل فرمت خروجی | ضعیف | قابل قبول | عالی | عالی |
| مصرف توکن | حداقل | کم | متوسط | زیاد |
| سرعت پاسخ | بالاترین | بالا | متوسط | پایین |
| نیاز به مدل long-context | خیر | خیر | خیر | بله |
| زمان طراحی پرامپت | کوتاه | کوتاه | متوسط | طولانی |
| مناسب برای production | تسکهای عمومی | بهندرت | بله، انتخاب رایج | موارد خاص |
| هزینهی API | کم | کم | متوسط | بالا |
مثالهای عملی: یک تسک با چهار روش
برای اینکه تفاوت در عمل را ملموس کنیم، یک تسک ثابت را با هر چهار روش پیاده میکنیم. تسک: تشخیص لحن نظر مشتری در سه کلاس مثبت، منفی و خنثی.
نسخه ۱: Zero-shot
دستور: لحن کلی نظر زیر را در یکی از سه دسته «مثبت»، «منفی» یا «خنثی» تعیین کن. فقط نام دسته را برگردان.
نظر: «خیلی سریع رسید ولی متاسفانه یکی از قطعاتش شکسته بود.»
دسته:
نتیجه: مدل احتمالاً «منفی» میگوید چون آخر جمله حال و هوای منفی دارد، در حالی که جنبهی مثبت هم وجود دارد. دقت در این حالت معمولاً حدود ۷۰ تا ۷۵ درصد است.
نسخه ۲: One-shot
دستور: لحن کلی نظر زیر را در یکی از سه دسته «مثبت»، «منفی» یا «خنثی» تعیین کن. فقط نام دسته را برگردان.
نظر: «کیفیت بستهبندی خوب بود و کالا سالم رسید. ممنون.»
دسته: مثبت
نظر: «خیلی سریع رسید ولی متاسفانه یکی از قطعاتش شکسته بود.»
دسته:
نتیجه: مدل میبیند کلاس «مثبت» قابل قبول است و فرمت را یاد میگیرد. ولی چون فقط یک کلاس را دیده، ممکن است گرایش به همان داشته باشد. دقت معمولاً ۷۵ تا ۸۰ درصد است.
نسخه ۳: Few-shot
دستور: لحن کلی نظر زیر را در یکی از سه دسته «مثبت»، «منفی» یا «خنثی» تعیین کن. فقط نام دسته را برگردان.
نظر: «کیفیت بستهبندی خوب بود و کالا سالم رسید. ممنون.»
دسته: مثبت
نظر: «دو هفته معطل شدم تا فقط مشکیش رو بفرستن، اونم اشتباه.»
دسته: منفی
نظر: «قیمت متوسطی داره؛ نه ارزون نه گرون. کیفیتش هم در همین حد.»
دسته: خنثی
نظر: «خیلی سریع رسید ولی متاسفانه یکی از قطعاتش شکسته بود.»
دسته:
نتیجه: مدل هر سه کلاس را دیده، تنوع هم رعایت شده و نمونهی نهایی (که چندپهلو است) را معمولاً «منفی» یا «خنثی» با احتمال درست تشخیص میدهد. دقت معمولاً ۹۰ تا ۹۲ درصد است.
نسخه ۴: Many-shot (خلاصه)
دستور: لحن کلی نظر زیر را در یکی از سه دسته «مثبت»، «منفی» یا «خنثی» تعیین کن.
[۵۰ نظر مثبت متنوع با برچسب «مثبت»]
[۵۰ نظر منفی متنوع با برچسب «منفی»]
[۳۰ نظر خنثی و چندپهلو با برچسب «خنثی»]
نظر: «خیلی سریع رسید ولی متاسفانه یکی از قطعاتش شکسته بود.»
دسته:
نتیجه: با این تعداد مثال، مدل دقیقاً مرز بین کلاسها (بهخصوص کلاسهای مرزی مثل «خنثی») را یاد میگیرد. دقت معمولاً به ۹۵ تا ۹۸ درصد میرسد، اما هزینهی هر درخواست ۲۰ تا ۵۰ برابر بیشتر است.
کدام روش را کی استفاده کنیم؟
برای تصمیمگیری سریع، از این درخت تصمیم استفاده کنید:
درخت تصمیم انتخاب روش
-
آیا تسک عمومی و رایج است؟ (مثل ترجمه، خلاصهسازی، اصلاح املا)
- بله → از Zero-shot شروع کنید.
- خیر → به سوال بعدی برو.
-
آیا فقط میخواهید فرمت خروجی را قفل کنید؟
- بله → از One-shot استفاده کنید.
- خیر → به سوال بعدی برو.
-
آیا کمتر از ۱۰ کلاس یا حالت دارید؟
- بله → از Few-shot با ۳ تا ۵ مثال متعادل استفاده کنید.
- خیر → به سوال بعدی برو.
-
آیا مدل long-context دارید و هزینه برایتان مهم نیست؟
- بله → Many-shot با ۵۰ تا ۲۰۰ مثال متنوع.
- خیر → برگردید به Few-shot و Fine-tuning را برای آینده بررسی کنید.
قانونهای سرانگشتی
- قانون ۱: همیشه سادهترین روش که کار میکند را انتخاب کنید.
- قانون ۲: اگر Zero-shot جواب نداد، مستقیم به Few-shot بروید (نه One-shot).
- قانون ۳: هرگز Many-shot را قبل از تست Few-shot امتحان نکنید.
- قانون ۴: اگر مرتب مشکل دارید، مشکل ممکن است نه از تعداد مثال بلکه از کیفیت توضیح یا انتخاب مدل باشد.
ترکیب با Chain-of-Thought
تکنیک Chain-of-Thought (زنجیره تفکر) یعنی به مدل میگویید قبل از پاسخ نهایی، مراحل استدلال خود را بهصورت متنی بنویسد. این تکنیک با هر چهار روش بالا قابل ترکیب است و تقریباً همیشه دقت را افزایش میدهد.
ترکیب Zero-shot + CoT
سادهترین حالت این است که در پایان دستور بنویسید «مرحله به مرحله فکر کن، سپس جواب نهایی را بده». این کار حتی بدون هیچ مثالی، در تسکهای منطقی و ریاضی جهش بزرگی ایجاد میکند.
دستور: محصول ۸۵۰,۰۰۰ تومان است با ۱۵٪ تخفیف بعلاوه ۹٪ مالیات. قیمت نهایی چقدر است؟ مرحله به مرحله فکر کن.
پاسخ:
ترکیب Few-shot + CoT
قدرتمندترین ترکیب، Few-shot با Chain-of-Thought است. در هر مثال، علاوه بر ورودی و خروجی نهایی، مسیر استدلال را هم نشان میدهید. مقالهی Wei و همکاران (۲۰۲۲) نشان داد این ترکیب میتواند دقت مدلهای بزرگ را در تسکهای ریاضی از حدود ۱۸ درصد به بالای ۵۰ درصد برساند.
سوال: محصول ۲۰۰,۰۰۰ تومان است با ۲۰٪ تخفیف. قیمت نهایی؟
استدلال: مبلغ تخفیف = ۲۰۰,۰۰۰ × ۰.۲ = ۴۰,۰۰۰. قیمت نهایی = ۲۰۰,۰۰۰ − ۴۰,۰۰۰ = ۱۶۰,۰۰۰.
جواب: ۱۶۰,۰۰۰ تومان
سوال: محصول ۵۰۰,۰۰۰ تومان است با ۱۰٪ تخفیف و سپس ۵٪ تخفیف اضافی روی مبلغ بعد از تخفیف. قیمت نهایی؟
استدلال:
این ترکیب در تسکهای زنجیرهای، تصمیمگیری چندمرحلهای، تحلیل حقوقی و حسابداری بسیار پربازده است.
اشتباهات رایج
در دوره جامع مهندسی پرامپت بارها میبینم که حتی کاربران باتجربه در همین چهار اشتباه گرفتار میشوند.
۱. زیادی پریدن به Few-shot
برخی برای هر تسکی، چه ساده و چه پیچیده، مستقیم سراغ Few-shot میروند. این کار توکن هدر میدهد و گاهی حتی نتیجه را بدتر میکند (بهخاطر سوگیری مثالها). همیشه با Zero-shot شروع کنید.
۲. استفاده از One-shot برای تسک چندکلاسه
وقتی فقط یک مثال میدهید، مدل گرایش پیدا میکند کلاس همان مثال را پیشبینی کند. اگر تسک شما ۳ یا بیشتر کلاس دارد، حتماً حداقل یک مثال از هر کلاس بیاورید (یعنی Few-shot).
۳. خلط Few-shot و Many-shot
گاهی افراد فکر میکنند «هرچه مثال بیشتر، بهتر» و پرامپتهای ۲۰ مثاله میسازند بدون آنکه از مزیتهای Many-shot واقعی استفاده کنند. ۲۰ مثال نه به اندازه Few-shot سبک است و نه به اندازه Many-shot دقیق. یا ۵ مثال خوب بدهید یا ۱۰۰ مثال متنوع.
۴. تست نکردن سیستماتیک
بدون داشتن مجموعهی ارزیابی، نمیتوانید بفهمید کدام روش برای تسک شما بهتر است. حداقل ۱۰ تا ۲۰ نمونهی متنوع را با هر روش تست کنید و دقت را اندازه بگیرید. این کار را با ابزارهایی مثل Promptfoo یا LangSmith میتوان خودکار کرد.
۵. کپی کردن مثالها از دادههای تست
اگر مثالهای پرامپت شما همان نمونههایی باشد که میخواهید روی آنها ارزیابی کنید، نتایج اعتبار ندارد. مثالهای پرامپت و نمونههای ارزیابی باید کاملاً مجزا باشند.
۶. نادیده گرفتن هزینهی توکن در production
در محیط توسعه شاید تفاوت بین Zero-shot و Many-shot برایتان مهم نباشد. اما در production با هزاران درخواست در روز، هزینهی Many-shot بهسرعت سرسامآور میشود. روش بهینه را با محاسبه هزینه بهازای هر پاسخ انتخاب کنید.
نکات حرفهای انتخاب روش
چند توصیهی عملی که از تجربهی پروژههای واقعی فارسی به دست آمدهاند:
تنوع زبانی فارسی را در نظر بگیرید
زبان فارسی در محاوره و رسمی تفاوت زیادی دارد. اگر هدف شما کار با متنهای محاورهای است (مثل پیامهای مشتری در شبکههای اجتماعی)، حتماً مثالهای Few-shot شما هم باید محاورهای باشند. این یکی از مهمترین تنظیمات است که اکثر تیمها فراموش میکنند.
ZWNJ و نیمفاصله در مثالها
اگر میخواهید مدل خروجی فارسی استاندارد با نیمفاصلهی درست بدهد، باید نمونههای شما هم از نیمفاصله درست استفاده کنند. مدل دقیقاً همان الگوی نگارشی مثالها را تقلید میکند.
کلمات خاص دامنه را در مثال بیاورید
اگر در حوزهی پزشکی، حقوقی یا فنی کار میکنید، اصطلاحات خاص آن دامنه را در مثالها بگنجانید. این کار به مدل کمک میکند بفهمد چه واژگانی در خروجی مورد انتظار است.
پرامپتها را نسخهبندی کنید
وقتی روی Few-shot کار میکنید، هر تغییر در مثالها میتواند خروجی را عوض کند. مثل کد، پرامپتها را در Git یا یک سیستم نسخهبندی نگه دارید تا بدانید کدام نسخه چه دقتی داشت.
از Hybrid استفاده کنید
گاهی پاسخ بهینه ترکیبی است: برای ۸۰ درصد ورودیهای آسان از Zero-shot استفاده کنید و فقط برای ۲۰ درصد ورودیهای دشوار Few-shot را فعال کنید. این روش هزینه را پایین و دقت را بالا نگه میدارد.
چکلیست انتخاب روش
قبل از قطعی کردن انتخاب، این لیست را مرور کنید:
- آیا با Zero-shot تست کردهاید و دقت قابل قبول نبود؟
- آیا تعداد کلاسها یا حالتهای ممکن را شمردهاید؟
- برای هر کلاس حداقل یک مثال در Few-shot دارید؟
- توازن بین مثالها رعایت شده است؟
- ترتیب مثالها متنوع و غیر تکراری است؟
- مثال نهایی یک نمونهی نمایندهی معمولی است؟
- مجموعهای از ۱۰ تا ۲۰ نمونهی تست جدا دارید؟
- هزینه توکن هر درخواست را محاسبه کردهاید؟
- اگر Many-shot استفاده میکنید، prompt caching فعال است؟
- پرامپتهای مختلف را با هم مقایسه کردهاید؟
میخواهید پرامپتنویسی را اصولی و حرفهای یاد بگیرید؟
در دوره جامع مهندسی پرامپت آکادمی متین لبخندق، Zero-shot، One-shot، Few-shot، Many-shot و ترکیب آنها با Chain-of-Thought را با پروژههای واقعی فارسی تمرین میکنید.
ثبتنام در دوره مهندسی پرامپتسوالات متداول
Zero-shot Learning چیست؟
تفاوت Zero-shot و Few-shot چیست؟
One-shot Learning چیست و کی استفاده میشود؟
In-Context Learning چیست؟
Many-shot Learning چیست و چه تفاوتی با Few-shot دارد؟
کدام روش برای ChatGPT و Claude بهتر است؟
آیا Zero-shot به Fine-tuning نیاز دارد؟
چرا One-shot معمولاً ضعیفتر از Few-shot است؟
چه زمانی Zero-shot کافی است؟
جمعبندی
چهار روش Zero-shot، One-shot، Few-shot و Many-shot Learning در پرامپتنویسی، تفاوت سادهای دارند: تعداد مثالهایی که به مدل میدهید. اما همین تفاوت ساده میتواند تعیینکنندهی موفقیت یا شکست یک محصول AI باشد.
قانون طلایی این است: سادهترین روشی که کار میکند را انتخاب کنید. Zero-shot برای تسکهای عمومی. Few-shot با ۳ تا ۵ مثال متعادل برای تسکهای اختصاصی. One-shot را معمولاً فقط برای قفل کردن فرمت استفاده کنید. Many-shot را زمانی که Few-shot به سقف رسیده و دقت برای کسبوکار حیاتی است.
برای عمیقتر شدن در هر یک از این روشها، مقالات تخصصی Few-shot Learning، Chain-of-Thought و اصول پرامپتنویسی را در بلاگ ما مطالعه کنید.
نکات کلیدی برای یادآوری
- تفاوت چهار روش فقط در تعداد مثالهای درون پرامپت است؛ نه در آموزش مدل.
- همیشه با Zero-shot شروع کنید و فقط در صورت نیاز مثال اضافه کنید.
- One-shot برای قفل کردن فرمت خوب است، نه برای کلاسبندی چندحالته.
- Few-shot با ۳ تا ۵ مثال نقطهی شیرین اکثر کاربردهای حرفهای است.
- Many-shot برای موارد خاص با مدلهای long-context طراحی شده.
- هر روش را با هر چهار سطح Chain-of-Thought میتوانید ترکیب کنید.
- قبل از انتخاب نهایی، حداقل ۱۰ نمونهی متنوع را با هر روش تست کنید.
قدم بعدی
اگر آمادهاید مهندسی پرامپت را بهصورت اصولی و با پروژههای واقعی فارسی یاد بگیرید، سرفصلهای دوره را ببینید.
مشاهده سرفصلهای دوره