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

پرامپت اسکلت پاسخ؛ اول فهرست بگیر، بعد جزئیات

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

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

چکیده. اسکلت پاسخ یا Skeleton-of-Thought تکنیکی است که تولید جواب را به دو مرحله می‌شکند: ساخت اسکلت، سپس پرکردن آن. این ایده در مقاله‌ای از پژوهشگران مایکروسافت ریسرچ و دانشگاه چینگهوا معرفی شد که در کنفرانس ICLR سال ۲۰۲۴ پذیرفته شد. در این آموزش متن کامل پرامپت، چهار نسخهٔ موقعیتی، منطق پشت تکنیک، محدودیت‌های واقعی آن و اشتباه‌های رایجی که اثرش را خنثی می‌کنند را می‌بینی.
پرامپت اسکلت پاسخ برای مرتب‌کردن جواب هوش مصنوعی

۱) اسکلت پاسخ دقیقاً چیست

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

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

شباهت این کار به کاری که یک نویسندهٔ حرفه‌ای انجام می‌دهد تصادفی نیست. کسی که مقاله می‌نویسد اول سرفصل‌ها را روی کاغذ می‌آورد، جابه‌جایشان می‌کند، بعضی را حذف می‌کند و بعد شروع به نوشتن می‌کند. تکنیک اسکلت پاسخ همین عادت انسانی را به مدل تحمیل می‌کند.

۲) پشتوانهٔ پژوهشی این تکنیک

این ایده اسم و مقالهٔ مشخص دارد. مقالهٔ «Skeleton-of-Thought: Prompting LLMs for Efficient Parallel Generation» به سرپرستی شوئه‌فِی نینگ و زینان لین از مایکروسافت ریسرچ و دانشگاه چینگهوا نوشته شد و در کنفرانس ICLR سال ۲۰۲۴ پذیرفته شد.

هدف اولیهٔ پژوهشگران جالب است: آن‌ها دنبال سرعت بودند، نه فقط نظم. استدلالشان این بود که وقتی مدل اول اسکلت را ساخت، بندهای مختلف اسکلت به هم وابسته نیستند و می‌شود همه را هم‌زمان تولید کرد. طبق گزارش مایکروسافت ریسرچ، این روش روی ۱۲ مدل آزمایش شد (۹ مدل متن‌باز و ۳ مدل مبتنی بر ای‌پی‌آی) و در هشت مدل بیش از دو برابر تسریع دیده شد که بیشترین آن ۲٫۳۹ برابر بود؛ برای GPT-3.5 و GPT-4 هم حدود دو برابر گزارش شده است.

اما نکتهٔ مهم‌تر برای ما کاربران عادی، بخش کیفیت است. در ارزیابی برد/مساوی/باخت، خروجی این روش در حدود ۶۰ درصد موارد بهتر یا هم‌سطح تولید معمولی بوده و طبق همان گزارش، در شاخص‌های مرتبط‌بودن و جامع‌بودن پاسخ حدود ۳۰ درصد بهبود دیده شده است. یعنی حتی اگر برایت مهم نباشد که جواب چند ثانیه زودتر می‌آید، ساختارِ بهتر خودش یک دستاورد مستقل است.

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

۳) متن کامل پرامپت

این پرامپت را می‌توانی عیناً کپی کنی و قبل از هر درخواست طولانی بچسبانی:

ابتدا فقط اسکلت و سرفصل‌های پاسخ را به‌صورت فهرست کوتاه بده و از من تأیید بگیر یا مستقیم ادامه بده؛ سپس هر سرفصل را با جزئیات کامل پر کن.

سه نکته دربارهٔ همین متن کوتاه:

عبارت «فقط» عمداً آمده است. بدون آن، مدل معمولاً سرفصل را می‌نویسد و بلافاصله زیرش شروع به توضیح می‌کند و کل فایدهٔ مرحلهٔ اول از بین می‌رود.

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

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

نتایج پژوهشی تکنیک اسکلت پاسخ در کنفرانس ICLR

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

پرامپت پایه عمومی است. در عمل بهتر است نسخه‌ای را برداری که به کارَت نزدیک‌تر است.

نسخهٔ نگارش محتوا

قبل از نوشتن، فقط ساختار مقاله را بده: عنوان هر بخش به‌همراه یک جملهٔ توضیح که آن بخش قرار است چه چیزی را پوشش دهد. حداکثر ۸ بخش. منتظر تأیید من بمان؛ بعد از تأیید، بخش‌ها را یکی‌یکی و کامل بنویس.

نسخهٔ تحلیل و تصمیم‌گیری

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

نسخهٔ کدنویسی و پروژه

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

نسخهٔ یادگیری و مطالعه

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

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

۵) چرا این کار جواب را بهتر می‌کند

سه دلیل عملی پشت این تکنیک هست.

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

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

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

نسخه‌های موقعیتی پرامپت اسکلت پاسخ

۶) کجا جواب می‌دهد و کجا نمی‌دهد

این تکنیک همه‌جا مفید نیست و پژوهشگرانش هم روی همین نکته تأکید کرده‌اند.

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

در مقابل، طبق همان مقاله، این روش برای مسائلی که به استدلال گام‌به‌گام و پیوسته نیاز دارند — مثل حل مسئلهٔ ریاضی یا رفع اشکال یک قطعه کد — مناسب نیست. در این‌جور مسائل هر گام به نتیجهٔ گام قبلی وابسته است و شکستنشان به بخش‌های مستقل، زنجیرهٔ استدلال را پاره می‌کند. برای این دسته باید سراغ تکنیک‌های دیگری مثل تجزیه به زیرمسئله یا زنجیرهٔ تفکر بروی.

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

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

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

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

ترکیب با محدودیت خروجی. جمله‌ای مثل «هر بخش حداکثر ۱۵۰ کلمه» را به مرحلهٔ دوم اضافه کن تا بخش‌ها متعادل بمانند.

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

مجموعهٔ آموزش‌های گام‌به‌گام این تکنیک‌ها را در بخش آموزش‌های چت‌جی‌پی‌تی دنبال کن.

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

اشتباه اول: نگذاشتن کلمهٔ «فقط» در مرحلهٔ اول. مدل سرفصل و توضیح را با هم می‌دهد و مرحلهٔ اول بی‌فایده می‌شود.

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

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

اشتباه چهارم: استفاده از آن برای مسائل استدلالی پیوسته. همان‌طور که گفتیم، این کار به ضرر کیفیت تمام می‌شود.

اشتباه پنجم: فراموش‌کردن اسکلت در ادامهٔ گفتگو. در گفتگوهای طولانی، هر چند بخش یک‌بار اسکلت را دوباره بفرست تا مدل مسیرش را گم نکند.

۹) این تکنیک در کار تیمی

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

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

آیا این پرامپت روی همهٔ مدل‌ها جواب می‌دهد؟

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

چه فرقی با درخواست ساده‌ی «فهرست بده» دارد؟

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

برای مسائل ریاضی هم می‌شود از آن استفاده کرد؟

توصیه نمی‌شود. مقالهٔ اصلی صراحتاً استدلال گام‌به‌گام مثل ریاضی و کدنویسی را از دایرهٔ مناسب این روش خارج می‌کند، چون آن‌جا هر گام به گام قبلی وابسته است.

اسکلت را چند سرفصل بگیرم؟

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

آیا مصرف توکن را بالا می‌برد؟

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

جمع‌بندی. اسکلت پاسخ ساده‌ترین راه برای اینکه جواب‌های طولانی هوش مصنوعی از حالت «سیل کلمات» دربیایند و شکل یک سند مرتب بگیرند. کل کاری که باید بکنی این است که پیش از هر درخواست طولانی، یک جمله اضافه کنی و اسکلت را قبل از پرشدن بخوانی. برای دیدن پرامپت‌های تازه و جدیدترین اخبار هوش مصنوعی به کانال @MrChatGPT_IR سر بزن.
(0 رأی)

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

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