علیرضا فرقدانی
علیرضا فرقدانی
خواندن ۷ دقیقه·۶ ماه پیش

مهندسی پرامپت & prompt engineering | ارتباطی تمیز ، بهتر با هوش مصنوعی

مقدمه

خب خب خب پس از مدت های طولانی که دست به کیبورد نشده بودم و ننوشته بودم باز این اشتیاق پس از سال ها در من شکفت و من الان اینجام ولی با دانش بیشتر نسبت به قبل که قسمت جذاب ماجرا هم همین جاست .

میرم سر اصل مطلب و زیاد وقتتون نمیگیرم موضوعی که تصمیم گرفتم امروز دربارش بنویسم "مهندسی پرامت" که مروبوط به هوش مصنوعی تولید کننده متن یا تصویر محتوا یا همون generative AI ها میشه :) در اصل ما توی این حوزه طوری متن ورودی رو به هوش مصنوعی میدیم که بهترین نتیجه رو به ما برگردونه و دقیقا چیزی که میخوایم برامون بسازه و تحویل بده .😁

بزارید با یک مثال ساده بگم :

شما می خواید از هوش مصنوعی های ایجاد تصویر مثل DALL-E استفاده کنید تا تصویر یک پرنده آبی ، زرد ، قرمز رو داشته باشید که میان گل ها قرار گرفته.

خب برای ایجادش من ۲ تا پرامپت متفاوت نوشتم که یکیشون زیاد اصول خاصی رو پیروی نمی کنه و اطلاعات کلی رو به مدل میده ولی اون یکی طبق اصول اطلاعات بیشتری در اختیار مدل میزاره که باعث میشه نتیجه کار خیلی به چیزی که من تو ذهنم داشتم نزدیک بشه

پرنده ای با رنگ های ابی زرد و قرمز در میان گل بع سبک نقاشی
پرنده ای با رنگ های ابی ( رنگ اصلی پرنده ) ، زرد ، قرمز در میان چند شاخه گل قرار گرفته و پس‌زمینه به رنگ سفید . تصویر در استایل های folk و illustrator باشد

همونطور که در نتایج تصویری بالا دیدید توضیح دادن جزئیات و حالا یک سری تکنیک های نوشتاری خیلی به ما کمک میکنه که دقیقا نتیجه مد نظرمون بگیریم

البته اگر دیگه خیلی میخواد همچی دقیق پیش بره پیشنهاد میدم پرامپت هاتون به زبان انگلیسی بنویسید که البته بعد از گفتن بیسیک ها دربارش حرف میزنم

مدل زبانی و متنی | text generative model (LLM)

از اونجایی که اولین نوع هوش مصنوعی هایی که معرفی شد و خیلی معروف شد این نوع از هوش مصنوعی های جنریتیو بودن که بیشتر کارشون با متن بود که میتونیم مثال هایی مانند Chatgpt , Gemini , Cluade براشون بزنیم منم تصمیم گرفتم از این نوع شروع کنم چون اکثریت با این نوع از Ai اشنان و همچنین باهاش کار کردن

یک توضیح کوچیک بدم که من در ادامه از کلمه مدل خیلی قرار استفاده کنم و برای اونایی که نمیدونن هوش مصنوعی های یک نوع پیچیده از ماشین لرنینگ هستن که خب ما توی ماشین لرنینگ به فایلی که اطلاعات مربوط به روند یادگیری هست و چیزایی که ماشین یاد گرفته داخلش ذخیره میشه و قابل استفادس میگیم * مدل *
و مدل زبانی به نوعی از مدل ها میگن که کارشون پردازش تحلیل زبان انسان هاست
و به همین راحتی

مدل های زبانی چطور کار میکنن

اولین چیزی که باید بهش بپردازی چطوری کارکرد این مدل هاست در اصل باید دست های پشت پرده رو بیاریم جلوی پرده تا یک درک و شماتیک کلی از نوع رفتار این مدل ها داشته باشید چون در ادامه خیلی به کارتون میاد باعث میشه خیلی چیزارو بهتر درک کنید

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

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

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

امیدوارم که خوب تونسته باشم منظور رسونده باشم 😀

حالا که یک درک کلی درباره این موضوع پیدا کردید بریم سراغ یکم دست به کیبورد شدن من از chatgpt 3.5 دارم استفاده میکنم و پیشنهاد اینه شما هم از همون استفاده کنید البته زیاد فرقی نمیکنه

مقدمات مهندسی پرامپت

اولین چیزی که میریم سراغش اینه که میخوایم همون بحث auto fill بودن این ai هارو چک کنیم برای همین و ورودی به شکل زیر براش نوشتم فرستادم

آسمان ....... است.

و در جواب داد

آسمان آبی است. آسمان صاف است. آسمان ابری است.

جالبه ... برامون جای خالی پر کرد خب این حتی برای ریاضیات هم کار میکنه یعنی وقتی شما مینویسید

4+4=?
8

در اصل جوابی که به شما داده بر اساس همون بحث auto fill یعنی میگه خب داخل مطالبی که من قبلا مطالعه کردم یا توی اینترنت اکثریت مواقع بعد از ۴ به اضافه ۴ میاد ۸ پس ۸ اینجا جوابه و اون هیچ درکی از این عملیات ریاضی نداره و برای همین معمولا این نوع هوش مصنوعی ها توی حل معادلاتی که سنگین باشه یا قبلا ندیدا میلنگن یا اشتباه میکنن چون اصلا درکی ازش ندارن فقط طبق همون بحث میرن جلو .

درخواست :

خب میریم سراغ اولین تکنیکمون . معمولا شما وقتی میخواید یک سوالی یا درخواستی از هوش مصنوعی بپرسید به شکل زیر میپرسید

سلام برام جمله زیر کامل کن
اسمان .... است

خب این کارتون راه میندازه ولی خب اصولی تر بهترش اینه که با فرمت زیر بنویسید

جمله را کامل کن :
اسمان [ این بخش با ۲ کالمه کامل شود ] است

اگر به حالت بالا درخواستمون بیان کنیم خیلی خیلی نتیجه بهتر و نزدیک تر به اون چیزی که میخواید میگیرد

میریم سراغ چند تا مثال :

همون طور که میبینید من با بیان درخواستم با فرمت قبلی و اوردن مثال دقیقا نتیجه دلخواهم گرفتم

مثال بزنید

من توی عکس قبلی نشون دادم که مثال زدن برای هوش مصنوعی چقدر کمک میکنه که به نتیجه دلخواهتون نزدیک بشید

علامت های مهمی که باید استفاده کنید

یک چند تا علائم نگارشی هستن که شما میتونید منظور خودتون خیلی بهتر برسونید نتیجه بهتری بگیرد برای مثال

اگر یک درخواستی دارید که بخشی از اون درخواست خیلی مهم مثلا این که حتما اخر جمله ای که کامل کرد فعل مثلا اینده کنه و این خیلی براتون مهم که انجام بشه میتونید اون قسمت داخل *[درخواست]* این قرار بدید

اگر میخواد یک متن بلندی به عنوان ورودی بدید که مثلا غلط املایی هاشو درست کنه یا حالا هرچی بهتر که متنتون بین "[متن]" قرار بدید

اگر میخواید که یک قسمتی کامل بشه یا یک قسمتی از جمله رو مثلا تکمیل کنه میتونید با استفاده از [] خیلی بهتر نتیجه بگیرید مثلا

جمله زیر را کامل کن : اسمان ابی [فعل اینده در کامل کردن استفاده شود]

نقش بدید

هیشه به Ai نقش بدید خب شاید بگید یعنی چی مثلا بگید که تو یک معلم ادبیات هستی یا یک شاعر هستی یا مثلا سعدی شیرازی هستی و باید متن زیر کامل کنی این طوری میتونید بر اساس شخصیت هر نقش خروجی های متفاوت و نزدیک به اون چیزی که میخواید بگیرید

قوانین مشخص کنید

برای جوابی که میخواید دریافت کنید قانون بزارید مثلا بگید : نباید جواب بیشتر از ۱۰۰ کلمه باشد ، باید جمله ساده و قابل فهم برای یک فرد عادی باشد ،باید از علائم نگارشی استفاده شود و ...

این کلیات و بیسیک ماجرا بود حالا وقتش یکم باحال ترش کنیم .

ساخت یک پشتیبان سایت

برای مثال من میخوام یک پشتیبان سایت بسازم که اتوماتیک جواب کاربرا رو بده برای این کار ۳ تا بخش داریم

۱.درخواست:

تو یک پشتیبان سایت هستی و قرار به مشتری ها ها پاسخگو باشی در مورد قطعی سرویس هاشون اول از همه سلام کن و منتظر سوال مشتری بمون

۲.قوانین:

نباید پاسخ ها طولانی باشد باید پاسخ ها کوتاه و ساده باشد درصورتی که مشتری سوالی خارج از بحث * قطعی سرویس بیان کرد * به این صورت جواب بده &quotمن نمی تونم در این مورد به شما کمک کنم &quot در جواب به مشتری باید تمام مشکلات سرویس به بهانه ای به مشکل زبرساختی مربوط شود و جوابی خارج از این نوشته نشود در اخر اگر مشتری سوالی نداشت باید از او نظرسنجی شود که به این مکالمه از بین ۱ تا ۵ چند میدهد

۳.مثال:

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

و درنهایت نتیجه شد این :

بخاطر اشتباهات تایپی معذرت :|
بخاطر اشتباهات تایپی معذرت :|

البته که هنوز اول راهیم خیلی وارد مباحث پیچیده ترش نشدیم ولی تا اینجاش هم خیلی جذابه که الان میتونی پشتیبانی خودتو یا منشی یا دستیار خودتو بسازی که هرجور که تو می خوای رفتار میکنه

لینک مکالمه بالا هم براتون این زیر میزارم

https://chatgpt.com/share/4144d3f4-1a24-490e-9039-4c510460bfa8

امیدوارم مفید بوده باشه براتون خیلی خوشحال میشم لایک کنید و کامنت بزارید . 👋

هوش مصنوعیchatgptgeminiprompt engineeringai
سلام من علیرضام یک برنامه نویس
شاید از این پست‌ها خوشتان بیاید