پرامپت چیست و چرا کار میکند
جواب کوتاه
پرامپت متنیه که به مدل زبانی میدیم. مدل فقط یه کار بلده: با توجه به همهی متن قبل، کلمهی بعد رو پیشبینی کنه. پس هر کلمهای که توی پرامپت هست، احتمال کلمههای بعد رو جابهجا میکنه؛ برای همین زمینه، نقش، دلیل و نمونه جواب رو عوض میکنن. پرامپت وزنهای مدل رو عوض نمیکنه؛ فقط همون یه جواب رو هدایت میکنه.
یعنی چی
مدل فقط یه کار بلده: ادامهی متن رو حدس بزنه. پرامپت همون متن اوله.
توی درس پیشبینی تکهی بعد دیدیم مدل زبانی یه متن میگیره و محتملترین تکهی بعدش رو میسازه؛ بعد اون تکه رو به متن اضافه میکنه و دوباره. به متنی که ما اول بهش میدیم میگن پرامپت. یه سوال باشه، یه دستور، یه نامهی نصفه، یا یه فایل بلند با یه خواسته تهش؛ برای مدل همهش یه چیزه: متنی که باید ادامهش بده.
اگه تازه با پرامپت آشنا میشید، درس سادهترش توی مسیر پایه هست: پرامپت چیست. این درس میره سراغ اینکه از درون مدل چه اتفاقی میافته.
چرا کار میکنه
واژهنامهی Claude میگه مدلهای زبانی آموزش میبینن تا کلمهی بعد رو «با توجه به متن قبلش» پیشبینی کنن. کلمهی مهم همین «متن قبل»ه. مدل برای انتخاب کلمهی بعد، فقط به کلمهی آخر نگاه نمیکنه؛ به همهی چیزی که تا اینجا اومده نگاه میکنه.
یعنی پرامپت شما دکمه یا فرمان نیست. یه زمینهست که احتمال همهی کلمههای بعدی رو جابهجا میکنه. یه کلمهی کوچیک اول متن میتونه کل جواب رو ببره یه سمت دیگه. بیاید ببینیم.
ببینیم
یه مدل خیلی کوچیک ساختیم که کل متن قبل رو نگاه میکنه، و شش جمله بهش دادیم: نونوا میگه «صبح نون تازه داریم»، کافهچی میگه «صبح چای تازه داریم»، میوهفروش میگه «صبح سیب تازه داریم»، و برای عصر هم هر کدوم یه جمله.
اگه فقط بگیم «صبح»، مدل نمیدونه کجاییم: نون، چای و سیب هر کدوم ۳۳ درصد. ولی کافیه یه کلمه اولش بذاریم. «نونوا: صبح» و نون ۱۰۰ درصد میشه. «کافهچی: صبح» و چای. هیچ چیز مدل عوض نشد؛ فقط متن اول عوض شد. مدلهای واقعی میلیاردها جمله دیدن، برای همین زمینهای که بهشون میدید، از بین میلیونها ادامهی ممکن، یه دستهی کوچیک رو جلو میآره.
توی چتبات
وقتی با یه چتبات حرف میزنید، چیزی که تایپ میکنید تنها متن نیست. توی درس نقشها در گفتوگو دیدیم گفتوگو به یه متن با نقشهای مشخص تبدیل میشه، و معمولا یه پیام سیستمی هم اولش هست.
مدل همهی اینا رو با هم میبینه و ادامهی جای «دستیار» رو میسازه. پس پیام سیستمی، پیامهای قبلی گفتوگو و پیام شما، همه با هم پرامپتن. برای همین یه جملهی قبلی توی همون گفتوگو هنوز روی جواب اثر داره؛ تا وقتی توی پنجرهی زمینه جا بشه.
خانوادهی ترفندها
هر چیزی که توی پرامپت مینویسید، یکی از چند تا ترفند شناختهشدهست؛ و هر کدوم توی این ایستگاه یه درس داره.
سادهترینش پرامپت بی نمونهست: فقط دستور. اگه چند تا نمونهی ورودی و خروجی هم بذارید، میشه یاد دادن با مثال. اگه بخواید مدل اول فکر کنه و بعد جواب بده، میشه فکر کردن قدم به قدم. اگه قالب جواب براتون مهمه، مثلا یه جدول یا دادهای که یه برنامه بخونه، میشه خروجی ساختاریافته. و اگه نقش و قانونهای ثابت میخواید، میشه پیام سیستمی. اکثر پرامپتهای خوب چند تا از اینها رو با هم دارن.
چی بهترش میکنه
راهنمای پرامپت Claude یه تشبیه خوب داره: مدل رو مثل یه کارمند تازهی خیلی باهوش ببینید که از کار و عادتهای شما هیچ خبری نداره. هر چی دقیقتر بگید چی میخواید، نتیجه بهتره.
همون راهنما چهار چیز رو جدا میگه. کار رو روشن بگید، با قالب و محدودیتهاش. دلیلش رو بگید؛ مثلا «سهنقطه نذار» کمتر کار میکنه تا «جوابت بلند خونده میشه و دستگاه نمیدونه سهنقطه رو چطور بخونه، پس سهنقطه نذار». نمونه بدید، چون نمونه یکی از مطمئنترین راهها برای گرفتن قالب و لحن دلخواهه. و نقش بدید؛ حتی یه جمله مثل «تو یه ویراستار دقیقی» لحن رو متمرکز میکنه.
و یه قانون طلایی: پرامپتتون رو به یه همکار که از کار خبر نداره نشون بدید. اگه اون گیج شد، مدل هم گیج میشه. حالا با آزمایش خودمون میفهمیم چرا: هر کدوم از این چهار تا، زمینهی بیشتریه که احتمالها رو به سمت جواب درست هل میده.
چیزی یاد نمیده
یه چیز مهم: پرامپت مدل رو عوض نمیکنه. توی آزمایش ما، مدل همون مدل موند؛ فقط متن اول فرق کرد. یه پژوهش ۲۰۲۰ با یه مدل ۱۷۵ میلیاردی نشون داد مدل بزرگ میتونه خیلی کارها رو بی هیچ تغییری توی وزنهاش، فقط با یه دستور و چند نمونه توی متن، انجام بده.
این هم خوبه هم محدودیت داره. خوبه چون بی هیچ هزینهی آموزشی، فقط با عوض کردن متن، رفتار عوض میشه. محدودیت داره چون گفتوگوی تازه از صفر شروع میشه و مدل چیزی از قبلی یادش نیست. اگه میخواید رفتاری برای همیشه توی خود مدل بشینه، اون کار فاینتیونه. واژهنامهی Claude هم میگه یه مدل خام خیلی مهارت پرامپت میخواد تا کاری که میخواید رو بکنه؛ دستیارها چون بعدش آموزش دیدن، با پرامپت سادهتر هم راه میان.
چرا یه تغییر کوچیک فرق بزرگ میسازه
یه چیز عجیب دربارهی پرامپت: شکل نوشتنش، حتی وقتی معنیش عوض نمیشه، میتونه جواب رو خیلی عوض کنه.
یه پژوهش ۲۰۲۳ چند مدل باز رو با قالبهای مختلف یه پرامپت امتحان کرد؛ قالبهایی که فقط توی علامتها، فاصلهها یا بزرگ و کوچیکی حرفها فرق داشتن. با یه مدل ۱۳ میلیاردی، درستی جوابها بسته به قالب تا ۷۶ امتیاز درصدی فرق کرد. این حساسیت با بزرگتر شدن مدل، بیشتر شدن نمونهها یا تنظیم با دستور هم از بین نرفت. پیشنهاد پژوهش این بود که بهجای یه عدد، محدودهی نتیجه روی چند قالب گزارش بشه.
درس عملیش برای شما: اگه یه پرامپت جواب خوب نداد، فقط کلمهها رو عوض نکنید؛ شکلش رو هم عوض کنید، و اگه یه پرامپت برای یه کار مهمه، اون رو روی چند نمونه امتحان کنید، نه یکی.
چند نکته
- پرامپت فرمان نیست، زمینهست. هر کلمهش احتمالها رو جابهجا میکنه.
- هر چی مدل باید بدونه، بگید. از کار شما خبر نداره.
- دلیل بگید، نمونه بدید. مدل از دلیل، قاعده رو بهتر میفهمه.
- گفتوگوی تازه، از صفر. چیزی که قبلا گفتید، اینجا نیست.
درس بعد این چهار چیز رو مرتب میکنه و چندتای دیگه هم اضافه میکنه: مهندسی پرامپت.
جمعبندی. آنچه از این درس با خودتان میبرید.
- پرامپت، متن اوله؛ مدل ادامهش رو میسازه.
- هر کلمه، احتمال کلمهی بعد رو جابهجا میکنه.
- توی چت، پرامپت شما کنار پیام سیستمی و نقشهاست.
- کار، دلیل، نمونه و نقش رو بگید.
- پرامپت وزنها رو عوض نمیکنه.
خودتون رو بسنجید
۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو میبینید: چند تا درست، چند تا نادرست.