پرامپت نویسی برای هوش مصنوعی: چطور در ساختاری استاندارد و واضح پرامپت نویسی کنیم؟

پرامپت نویسی برای هوش مصنوعی چطور در ساختاری استاندارد و واضح پرامپت نویسی کنیم

مقدمه

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

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

خوب بریم ببینیم اصل کلی استاندارد بودن ساختار پرامپت و واضح و شفاف بودن اون اصلا یعنی چی.

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

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

1- ویژگی‌های مخاطب مورد نظرتون رو توی پرامپت بهش اشاره کنید

این تکنیک یا اصل جزئی خیلی ساده میخواد به هوش مصنوعی حالی کنه آقا جوابی که قراره بدی مخاطبش کیه. ممکنه شما بخواید جوابی که دریافت می‌کنید رو با یه سری متخصص اون حوزه یا برای آدم‌های معمولی به اشتراک بزارید. وقتی به ویژگی‌های اینچنینی مخاطبتون توی پرامپتتون اشاره کنید هوش مصنوعی سعی میکنه در سطح دانش اون‌ها جواب بهتری رو برای شما فراهم کنه. یا اصلا ممکنه شما نخواید جوابی که دریافت میکنید رو جایی به اشتراک بزارید بلکه خودتون متخصص یه حوزه خاص هستین و انتظار اینو دارید که یه جوابی دریافت کنید که در سطح دانش و تخصص مد نظرتون باشه. حالا چطوری باید این کار رو عملی انجام بدیم؟ ببینید برای مثال میتونید از این مدل جمله‌ها توی پرامپتتون استفاده کنید: (The audience is an expert in the field). با اضافه کردن این توضیح شما به هوش مصنوعی میگید مخاطب من که قرار جواب تو رو باهاش به اشتراک بزارم توی این زمینه متخصص تشریف داره و لطفا آبرو داری کن و رو سفیدم کن. این یه مثال بود و قرار نیست که دقیقا همیشه این جمله توی پرامپت‌های شما نوشته بشه. شما باید بر اساس ویژگی‌های مخاطب هدفتون یه اینچنین جمله‌ای رو بنویسید و به پرامپتتون اضافه کنید.

2- تا جایی که میتونید از دستورهای مثبت استفاده کنید

بهتره که تا جایی که میتونید و امکانش هست از دستورهای مثبت مثل (do) استفاده کنید و از نوشتن دستورهای منفی مثل (don’t) خودداری کنید. مثل اینکه بهش بفهمونید چی انجام بده بهتر از اینه که بهش بفهمونید چی انجام نده (شاید لج کنه یهو عمدا همون کاری رو انجام بده که بهش گفتین انجام نده، لعنتی خیلی شبیه ما آدم‌هاست رفتاراش).

3- از کلمات تاکیدی و برجسته توی پرامپتتون استفاده کنید

بکار بردن کلمات تاکیدی و برجسته زمانی کاربرد داره که قراره یه موضوع یا یه هدف خاص یا یه روند یادگیری رو قدم به قدم برید جلو. برا مثال میتونید از عبارت (think step by step) استفاده کنید. این عبارت زمانی که میخواید یه سری موضوعات پیوسته رو براتون قدم به قدم شرح و توضیح بده تا به یه انسجام و درک کلی از اون ایده و سوال اصلی برسید خیلی کمک میکنه.

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

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

Artificial intelligence can help the online business in many aspects, such as:

توی پرامپت ساده فوق ما اومدیم در ابتدا یه نتیجه‌گیری ارائه دادیم. یعنی چی گفتیم؟ ما اومدیم نوشتیم: “هوش مصنوعی میتونه در جنبه‌های زیادی به کسب و کار آنلاین کمک کنه.” بعدش یه کاما گذاشتیم و در ادامه نوشتیم “از جمله (such as)” و دو نقطه (:) رو هم در آخر کار اضافه کردیم.

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

5- از تعیین کننده‌های ساختار یا به اصطلاح دیلیمیترها استفاده کنید

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

دیلیمیتر شروع: <|startoftext|>

دیلیمیتر جدا کننده: <|sep|>

دیلیمیتر پایان: <|endoftext|>

اگه الان براتون سواله که چطوری علائم “<>” یا “|” رو با صفحه کلید تایپ کنید نیازی به کاوش در جای دیگه نیست. برا تایپ علائم “<>” دو عدد کلید سمت راست کلید M صفحه کلیدتون وجود داره. پیداشون کردی؟ تبریک میگم. حالا با ترکیب کلید شیفت صفحه کلید و زدن یکی از اون‌ها این علائم رو میتونی تایپ کنی. برای تایپ خط عمودی یا همون علامت “|” هم یه کلید بالای کلید معروف و دوست داشتنی اینتر وجود داره. دقیقا بالای سر اینتر. دیدیش؟ ای ول. حالا با ترکیب شیفت و زدن اون میتونی این علامت رو هم تایپ کنی. بقیه اجزای دیلیمیترها هم که یه سری حروف انگلیسی هستن که دیگه کاری نداره. حالا بریم یه مثال بزنیم تا ببینیم دقیقا چطوری باید ازشون استفاده کنیم. به پرامپت زیر توجه کنید:

<|startoftext|>write a short story about a man who wants to invent a device<|endoftext|>

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

<|startoftext|>write a short story about a man who wants to invent a device<|sep|>the device is supposed to be an energy generator<|endoftext|>

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

در ضمن تا یادم نرفته اینم بگم که دیلیمیتر‌های دیگه‌ای هم وجود داره ولی این سه تا پر کاربردترین اون‌ها هستن.

6- پرامپت خودتون رو بر اساس تکنیک هشتگ ستایی سازماندهی کنید

این واژه هشتگ ستایی ممکنه اصلا اسم رسمی این روش نباشه ولی خوب برا اینکه توی ذهنتون بمونه میتونید اسمشو بزارید هشتگ ستایی چون در ادامه متوجه میشید که باید از سه تا هشتگ استفاده کنید. این تکنیک هم یه فرمت و ساختار کلی برای پرامپت شما فراهم میکنه تا پرامپت شما واضح بنظر بیاد و چت بات هوش مصنوعی بتونه تشخیص بده که کلیات و جزئیات کار چیا هستن و چی باید پاسخ بده. بزارید با خود چهارچوبش اول آشنا بشیم بعد با مثال به جزئیات بیشتری در موردش میپردازیم. به چهار چوب زیر دقت کنید:

###Instruction###

“Your text …”

###Example###

For example:

“Your text…”

###Question###

“Your question…”

###Input Data### “Your text…”

این چهارچوب کلی این تکنیک پرامپت نویسی هستش. اگه دقت کرده باشید در ابتدا مینویسیم (###Instruction###). بعد یه اینتر میزنیم و زیرش باید بنویسید که کلیت کار و چیزی که میخواید چیه. در واقع کلیت اون چیزی که میخواید رو باید بجای واژه (“Your text …”) که پایینش نوشتم بنویسید. بعد از اینکه کلیت کار رو بجای “Your text …” نوشتین باید دو تا اینتر بزنید تا یه خط فاصله بیفته. بعد حالا اگه مثالی یا سوالی با توجه به ساختار و هدفتون دارید رو میتونید با نوشتن دستور (###Example###) یا (###Question###) بنویسید. این دیگه بستگی به این داره که هدف پرامپت شما چی باشه. بعد در ادامه باز میتونید با نوشتن دستور (###Input Data###) جزئیات بیشتری رو در مورد اون چیزی که میخواید براش مشخص کنید. مثلا این جزئیات میتونه شامل اسم کاراکتر داستان کوتاه شما باشه.

به طور خلاصه اگه بخوایم این تکنیک رو توضیح بدیم به این صورته که در ابتدا با دستور (###Instruction###) شروع میکنیم و بهش میگیم کلیت کاری که میخوایم انجام بدی چیه. در ادامه اگه لازم باشه با استفاده از دستور‌های (###Example###) یا (###Question###) برای ارائه یه مثال یا پرسیدن یه سوال میتونیم مثالی یا سوالی رو قاطی کار کنیم. و در نهایت با دستور (###Input Data###) میتونیم جزئیات بیشتری رو براش مشخص کنیم. بین هر بخش هم یه خط فاصله اعمال میکنیم تا فرمت پرامپت برای چت بات هوش مصنوعی شفاف‌تر و واضح تر باشه. همین. تموم شد رفت. این بود مفهوم این تکنیک. اگه من تونسته باشم قشنگ و ساده براتون توضیحش داده باشم و شما هم گرفته باشید که چی شده، دیگه کار تمومه و خودتون میتونید با توجه به هدفتون پرامپت مد نظرتون رو باهاش در مواقع لزوم در یه ساختار استاندارد تحویل چت بات‌های هوش مصنوعی بدین (امیدوارم که در توضیح این تکنیک موفق بوده باشم).

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

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

جمع بندی بحث و چشم انداز پیش رو

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

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

منبع علمی این مطلب

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

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

error: