آموزش تکنیک few-shot در پرامپت‌نویسی هوش مصنوعی

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

آموزش · پرامپت‌نویسی

تکنیک few-shot یکی از آن مهارت‌هایی است که تفاوتِ یک جوابِ معمولی و یک جوابِ حرفه‌ای را رقم می‌زند؛ بدون آنکه به مدلِ گران‌تر یا ابزارِ خاصی نیاز داشته باشید. کافی است به‌جای «توضیح دادن»، چند «مثال» نشان بدهید.

چکیده. در این آموزش یاد می‌گیرید few-shot دقیقاً چیست، چه فرقی با zero-shot دارد، آناتومی یک پرامپت few-shot خوب چگونه است و چطور گام‌به‌گام اولین نمونه‌تان را بسازید. سپس سه کاربردِ پرتکرار — دسته‌بندی، استخراج داده و هم‌لحن‌سازی — را با پرامپت‌های واقعی و آماده مرور می‌کنیم و در پایان، اشتباهاتِ رایجی که خروجی را خراب می‌کنند کنار می‌گذاریم. همهٔ نمونه‌ها با ChatGPT، Claude، Gemini و هر مدلِ زبانیِ دیگری کار می‌کنند.

آموزش تکنیک few-shot در پرامپت‌نویسی هوش مصنوعی

۱. few-shot چیست و چرا این‌قدر مؤثر است؟

«few-shot» یعنی «چند نمونه‌ای». در این روش، پیش از آنکه سؤالِ اصلی را بپرسید، چند مثال از «ورودی» و «خروجیِ دلخواه» را داخلِ پرامپت می‌گذارید تا مدل الگو را ببیند و همان را برای ورودیِ جدید تکرار کند. مدل‌های زبانی توانایی جالبی به‌نام «یادگیری در متن» (in-context learning) دارند: بدون آنکه دوباره آموزش ببینند، فقط از روی نمونه‌هایی که در همان پیام می‌بینند، رفتارشان را تنظیم می‌کنند.

چرا این‌قدر خوب کار می‌کند؟ چون بخش بزرگی از ابهام، از توضیح‌های کلامی می‌آید. وقتی می‌گویید «خلاصهٔ کوتاه بده»، «کوتاه» برای شما یعنی یک جمله و برای مدل شاید یک پاراگراف. اما وقتی یک نمونهٔ واقعی از خروجیِ کوتاه نشان می‌دهید، دیگر جای تفسیر نمی‌ماند. اگر تازه با مفاهیم پایه آشناشده‌اید، پیشنهاد می‌کنیم ابتدا مطلب پرامپت‌نویسی برای مبتدی‌ها را ببینید تا این آموزش روان‌تر پیش برود.

مثال: «احساسِ هر نظر را در یک کلمه مشخص کن (مثبت/منفی/خنثی). نمونه: «بسته‌بندی عالی بود» ← مثبت. نمونه: «کیفیت افتضاح بود» ← منفی. نمونه: «همان چیزی بود که انتظار داشتم» ← خنثی. حالا: «قیمتش کمی بالاست ولی می‌ارزد» ←»

۲. تفاوت zero-shot، one-shot و few-shot

سه سطح داریم. در zero-shot هیچ مثالی نمی‌دهید و فقط دستور می‌دهید؛ سریع است ولی خروجی می‌تواند بی‌قواره باشد. در one-shot یک مثال می‌گذارید و در few-shot چند مثال. هرچه نمونه‌ها بیشتر و متنوع‌تر باشند، مدل الگو را بهتر می‌گیرد — البته تا یک حدِ منطقی که جلوتر دربارهٔ آن حرف می‌زنیم.

برای اینکه تفاوت را حس کنید، یک کارِ ساده مثل ترجمه با لحنِ مشخص را در دو حالت ببینید. در حالتِ بدون مثال، مدل لحن را حدس می‌زند؛ در حالتِ few-shot، لحن را از روی نمونه‌ها «قفل» می‌کند.

مثال: «فارسی را به انگلیسیِ رسمی و مؤدبانه ترجمه کن. نمونه: «صبح بخیر» ← Good morning, I hope this message finds you well. نمونه: «ممنون از وقتی که گذاشتید» ← Thank you very much for your time. حالا: «لطفاً فایل را تا فردا برایم بفرستید» ←»

۳. آناتومی یک پرامپت few-shot خوب

یک پرامپت few-shot تمیز معمولاً چهار بخش دارد: نخست یک دستورِ کوتاه که کار را توصیف می‌کند؛ سپس چند نمونه با قالبِ کاملاً یکدست؛ بعد ورودیِ نهایی که می‌خواهید مدل رویش کار کند؛ و در آخر یک نشانگر (مثل «←» یا «خروجی:») که به مدل می‌گوید حالا نوبتِ توست. یکدست‌بودنِ قالبِ نمونه‌ها مهم‌ترین نکته است، چون مدل عیناً از همان ساختار تقلید می‌کند.

یک ترفندِ حرفه‌ای، استفاده از «جداکننده» است؛ مثلاً هر نمونه را داخل سه خط تیره یا برچسب‌های مشخص بگذارید تا مدل مرزِ نمونه‌ها را گم نکند. این کار مخصوصاً وقتی ورودی‌ها چندخطی هستند نجات‌بخش است. برای دیدنِ نمونه‌های بیشتر و آموزش‌های کاربردیِ ChatGPT می‌توانید به بخش آموزش‌های ChatGPT سر بزنید.

مثال: «عنوانِ خبری کوتاه (زیر ۱۰ کلمه) بساز؛ هر نمونه با خط‌تیره جدا شده است. — متن: قیمت طلا امروز افزایش یافت ← عنوان: جهش قیمت طلا در بازار امروز — متن: تیم ملی در بازی دوستانه به تساوی رسید ← عنوان: تساوی تیم ملی در دیدار دوستانه — متن: شرکت فناوری از دستیار هوش مصنوعی تازه رونمایی کرد ← عنوان:»

تفاوت zero-shot و few-shot در پرامپت نویسی هوش مصنوعی

۴. گام‌به‌گام: ساخت اولین پرامپت few-shot

ساختِ یک پرامپت few-shot را می‌توان در چهار گام انجام داد. گامِ اول، خروجیِ دلخواه را دقیق تعریف کنید: چه قالبی، چه طولی، چه لحنی؟ گامِ دوم، دو تا پنج نمونهٔ واقعی از همان جفتِ ورودی-خروجی آماده کنید. گامِ سوم، قالبِ همهٔ نمونه‌ها را یکدست کنید (همان جداکننده، همان ترتیب، همان برچسب‌ها). گامِ چهارم، ورودیِ تازه را زیرِ نمونه‌ها بگذارید و با یک نشانگر تمامش کنید.

بیایید یک نمونهٔ واقعی از پشتیبانیِ مشتری بسازیم؛ جایی که لحن و کوتاهیِ پاسخ خیلی مهم است. دقت کنید هر سه نمونه دقیقاً یک ساختار دارند: پیام مشتری، بعد پاسخِ کوتاه و همدلانه.

مثال: «به‌عنوان پشتیبانِ مؤدبِ یک فروشگاه، پاسخِ کوتاه و همدلانه بده. پیام: سفارشم دیر رسید ← پاسخ: بابت تأخیر واقعاً عذر می‌خواهیم؛ کد پیگیری را بفرستید تا فوری بررسی کنیم. پیام: محصول ایراد داشت ← پاسخ: متأسفیم که این تجربه را داشتید؛ همین حالا تعویض یا بازگشت وجه را برایتان ثبت می‌کنیم. پیام: چطور سفارشم را لغو کنم؟ ← پاسخ:»

۵. کاربرد اول: دسته‌بندی و برچسب‌زنی

یکی از پرکاربردترین جاهای few-shot، دسته‌بندیِ خودکار است: تفکیکِ نظرها، مرتب‌سازیِ تیکت‌های پشتیبانی، برچسب‌زدن به ایمیل‌ها یا تشخیصِ موضوع. در این کارها، zero-shot اغلب برچسب‌های نامنظم می‌سازد، اما با چند نمونه، مدل دقیقاً به «مجموعهٔ برچسب‌های شما» پایبند می‌ماند و از خودش دسته‌بندیِ جدید نمی‌سازد.

نکتهٔ مهم این است که در نمونه‌ها، از هر دسته حداقل یک مثال بیاورید تا مدل مرزِ دسته‌ها را یاد بگیرد. اگر تنها مثال‌های «مثبت» بدهید، مدل در تشخیصِ موارد منفی ضعیف عمل می‌کند. این همان تفاوتی است که در عمل، کیفیتِ ابزارهای واقعیِ هوش مصنوعی را می‌سازد؛ موضوعی که در تحلیلِ اهمیت هوش مصنوعی در کسب‌وکار هم به آن پرداخته‌ایم.

مثال: «تیکتِ پشتیبانی را در یکی از دسته‌ها بگذار: [فنی]، [مالی]، [عمومی]. نمونه: کارت بانکی‌ام کسر شد ولی سفارش ثبت نشد ← [مالی]. نمونه: اپلیکیشن هنگام ورود می‌بندد ← [فنی]. نمونه: ساعت کاری پشتیبانی چند است؟ ← [عمومی]. حالا: نمی‌توانم رمز عبورم را بازیابی کنم ←»

۶. کاربرد دوم: استخراج و قالب‌دهیِ داده

اگر تا حالا خواسته‌اید از یک متنِ آزاد، داده‌ی ساختاریافته (مثلاً JSON یا جدول) بیرون بکشید، می‌دانید که zero-shot معمولاً قالب را هر بار کمی متفاوت می‌دهد. few-shot این مشکل را ریشه‌ای حل می‌کند: با یکی‌دو نمونه، مدل عیناً همان کلیدها، همان ترتیب و همان نوعِ داده را برای بقیه هم رعایت می‌کند. این دقت برای اتوماسیون و اتصال به کدِ برنامه حیاتی است.

در نمونهٔ زیر، خروجی را به‌صورت JSON با کلیدهای مشخص قفل می‌کنیم. توجه کنید که ثبات در نامِ کلیدها، همان چیزی است که باعث می‌شود بتوانید خروجی را مستقیم در برنامه‌تان مصرف کنید.

مثال: «از هر جمله، نام و شهر را به‌صورت JSON دربیاور. نمونه: «علی از تهران تماس گرفت» ← {“name”:”علی”,”city”:”تهران”}. نمونه: «سارا از اصفهان ایمیل زد» ← {“name”:”سارا”,”city”:”اصفهان”}. حالا: «مریم از شیراز پیام داد» ←»

مثال عملی پرامپت چند نمونه‌ای برای خروجی ساختاریافته JSON

۷. کاربرد سوم: هم‌لحن‌سازی و بازنویسی

یکی از قدرت‌های پنهانِ few-shot، «کلون‌کردنِ لحن» است. اگر می‌خواهید متن‌ها همه با یک صدای برند نوشته شوند، به‌جای توصیفِ لحن («صمیمی ولی حرفه‌ای»)، چند نمونهٔ واقعی از همان لحن نشان دهید. مدل سبک، طولِ جمله‌ها و حتی نوعِ ایموجی را از روی نمونه‌ها برمی‌دارد. این کار برای کپشنِ شبکه‌های اجتماعی، ایمیلِ خبرنامه و توضیحاتِ محصول عالی است.

همین‌جا یک واقعیت را هم بپذیریم: few-shot معجزه نمی‌کند و مدل همچنان محدودیت‌های خودش را دارد؛ بحثی که در مطلبِ توان و محدودیت‌های واقعیِ هوش مصنوعی بازش کرده‌ایم. اما برای هم‌لحن‌سازی، few-shot نزدیک‌ترین چیز به یک دکمهٔ جادویی است.

مثال: «کپشنِ کوتاه و پرانرژی برای اینستاگرام بنویس، با یک ایموجی. نمونه: محصول: قهوهٔ تازه‌رست ← کپشن: صبحت را با یک فنجان عشقِ داغ شروع کن ☕ نمونه: محصول: دفترچهٔ یادداشت ← کپشن: ایده‌هایت لیاقتِ یک خانهٔ خوش‌دست دارند ✍️ حالا: محصول: هدفونِ بی‌سیم ←»

۸. اشتباهات رایج و نکات پیشرفته

رایج‌ترین اشتباه، قالبِ ناهماهنگِ نمونه‌ها است؛ اگر یک نمونه را با «←» و دیگری را با «:» بنویسید، مدل گیج می‌شود. اشتباه دوم، مثالِ بیش از حد است؛ ده نمونه معمولاً بهتر از پنج‌تا نیست، فقط توکن می‌سوزاند و گاهی مدل را روی الگوی خاصی سوگیر می‌کند. اشتباه سوم، نمونه‌های هم‌شکل است؛ اگر همهٔ مثال‌ها شبیه هم باشند، مدل موارد متفاوت را بد جواب می‌دهد.

و اما نکاتِ پیشرفته: ترتیبِ نمونه‌ها اهمیت دارد و گاهی آخرین نمونه بیشترین اثر را می‌گذارد، پس نمونهٔ نزدیک‌تر به ورودیِ واقعی را ته لیست بگذارید. می‌توانید «نمونهٔ منفی» هم اضافه کنید («این‌طوری ننویس») تا مرزها روشن‌تر شود. در نهایت، few-shot را با «زنجیرهٔ تفکر» ترکیب کنید تا مدل قبل از جوابِ نهایی، استدلال کند. تفاوتِ کسی که این ریزه‌کاری‌ها را بلد است با یک کاربر معمولی، دقیقاً مثل تفاوتی است که در یادداشتِ توسعه‌دهندهٔ تنها در برابر مهندسِ واقعی توصیف شده. اگر کنجکاوید مدل‌های مختلف در این کارها چطورند، مقایسهٔ ChatGPT در برابر DeepSeek و همچنین آشنایی با OpenAI چیست نقطهٔ خوبی برای شروع است.

مثال: «مثل نمونه‌ها یک شعارِ تبلیغاتیِ کوتاه بساز و از سبکِ «طولانی و توضیحی» پرهیز کن. نمونهٔ خوب: محصول: کفشِ دویدن ← شعار: سبک بدو، دور برو. نمونهٔ بد (این‌طوری ننویس): «این کفش با فناوری پیشرفته به شما کمک می‌کند سریع‌تر و راحت‌تر بدوید». حالا: محصول: بطریِ آبِ هوشمند ←»

پرسش‌های پرتکرار

چند مثال برای few-shot لازم است؟ معمولاً ۲ تا ۵ نمونه بهترین نتیجه را می‌دهد. اگر کار پیچیده و چنددسته‌ای است، از هر دسته دست‌کم یک نمونه بیاورید؛ اما از انباشتنِ ده‌ها مثال بپرهیزید.

few-shot بهتر است یا fine-tuning؟ برای بیشترِ کارهای روزمره، few-shot سریع‌تر، ارزان‌تر و بدونِ نیاز به آموزشِ مدل است. fine-tuning وقتی معنا پیدا می‌کند که حجمِ کار خیلی زیاد و الگو کاملاً تثبیت‌شده باشد.

آیا few-shot توکنِ بیشتری مصرف می‌کند؟ بله، چون نمونه‌ها بخشی از پرامپت‌اند. اما در عوض از رفت‌وبرگشت و اصلاحِ مکرر جلوگیری می‌کند، پس در عمل اغلب در وقت و هزینه صرفه‌جویی می‌شود.

جمع‌بندی. few-shot یعنی به‌جای «توضیح دادنِ» خروجیِ دلخواه، آن را «نشان دادن». با ۲ تا ۵ نمونهٔ یکدست و متنوع، لحن و قالب و دقتِ خروجی را قفل می‌کنید و خیلی زود از یک کاربر معمولی به یک پرامپت‌نویسِ حرفه‌ای تبدیل می‌شوید. همین امروز یک کار تکراری‌تان را با few-shot بازطراحی کنید و تفاوت را ببینید. برای دریافتِ روزانهٔ پرامپت‌های آمادهٔ کپی و تازه‌ترین اخبار هوش مصنوعی، در کانالِ ما همراه شوید: @MrChatGPT_IR

نسخهٔ فوری این مطلب در تلگرام: اینجا بخوانید

(0 رأی)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

ورود | ثبت نام
شماره موبایل یا پست الکترونیک خود را وارد کنید

روش دریافت کد تایید

ورود / ثبت‌نام با گوگل

ورود با تلگرام

ورود با لینک جادویی

برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
کد تایید از طریق بازوی "رمز یکبار مصرف (OTP)" در پیام رسان بله برای شما ارسال شد"
برای دریافت کد تایید، شماره زیر را با موبایل خود به صورت کاملاً رایگان شماره گیری کنید"
تا لحظاتی دیگر برای اعلام کد تایید با شما تماس خواهیم گرفت
ارسال مجدد کد تا دیگر

روش دریافت کد تایید

ورود / ثبت‌نام با گوگل

ورود با تلگرام

ورود با لینک جادویی

برگشت
رمز عبور را وارد کنید
رمز عبور حساب کاربری خود را وارد کنید

ورود / ثبت‌نام با گوگل

ورود با تلگرام

ورود با لینک جادویی

برگشت
درخواست بازیابی رمز عبور
لطفاً پست الکترونیک یا موبایل خود را وارد نمایید

ورود / ثبت‌نام با گوگل

ورود با تلگرام

ورود با لینک جادویی

برگشت
کد تایید را وارد کنید
کد تایید برای شماره موبایل شما ارسال گردید
ارسال مجدد کد تا دیگر

ورود / ثبت‌نام با گوگل

ورود با تلگرام

ورود با لینک جادویی

ایمیل بازیابی ارسال شد!
لطفاً به صندوق الکترونیکی خود مراجعه کرده و بر روی لینک ارسال شده کلیک نمایید.

ورود / ثبت‌نام با گوگل

ورود با تلگرام

ورود با لینک جادویی

تغییر رمز عبور
یک رمز عبور برای اکانت خود تنظیم کنید

ورود / ثبت‌نام با گوگل

ورود با تلگرام

ورود با لینک جادویی

تغییر رمز با موفقیت انجام شد

ورود / ثبت‌نام با گوگل

ورود با تلگرام

ورود با لینک جادویی

دریافت ۵۰ پرامپت برای سوالات پیچیده

دریافت فایل