فشرده‌سازی پرامپت؛ چرا پرامپت کوتاه‌تر جواب بهتری می‌گیرد

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

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

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

تصویر شاخص آموزش فشرده‌سازی پرامپت در هوش مصنوعی

۱) چرا پرامپت طولانی‌تر همیشه بهتر نیست

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

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

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

۲) فشرده‌سازی پرامپت دقیقاً یعنی چه

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

سیگنال — هر چیزی که خروجی را تغییر می‌دهد. اگر این بخش را بردارید، جواب فرق می‌کند. قالب خروجی («در قالب جدول»)، قید («حداکثر صد کلمه»)، مخاطب («برای یک مدیر غیرفنی»)، نقش («به‌عنوان یک وکیل») و مثال‌هایی که سبک و لحن را نشان می‌دهند، همگی سیگنال‌اند و باید بمانند.

نویز — هر چیزی که فقط فضا اشغال می‌کند. اگر این بخش را بردارید، جواب عوض نمی‌شود. عبارت‌های تعارف‌آمیز («ممنون می‌شوم اگر لطف کنید و در صورت امکان…»)، مقدمه‌چینی‌های طولانی، تکرار یک دستور با چند بیان مختلف و توضیح‌های بدیهی، همه نویزند.

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

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

۳) پرامپت آمادهٔ فشرده‌سازی

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

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

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

۴) یک مثال واقعی؛ قبل و بعد

فرض کنید می‌خواهید برای یک ایمیل بازاریابی کمک بگیرید. نسخهٔ پرحرف معمولاً این شکلی است:

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

و این همان درخواست، فشرده‌شده و بدون از دست دادن هیچ اطلاعات تعیین‌کننده‌ای:

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

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

۵) پشتوانهٔ پژوهشی؛ چرا کوتاه‌تر بهتر کار می‌کند

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

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

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

۶) مرز خطرناک؛ فشرده‌سازی در برابر مبهم‌نویسی

خطرناک‌ترین سوءتفاهم دربارهٔ این تکنیک این است که آن را با «کم‌نویسی» اشتباه بگیریم. فشرده‌سازی یعنی حذف کلمه‌های بی‌اثر؛ مبهم‌نویسی یعنی حذف اطلاعاتی که مدل برای درست جواب دادن به آن‌ها نیاز دارد. اولی کیفیت را بالا می‌برد، دومی آن را نابود می‌کند.

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

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

سه سود فشرده‌سازی پرامپت کوتاه‌تر ارزان‌تر و دقیق‌تر

۷) چهار نسخهٔ موقعیتی از فشرده‌سازی

فشرده‌سازی در هر حوزه کمی شکل متفاوتی می‌گیرد، چون «سیگنال» در هر حوزه چیز دیگری است.

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

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

نسخهٔ کد و برنامه‌نویسی

در کد، سیگنال‌ها عبارت‌اند از زبان، نسخه، ورودی و خروجی مورد انتظار و محدودیت‌ها (مثلاً «بدون کتابخانهٔ بیرونی»). داستان‌پردازی دربارهٔ پروژه نویز است. یک جملهٔ فنی فشرده بهتر از یک پاراگراف توصیفی کار می‌کند.

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

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

نسخهٔ خلاصه‌سازی و بازنویسی

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

۸) پنج اشتباه رایج در فشرده‌سازی

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

اشتباه دوم: فشرده‌سازی بیش از حد کانتکست لازم. اگر کار واقعاً به اطلاعات زمینه‌ای نیاز دارد، حذف آن کار را خراب می‌کند. کانتکستِ لازم، سیگنال است نه نویز.

اشتباه سوم: حذف مثال‌ها. مثال‌ها طولانی به‌نظر می‌رسند و وسوسهٔ حذفشان زیاد است، اما یک مثال خوب گاهی جای یک پاراگراف توضیح را می‌گیرد و باید بماند.

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

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

۹) ترکیب با دیگر تکنیک‌های پرامپت‌نویسی

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

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

۱۰) چک‌لیست اجرایی فشرده‌سازی

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

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

پرسش‌های پرتکرار دربارهٔ فشرده‌سازی پرامپت

آیا فشرده‌سازی کیفیت جواب را پایین نمی‌آورد؟

اگر درست انجام شود، نه؛ بلکه معمولاً بالا می‌برد. کلید کار این است که فقط نویز حذف شود و هیچ سیگنالی از دست نرود. اگر بعد از فشرده‌سازی کیفیت افت کرد، یعنی به‌اشتباه یک قید مهم را هم حذف کرده‌اید.

چقدر می‌توانم یک پرامپت را کوتاه کنم؟

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

فشرده‌سازی با مبهم‌نویسی چه فرقی دارد؟

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

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

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

آیا فشرده‌سازی در مصرف توکن واقعاً صرفه‌جویی می‌کند؟

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

✏️ تمرین

در فشرده‌سازی پرامپت، کدام مورد را هرگز نباید حذف کرد؟



🔒

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

دورهٔ رایگان تو استفاده شده و اشتراکت فعال نیست. برای ادامهٔ دسترسی به مطالب ویژه، اشتراک را فعال کن.

فعال‌سازی اشتراک — از ۱۹۹٬۰۰۰ تومان / ماه

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

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

— (0 رأی)

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

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