پرامپت خودپرسشگر Self-Ask برای پرسش‌های چندمرحله‌ای

پرامپت خودپرسشگر (Self-Ask)؛ کاری کن هوش مصنوعی قبل از جواب از خودش بپرسد

⏱ زمان مطالعه: حدود ۱۱ دقیقه✏️ تمرین دارد
آموزش · پرامپت‌نویسی

وقتی یک پرسش چندمرحله‌ای جلوی هوش مصنوعی می‌گذاری، مدل معمولاً یک‌راست می‌پرد سراغ جواب نهایی و وسط راه یک حلقه را جا می‌اندازد؛ جوابی می‌گیری که مطمئن به‌نظر می‌رسد ولی یک مرحله‌اش غلط است. تکنیک «خودپرسی» یا Self-Ask این عادت را می‌شکند: به مدل می‌گویی پیش از پاسخ نهایی، خودش پرسش‌های پیگیرِ لازم را بسازد، یکی‌یکی جوابشان را بدهد و تازه بعد به جمع‌بندی برسد.

چکیده. خودپرسی یا Self-Ask تکنیکی است که پژوهشگر اوفیر پرس و همکارانش در مقالهٔ «Measuring and Narrowing the Compositionality Gap in Language Models» در سال ۲۰۲۲ معرفی کردند. ایدهٔ اصلی این است که مدل‌ها اغلب می‌توانند به تک‌تک پرسش‌های ساده جواب درست بدهند ولی در چسباندن آن جواب‌ها به هم شکست می‌خورند؛ به این فاصله «شکاف ترکیب‌پذیری» می‌گویند. خودپرسی این شکاف را با وادارکردن مدل به ساختن و پاسخ‌دادنِ صریحِ پرسش‌های میانی کم می‌کند. در این آموزش متن کامل پرامپت، چهار نسخهٔ موقعیتی، تفاوتش با تجزیه و زنجیرهٔ تفکر و اشتباه‌های رایج را می‌بینی.
پرامپت خودپرسشگر Self-Ask برای پرسش‌های چندمرحله‌ای

خودپرسی چیست و چرا لازم است

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

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

تفاوت ظریف ولی مهم اینجاست: در خودپرسی، مدل خودش پرسش‌های میانی را کشف می‌کند. تو از قبل نمی‌دانی چند حلقه لازم است؛ همین که مدل مجبور می‌شود هر حلقه را به‌صورت یک پرسش صریح بنویسد و جوابش را جدا بدهد، دیگر نمی‌تواند وسط راه یک مرحله را قیچی کند.

شکاف ترکیب‌پذیری؛ ریشهٔ پژوهشی خودپرسی

این تکنیک ریشه در مقالهٔ «Measuring and Narrowing the Compositionality Gap in Language Models» دارد که نویسندهٔ اصلی‌اش اوفیر پرس بود و در سال ۲۰۲۲ منتشر شد. پژوهشگران یک پدیدهٔ عجیب را اندازه گرفتند: مدل به هر دو پرسشِ سادهٔ «مدیرعامل فعلی فلان شرکت کیست؟» و «او متولد چه سالی است؟» جداگانه جواب درست می‌دهد، ولی وقتی همان دو را در یک پرسشِ ترکیبی می‌چسبانی، اغلب جواب را اشتباه می‌دهد.

به این فاصله بین «توانِ پاسخ به اجزا» و «توانِ پاسخ به کلِ ترکیب‌شده»، شکاف ترکیب‌پذیری (Compositionality Gap) می‌گویند. نکتهٔ نگران‌کننده‌ای که مقاله نشان داد این بود که بزرگ‌ترشدنِ مدل این شکاف را چندان کم نمی‌کند؛ مدل‌های بزرگ‌تر به اجزا بهتر جواب می‌دهند ولی در ترکیب‌کردن به همان نسبت بهتر نمی‌شوند.

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

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

متن کامل پرامپت خودپرسشگر

این متن را می‌توانی مستقیم کپی کنی و پیش از پرسشت بگذاری:

به این پرسش یک‌راست جواب نده. اول تصمیم بگیر که برای رسیدن به جواب، چه پرسش‌های پیگیری لازم است. هر پرسش پیگیر را جداگانه بنویس و بلافاصله جوابش را بده، بعد بپرس آیا پرسش پیگیر دیگری لازم است یا نه. وقتی دیگر پرسشی نماند، بر اساس همان جواب‌های میانی، جواب نهایی را بده.

چهار جزء این پرامپت هرکدام کار مشخصی می‌کنند:

«یک‌راست جواب نده» — بازدارندهٔ اصلی است. بدون آن، مدل جواب نهایی را حدس می‌زند و بعد پرسش‌ها را به‌عنوان توجیه ردیف می‌کند؛ یعنی برعکس چیزی که می‌خواهی.

«چه پرسش‌های پیگیری لازم است» — مدل را وادار می‌کند حلقه‌های پنهانِ مسئله را کشف کند، نه اینکه تو از قبل فهرستشان کنی.

«جداگانه بنویس و بلافاصله جوابش را بده» — قلبِ تکنیک است. همین جدا نوشتنِ پرسش و جواب است که جلوی پرش و جاافتادگی را می‌گیرد.

«بر اساس همان جواب‌های میانی، جواب نهایی را بده» — تضمین می‌کند جوابِ آخر واقعاً از حلقه‌ها ساخته شود، نه یک حدسِ مستقل.

متن کامل پرامپت خودپرسشگر برای هوش مصنوعی

چهار نسخهٔ موقعیتی

نسخهٔ کسب‌وکار و تصمیم‌گیری

این تصمیم را یک‌راست نگیر. اول بپرس برای گرفتنِ درستِ این تصمیم چه چیزهایی را باید بدانم؛ هر مورد را به یک پرسش پیگیر تبدیل کن و بلافاصله با فرض‌ها یا داده‌های موجود جوابش را بده. بعد بپرس آیا پرسش دیگری مانده. در پایان بر پایهٔ همان جواب‌ها یک توصیهٔ نهایی بده و بگو کدام فرض اگر عوض شود، توصیه هم عوض می‌شود.

نسخهٔ کدنویسی و رفع اشکال

این باگ را یک‌راست رفع نکن. اول از خودت بپرس برای پیداکردنِ ریشه چه چیزهایی را باید بدانم؛ هر پرسش را به یک بررسی کوچک تبدیل کن، جوابش را بنویس، بعد بپرس پرسش بعدی چیست. وقتی به ریشه رسیدی، تازه اصلاح را پیشنهاد بده.

نسخهٔ یادگیری

این موضوع را یک‌راست توضیح نده. اول بپرس برای فهمیدنِ آن چه پیش‌نیازهایی لازم است؛ هر پیش‌نیاز را به یک پرسش کوتاه تبدیل کن و جواب بده، بعد بپرس پرسش بعدی چیست. در پایان با تکیه بر همان‌ها توضیح اصلی را بده.

نسخهٔ پژوهش و نگارش

این موضوع را یک‌راست ننویس. اول بپرس برای پوششِ کاملِ آن به چه پرسش‌هایی باید جواب داده شود؛ هر پرسش را جدا بنویس و جواب کوتاهش را بده، بعد بپرس آیا پرسش دیگری مانده. سپس بر پایهٔ همان جواب‌ها متن نهایی را بساز.

تفاوت خودپرسی با تجزیه و زنجیرهٔ تفکر

این سه تکنیک شبیه به‌نظر می‌رسند ولی جانِ کارشان فرق دارد.

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

در تجزیه به زیرمسئله، تو از همان اول مسئله را به تکه‌های موازیِ کوچک می‌شکنی و هرکدام را جدا حل می‌کنی؛ تمرکز روی «شکستنِ یک کارِ بزرگ» است. برای آشنایی کامل با آن، پرامپت تجزیه به زیرمسئله را ببین.

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

شکاف ترکیب‌پذیری در مدل‌های زبانی بزرگ

کجا بیشترین اثر را دارد

تجربه نشان می‌دهد خودپرسی در چند دستهٔ مشخص تفاوتِ محسوس می‌سازد:

پرسش‌های چندحلقه‌ایِ واقعیت‌محور. هرجا جواب به زنجیره‌ای از «کی، کجا، چقدر»های به‌هم‌وابسته نیاز دارد؛ مثل پرسش‌های تاریخی، جغرافیایی یا محاسبات مالیِ پلکانی.

مسائلی که جوابِ میانی‌شان قابل‌راستی‌آزمایی است. وقتی مدل هر حلقه را جدا می‌نویسد، تو می‌توانی همان وسط یک جوابِ میانیِ غلط را بگیری و قبل از اینکه کل زنجیره خراب شود اصلاحش کنی.

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

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

پنج اشتباه رایج

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

اشتباه دوم: نخواندنِ جواب‌های میانی. اگر یک جوابِ میانی غلط باشد، جوابِ نهایی هم غلط است؛ همان وسط اصلاحش کن، نه در آخر.

اشتباه سوم: استفاده برای پرسش‌های ساده. خودپرسی برای زنجیره ساخته شده؛ روی یک پرسشِ تک‌گام فقط سربارِ اضافه است.

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

اشتباه پنجم: فراموش‌کردنِ جمع‌بندی. زنجیره‌ای از جواب‌های درستِ میانی، تا وقتی به یک جوابِ نهاییِ صریح نرسد، هنوز جوابِ پرسشِ تو نیست.

ترکیب با تکنیک‌های دیگر

خودپرسی پایه‌ای است و خوب با بقیه جفت می‌شود.

با راستی‌آزمایی: بعد از هر جوابِ میانی، از مدل بخواه یک منبع یا دلیل کوتاه هم بیاورد تا حلقه‌های حدسی لو بروند. زنجیرهٔ راستی‌آزمایی مکملِ طبیعیِ آن است.

با اجماع چندپاسخ: اگر مسئله حساس است، خودپرسی را چند بار اجرا کن و جوابِ نهاییِ پرتکرار را بردار؛ منطقش را در اجماع چندپاسخ توضیح داده‌ایم.

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

یک مثال کامل

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

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

تفاوتش با جوابِ یک‌مرحله‌ای این است که حالا می‌دانی چرا این نتیجه به دست آمد و کدام حلقه اگر عوض شود جواب هم عوض می‌شود. همین شفافیت است که استفاده از هوش مصنوعی را از حالت جادویی به حالت قابل‌اتکا می‌برد؛ موضوعی که در مهندسی کانتکست بیشتر بازش کرده‌ایم.

پرسش‌های پرتکرار دربارهٔ پرامپت خودپرسشگر

خودپرسی با زنجیرهٔ تفکر چه فرقی دارد؟

زنجیرهٔ تفکر یک مسیر استدلالیِ پیوسته می‌سازد؛ خودپرسی مسیر را به پرسش‌های صریح و جواب‌های جدا می‌شکند. همین جدا شدن است که جلوی جاافتادنِ حلقه‌ها را می‌گیرد و جوابِ میانی را قابل‌بازرسی می‌کند.

روی همهٔ مدل‌ها کار می‌کند؟

پژوهش اصلی روی نسل قدیمی‌تری از مدل‌ها انجام شد و مدل‌های امروزی این الگو را راحت‌تر اجرا می‌کنند. در مدل‌های کوچک‌تر ممکن است لازم باشد صریح‌تر بگویی «هر پرسش پیگیر را با برچسبِ پرسش و جواب بنویس».

چند حلقه مناسب است؟

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

برای کارهای خلاقانه هم خوب است؟

کمتر. خودپرسی برای پرسش‌هایی است که یک جوابِ درست دارند و باید حلقه‌به‌حلقه ساخته شوند. برای تولید ایدهٔ خام، تکنیک‌های واگرا مناسب‌ترند.

می‌شود در حافظهٔ مدل ذخیره‌اش کرد؟

بله. اگر مدلت قابلیت حافظه یا دستور سفارشی دارد، این پرامپت را به‌عنوان قاعدهٔ دائمی ثبت کن تا برای پرسش‌های چندحلقه‌ای خودکار اعمال شود.

✏️ تمرین

«کدام جمله بهترین توصیفِ کاری است که تکنیک خودپرسی انجام می‌دهد؟»

🔒

این تمرین ویژهٔ اعضاست

برای دیدن این بخش باید عضو ویژه (VIP) باشی. با شمارهٔ موبایلت وارد شو تا ۱۴ روز دسترسی رایگان فعال شود.

🎁 ورود / ثبت‌نام و شروع ۱۴ روز رایگان
قبلاً عضو شده‌ای؟ فقط کافی است وارد شوی. اشتراک: از ۱۹۹٬۰۰۰ تومان / ماه
جمع‌بندی. خودپرسی ساده‌ترین راه برای بستنِ شکاف ترکیب‌پذیری است؛ همان فاصله‌ای که باعث می‌شود مدل به اجزا درست جواب بدهد ولی کلِ ترکیب‌شده را غلط. یک جمله بیشتر نمی‌نویسی، ولی مدل مجبور می‌شود حلقه‌ها را رو کند و دیگر نمی‌تواند یک مرحله را حدس بزند. این آموزش بخشی از سری آموزش پرامپت‌نویسی است؛ برای پرامپت‌های تازه و جدیدترین اخبار هوش مصنوعی هم به کانال @MrChatGPT_IR سر بزن.
(0 رأی)

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

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