پرامپت فارسی ChatGPT

پرامپت فارسی ChatGPT؛ چیزی که جواب را از «بد نیست» به «به‌دردبخور» می‌رساند

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

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

چرا پرامپت فارسی گاهی لنگ می‌زند؟

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

علت فقط «ضعیف بودن فارسی» نیست. خود زبان فارسی برای مدل دردسر دارد: شکل‌های نوشتاری مختلف، مشکل ی/ي و ک/ك، نیم‌فاصله، فاصله‌گذاری‌های اشتباه، و تنوع سبک‌های نوشتن. وقتی ورودی همین‌طور آشفته است، خروجی هم زیاد تمیز درنمی‌آید. مقالهٔ Moniri, Schlosser & Kowerko هم دقیقاً روی همین مسئله دست گذاشته؛ فارسی در بسیاری از حوزه‌های NLP هنوز زبان کم‌منبعی حساب می‌شود و دادهٔ استاندارد و تمیز کم دارد.

پرامپت خوب از کجا شروع می‌شود؟

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

یک پرامپت شلخته این‌طوری است:

text
درباره سئو برایم بنویس.

این یعنی تقریباً هیچ.

نسخهٔ بهتر:

text
مثل یک مدرس سئو برای مدیران تازه‌کار عمل کن. وظیفه: مفهوم سئو را برای یک صاحب فروشگاه اینترنتی ایرانی توضیح بده. زمینه: مخاطب هیچ دانش فنی خاصی ندارد و متن برای وبلاگ نوشته می‌شود. دستور: - از فارسی معیار ایران استفاده کن - از اصطلاحات انگلیسی فقط در صورت نیاز استفاده کن - متن را در 4 بخش بنویس - هر بخش حداکثر 120 کلمه باشد قالب خروجی: تیتر اصلی چهار زیرعنوان یک مثال ساده از بازار ایران

اینجا مدل دقیقاً می‌فهمد چه باید بکند. به قول کتاب The Art of Asking ChatGPT for High-Quality Answers، پرامپت باید دو تکهٔ روشن داشته باشد: task و instructions. یعنی اول بگویی مدل چه کاری انجام دهد، بعد بگویی با چه قاعده‌ای انجام دهد. این تفاوت ساده، در عمل نصف دردسرها را کم می‌کند.

فارسی را همان اول صریح مشخص کن

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

  • «پاسخ را کامل به فارسی معیار ایران بنویس»
  • «فینگلیش استفاده نکن»
  • «نیم‌فاصله را رعایت کن»
  • «اعداد را با رقم فارسی بنویس»
  • «لحن را محاوره‌ای و روان نگه دار»

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

یک پرامپت فارسی خوب باید چه چیزهایی را روشن کند؟

پرامپت خوب معمولاً پنج چیز را مشخص می‌کند:

۱) هدف دقیق

نه «یک متن بنویس»، بلکه:

  • «یک راهنمای آموزشی بنویس»
  • «یک متن تبلیغاتی کوتاه بنویس»
  • «این متن را خلاصه کن»
  • «این ایمیل را رسمی‌تر کن»

۲) مخاطب

مدل باید بداند دارد برای چه کسی می‌نویسد:

  • کاربر تازه‌کار
  • مدیر کسب‌وکار
  • دانش‌آموز
  • مخاطب فنی
  • کاربر عمومی ایرانی

۳) لحن

لحن شاید از خود محتوا هم مهم‌تر باشد:

  • رسمی
  • دوستانه
  • آموزشی
  • جدی
  • محاوره‌ای
  • تحلیلی

۴) قالب خروجی

اگر قالب را نگویی، مدل ممکن است هر چیزی تحویل بدهد:

  • فهرست
  • جدول
  • پاراگراف
  • JSON
  • تیتر و زیرتیتر
  • مراحل شماره‌دار

۵) محدودیت‌ها

عدد بده، نه ابهام:

  • «در ۵ بند»
  • «حداکثر ۲۰۰ کلمه»
  • «۳ مثال بیاور»
  • «هر بند بیشتر از ۲ جمله نباشد»

راهنمای OpenAI هم دقیقاً روی همین نکته تأکید دارد: هرچه دربارهٔ زمینه، طول، سبک و فرمت دقیق‌تر باشی، خروجی بهتر می‌شود. جملهٔ مبهم، جواب مبهم می‌سازد. مدل هم از هوا نمی‌فهمد تو دنبال چه جور متن و چه سطحی از جزئیات هستی.

فارسی محاوره‌ای، ولی نه شلخته

خیلی‌ها فکر می‌کنند «محاوره‌ای» یعنی هرچه به ذهن رسید بنویسند. نه. محاوره‌ایِ خوب یعنی طبیعی، نه ولنگ‌وباز. برای مثال:

بد:

text
در دنیای امروز، بهره‌گیری از پرامپت‌های کارآمد نقش بسزایی در ارتقای بهره‌وری دارد.

بهتر:

text
اگر پرامپتت درست نوشته شده باشد، ChatGPT خیلی بهتر و سریع‌تر جواب می‌دهد.

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

چرا بعضی وقت‌ها انگلیسی داخل پرامپت کمک می‌کند؟

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

یعنی باید فارسی را کنار بگذاری؟ نه.

اگر مسئله‌ات فهم متن فارسی است، بهتر است خود متن فارسی را نگه داری، ولی دستور را یا دقیق فارسی بنویسی یا برای کارهای سخت، دستور انگلیسی را امتحان کنی. یک الگوی خوب این است:

text
Task: Classify the sentiment of the Persian text below as positive, negative, or neutral. متن: "این خرید اصلاً به درد من نخورد." Output: Only one label: positive, negative, or neutral

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

اگر متن فارسی‌ات به‌هم‌ریخته است، اول تمیزش کن

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

قبل از درخواست اصلی، گاهی این کارها را انجام بده:

  • ی/ي را یکدست کن
  • ک/ك را یکدست کن
  • نیم‌فاصله را اصلاح کن
  • اعداد را مشخص کن که فارسی باشند یا لاتین
  • نشانه‌گذاری را کمی مرتب کن

بعد در پرامپت بنویس:

text
متن زیر را با حفظ معنا، به فارسی استاندارد ایران بازنویسی کن. نیم‌فاصله را رعایت کن. واژه‌ها را یکدست کن. از تغییر محتوا خودداری کن.

همین چند خط، خروجی را از آشفتگی درمی‌آورد.

نمونهٔ یک پرامپت فارسی خوب

text
مثل یک ویراستار حرفه‌ای فارسی عمل کن. وظیفه: متن زیر را برای انتشار در وبلاگ بازنویسی کن. مخاطب: کاربران ایرانی که می‌خواهند تازه با ChatGPT کار کنند. لحن: روان، محاوره‌ای، دقیق و بدون ادا. دستورها: - فقط به فارسی معیار ایران بنویس - از فینگلیش استفاده نکن - نیم‌فاصله را رعایت کن - متن را در 5 بخش با تیترهای کوتاه بنویس - هر بخش حداکثر 100 کلمه باشد - اگر جایی ابهام بود، آن را مستقیم و ساده توضیح بده قالب خروجی: - تیتر اصلی - 5 زیرتیتر - یک جمع‌بندی کوتاه در دل متن، نه جداگانه متن: """ [متن اینجا قرار بگیرد] """

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

چند ترفند که در کار واقعی جواب می‌دهد

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

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

مثلاً:

text
اگر برای پاسخ اطلاعات کافی نداری، اول حداکثر 3 سؤال بپرس. اگر اطلاعات کافی هست، مستقیم جواب بده.

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

برای کارهای حساس، روی مدل حسابِ کور نکن

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

پس اگر سؤال حساس است، در پرامپت این را هم بنویس:

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

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

وقتی از ChatGPT فارسی استفاده می‌کنی، دنبال «خوش‌زبانی» نباش؛ دنبال «دقت» باش

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

  • چه کاری باید انجام دهد
  • برای چه کسی می‌نویسد
  • با چه لحنی بنویسد
  • خروجی چه قالبی داشته باشد
  • کجا حدس نزند

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

چند الگوی آماده برای شروع

برای خلاصه‌سازی

text
این متن را در 5 نکته خلاصه کن. لحن: ساده و فارسی معیار ایران طول هر نکته: حداکثر 2 جمله اگر نکته‌ای مبهم است، آن را حذف نکن؛ کوتاه و روشن توضیح بده

برای بازنویسی

text
این متن را روان‌تر کن. معنا را حفظ کن. از فارسی محاوره‌ایِ تمیز استفاده کن. نیم‌فاصله را رعایت کن.

برای تولید محتوا

text
برای یک مخاطب ایرانی تازه‌کار، یک مقاله آموزشی بنویس. موضوع: [موضوع] لحن: صمیمی اما دقیق قالب: مقدمه، 4 زیرعنوان، یک مثال واقعی از فضای ایران طول: 700 تا 900 کلمه

برای پاسخ دقیق

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

چند منبع انگلیسی که ارزش رجوع دارند

راهنمای رسمی OpenAI دربارهٔ prompt engineering هنوز یکی از بهترین نقطه‌های شروع است. آن‌جا خیلی روشن گفته شده که:

  • دستور را اول بگذار
  • متن زمینه را با جداکننده مشخص کن
  • دقیق باش
  • قالب خروجی را نمونه‌دار تعریف کن
  • از zero-shot شروع کن و اگر لازم شد few-shot اضافه کن

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

جمع‌بندی در دل یک سؤال

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