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

پرامپت سیستمی در برابر پرامپت کاربر؛ مغزِ پنهانی که رفتار هوش مصنوعی را می‌سازد

⏱ زمان مطالعه: حدود ۱۲ دقیقه✏️ تمرین دارد

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

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

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

پرامپت سیستمی چیست و چه فرقی با پیامِ کاربر دارد؟

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

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

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

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

  • پیامِ سیستم (System): دستورِ بالادستی و پایدار؛ هویت، قواعد و لحن را تعریف می‌کند و معمولاً برای کاربر نامرئی است.
  • پیامِ کاربر (User): همان چیزی که تو می‌نویسی؛ پرسش، درخواست یا داده‌ای که در این نوبت می‌خواهی مدل رویش کار کند.
  • پیامِ دستیار (Assistant): پاسخی که خودِ مدل می‌دهد؛ در نوبت‌های بعدی، این پاسخ‌ها هم بخشی از تاریخچه می‌شوند تا مدل رشتهٔ گفت‌وگو را گم نکند.

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

سه نقش پیام: سیستم، کاربر و دستیار در گفت‌وگو با هوش مصنوعی

چرا جای دستور مهم است؛ لنگرِ رفتار در برابرِ درخواستِ لحظه‌ای

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

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

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

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

کجا نامِ آن ویژگی چه چیزی آنجا بگذاریم
چت‌جی‌پی‌تی (وب و موبایل) دستورهای سفارشی (Custom Instructions) لحن، زبانِ فارسی، حرفه‌ات و قواعدِ ثابتِ جواب
پروژه‌ها و جی‌پی‌تی‌های سفارشی دستورالعملِ پروژه (Instructions) قواعدِ مخصوصِ یک کار یا یک برند در همان فضا
کلود و دستیارهای دیگر فیلدِ System یا Style همان نقش و قواعدِ پایدار، فقط با نامی متفاوت
رابطِ برنامه‌نویسی (API) نقشِ system در آرایهٔ پیام‌ها دقیق‌ترین و قدرتمندترین جای تعریفِ رفتار

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

تفاوتِ نقش‌دهی با پرامپت سیستمی؛ یک اشتباهِ رایج

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

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

قالبِ آمادهٔ یک پرامپت سیستمیِ خوب؛ کپی کن و استفاده کن

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

هویت و نقش: تو [نقشِ مدل، مثلاً یک مشاورِ محتوای فارسی] هستی.
مخاطب: کاربرانِ من [توصیفِ مخاطب، مثلاً صاحبانِ کسب‌وکارهای کوچک] هستند.
زبان و لحن: همیشه به فارسیِ [رسمی/خودمانی] و با لحنِ [مثلاً ساده و مستقیم] بنویس.
قواعدِ همیشگی:
۱) جواب‌ها را کوتاه و کاربردی نگه دار و از حاشیه بپرهیز.
۲) هرجا لازم شد، مثال یا گامِ عملی بده.
۳) اگر اطلاعاتِ کافی نداری، حدس نزن؛ سؤالِ روشن‌کننده بپرس.
مرزها: دربارهٔ [موضوعاتی که نباید واردشان شود] چیزی نگو.
قالبِ خروجی: مگر خلافش را بخواهم، جواب را با یک خلاصهٔ یک‌خطی شروع کن و بعد جزئیات را بیاور.

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

دستورهای سفارشی چت‌جی‌پی‌تی به‌عنوان پرامپت سیستمی همیشگی

یک مثالِ کامل: یک پرسش، دو پیکربندیِ سیستمی

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

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

دیدی؟ پیامِ کاربر ثابت ماند، اما چون لایهٔ سیستم عوض شد، ماهیتِ جواب هم عوض شد. این دقیقاً کاری است که پرامپت سیستمی می‌کند: بی‌آنکه سؤالت را تغییر دهی، جنسِ جواب را کنترل می‌کنی.

هفت اشتباهِ رایج در نوشتنِ پرامپت سیستمی

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

کجا از پرامپت سیستمی استفاده کنیم و کجا کافی نیست

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

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

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

آیا می‌توانم پرامپت سیستمی را وسطِ گفت‌وگو عوض کنم؟

در چت‌جی‌پی‌تی، «دستورهای سفارشی» را هر وقت بخواهی ویرایش می‌کنی، اما تغییرش معمولاً روی گفت‌وگوهای تازه بهتر اثر می‌گذارد. در API هم می‌توانی پیامِ سیستم را در هر درخواست عوض کنی. اگر وسطِ یک چتِ طولانی رفتار عوض نشد، بهتر است یک گفت‌وگوی تازه با تنظیماتِ جدید شروع کنی.

اگر پرامپت سیستمی و پیامِ کاربر با هم تناقض داشته باشند چه می‌شود؟

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

طولِ پرامپت سیستمی چقدر باشد؟

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

آیا کاربرانِ عادیِ چت‌جی‌پی‌تی هم به پرامپت سیستمی دسترسی دارند؟

بله. همان «دستورهای سفارشی» و «دستورالعملِ پروژه» نسخهٔ در دسترسِ همه از پرامپت سیستمی‌اند. لازم نیست برنامه‌نویس باشی؛ کافی است بدانی این تنظیمات کجا هستند و چه چیزی در آن‌ها بگذاری.

پرامپت سیستمی رفتارِ مدل را برای همیشه تغییر می‌دهد؟

نه؛ فقط برای گفت‌وگوهایی که زیرِ آن تنظیمات انجام می‌شوند. اگر تنظیمات را برداری یا در ابزار یا حسابِ دیگری کار کنی، مدل به رفتارِ پیش‌فرضش برمی‌گردد.

✏️ تمرین

کدام مورد را باید در «پرامپت سیستمی» گذاشت، نه در پیامِ کاربر؟



🔒

این بخش ویژهٔ اعضاست

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

🎁 ورود / ثبت‌نام و شروع ۱۴ روز رایگان

قبلاً عضو شده‌ای؟ فقط کافی است وارد شوی. اشتراک: از ۱۹۹٬۰۰۰ تومان / ماه

جمع‌بندی

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

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

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

— (0 رأی)

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

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