فهرست مطالب
کتاب مهندسی پرامپت برای ChatGPT: راهنمای سریع برای تکنیکها، نکات و بهترین روشها (Prompt Engineering for ChatGPT: A Quick Guide to Techniques, Tips, and Best Practices) به نویسندگی ChatGPT 4 با ویرایش و بررسی صابت اکین (Sabit Ekin)، اثری جامع و کاربردی برای علاقهمندان و کاربران مدلهای زبان طبیعی پیشرفته است.
این کتاب بهطور خاص به مهندسی پرامپت پرداخته است؛ هنری که به واسطه آن، کاربران قادر به طراحی و بهبود پرامپتهای ورودی خود به گونهای میشوند که پاسخهای مطلوب از مدلهای زبان طبیعی مانند ChatGPT دریافت کنند. در دنیای پرتحول پردازش زبان طبیعی (NLP)، این مهارت برای دستیابی به خروجیهای دقیق، سازگار و مرتبط اهمیت بسزایی دارد.
این کتاب با معرفی مفاهیم پایهای ChatGPT و اهمیت مهندسی پرامپت آغاز میشود و سپس به بررسی تکنیکهایی مانند وضوح در پرامپتها، استفاده از محدودیتهای مشخص، آزمایش با بافتهای مختلف و بهرهگیری از انواع سوالات مختلف میپردازد. همچنین، روشهای پیشرفتهای نظیر کنترل دما و تعداد توکنها، زنجیرهسازی پرامپتها، و تطبیق پرامپتها با حوزههای خاص مورد بحث قرار میگیرند.
در نهایت، کتاب با ارائه مطالعات موردی از کاربردهای واقعی مهندسی پرامپت در زمینههایی همچون پشتیبانی مشتری، تولید محتوا، بازیابی دانش تخصصی و داستانسرایی تعاملی، خوانندگان را به تجربه عملی و بهرهگیری از این تکنیکها ترغیب میکند.
درک ChatGPT و اهمیت مهندسی پرامپت
ChatGPT، مدل پیشرفته زبان طبیعی از شرکت OpenAI، بر پایه معماری قدرتمند GPT-4 توسعه یافته است. این مدل با دسترسی به یک مجموعه عظیم از دادههای متنی و الگوریتمهای پیچیده، توانایی تولید پاسخهایی شبیه به انسان را در زمینهها و کاربردهای مختلف دارد. از پشتیبانی مشتری گرفته تا تولید محتوا و داستانسرایی تعاملی، ChatGPT به یکی از ابزارهای بسیار مهم و کارآمد در دنیای فناوری تبدیل شده است.
یکی از کلیدهای موفقیت در استفاده از ChatGPT، درک و بهکارگیری مهندسی پرامپت است. مهندسی پرامپت، هنر طراحی و بهبود ورودیهای متنی به گونهای است که مدل بتواند بهترین پاسخ ممکن را ارائه دهد. یک پرامپت خوب باید با وضوح و دقت، هدف کاربر را مشخص کند تا مدل به درستی منظور را درک کرده و پاسخ مناسبی تولید کند. پرامپت ضعیف یا مبهم، ممکن است منجر به پاسخهایی بیارتباط یا غیرمطلوب شود. بنابراین، یادگیری اصول و تکنیکهای مهندسی پرامپت برای هر کاربری که میخواهد از ChatGPT به صورت بهینه بهره ببرد، ضروری است.
مهندسی پرامپت در واقع همان پلی است که فاصله بین نیت کاربر و توانایی مدل را پر میکند. با پرامپت مناسب، میتوان ChatGPT را بهگونهای هدایت کرد که خروجیهای دقیق، کاربردی و حتی خلاقانه تولید کند. برای مثال، زمانی که از مدل خواسته میشود درباره هوش مصنوعی توضیح دهد، اگر پرامپت تنها به صورت «درباره هوش مصنوعی بگو» نوشته شود، پاسخ کلی و شاید سطحی خواهد بود. اما اگر پرامپت به صورت «یک خلاصه کوتاه درباره هوش مصنوعی، زیرشاخههای اصلی آن و کاربردهای کنونیاش ارائه بده» نوشته شود، مدل قادر خواهد بود پاسخی دقیقتر، ساختارمندتر و مرتبطتر تولید کند.
اهمیت مهندسی پرامپت نه تنها در بهینهسازی تعاملات با ChatGPT، بلکه در ایجاد ارتباط بهتر میان کاربر و مدل نیز نهفته است. پرامپتها، اصلیترین ابزار ارتباطی میان کاربر و مدل هستند که بهطور مستقیم بر کیفیت پاسخهای تولید شده تاثیر میگذارند. با مهندسی پرامپت، کاربران میتوانند خروجیهایی کاملاً مطابق با نیازها و انتظارات خود دریافت کنند.
بهعلاوه، درک صحیح از نحوه کار ChatGPT و نقاط قوت و محدودیتهای آن، برای طراحی پرامپتهای موثر اهمیت دارد. مدلهای زبان طبیعی مانند ChatGPT ممکن است در برخی موارد با محدودیتهایی نظیر تعصبات موجود در دادههای آموزشی یا محدودیت در درک برخی زمینههای تخصصی مواجه باشند. آگاهی از این نکات، به کاربران کمک میکند تا پرامپتهایی طراحی کنند که مدل را در مسیر صحیح هدایت کرده و خروجیهای مناسبتری تولید کند.
مبانی مهندسی پرامپت
مهندسی پرامپت به زبان ساده فرآیند طراحی و بهبود ورودیهای متنی است که کاربران به مدلهای زبان طبیعی مانند ChatGPT ارائه میدهند. هدف اصلی این فرآیند، ایجاد پرامپتهایی است که به مدل کمک کند تا پاسخهایی دقیق، سازگار و مرتبط تولید کند. برای دستیابی به این هدف، لازم است که ابتدا با اصول اولیه و مؤلفههای کلیدی پرامپتها آشنا شویم.
یک پرامپت موفق باید بهطور دقیق و شفاف هدف خود را بیان کند. وقتی پرامپت مبهم یا نامشخص باشد، مدل ممکن است به نتیجهای نرسد که کاملاً با نیت کاربر هماهنگ باشد. برای مثال، اگر از مدل خواسته شود که «درباره فیزیک توضیح دهد»، پاسخ ممکن است کلی و نامرتبط با هدف خاص کاربر باشد. اما اگر پرامپت به صورت «یک خلاصه کوتاه درباره مکانیک کوانتومی و تفاوتهای آن با فیزیک کلاسیک ارائه بده» نوشته شود، نتیجه نهایی بسیار دقیقتر و کاربردیتر خواهد بود.
در این فصل، به عناصر مهمی که بر طراحی پرامپتها تأثیر میگذارند میپردازیم:
نیت کاربر
نخستین گام در مهندسی پرامپت، درک دقیق نیت کاربر است. باید مشخص شود که هدف اصلی کاربر از درخواست خود چیست و به دنبال چه نوع پاسخی است. این موضوع شامل تعیین هدفهای مختلفی مانند بازیابی اطلاعات، حل مسئله، یا حتی تولید محتوا و داستانسرایی میشود. درک این اهداف به طراحی پرامپتی منجر میشود که دقیقاً به نیازهای کاربر پاسخ دهد.
شناخت مدل
برای مهندسی پرامپت مؤثر، باید با نقاط قوت و محدودیتهای ChatGPT آشنا باشیم. این مدل، اگرچه در بسیاری از زمینهها عملکرد خوبی دارد، اما ممکن است در موضوعات تخصصی، پیچیده یا مبهم نیاز به راهنمایی بیشتر داشته باشد. شناخت این موضوع به ما کمک میکند که پرامپتها را به گونهای تنظیم کنیم که مدل بتواند بهترین خروجی ممکن را ارائه دهد.
استفاده از واژگان و بافتهای تخصصی
در برخی موارد، استفاده از اصطلاحات تخصصی یا ارائه مثالهای خاص میتواند به مدل کمک کند تا منظور را بهتر درک کند. به عنوان نمونه، زمانی که به دنبال اطلاعاتی در حوزه پزشکی هستید، ارائه یک پرامپت با استفاده از اصطلاحات دقیق پزشکی میتواند به مدل کمک کند تا پاسخی دقیقتر و علمیتر ارائه دهد.
وضوح و دقت
پرامپتها باید واضح و مشخص باشند تا از هرگونه ابهام جلوگیری شود. اگر پرامپت دارای ابهام باشد، ممکن است مدل پاسخی تولید کند که با نیازهای کاربر همخوانی نداشته باشد. به همین دلیل، بهتر است که از دستورالعملها و سوالات کاملاً روشن و مشخص استفاده شود. حتی در مواردی که به اطلاعات مختصر نیاز داریم، میتوانیم با تعیین محدودیتهای مشخص، مانند طول پاسخ یا قالببندی خاص، مدل را در مسیر درستی هدایت کنیم.
استفاده از محدودیتها و دستورالعملهای صریح
گاهی اوقات، استفاده از محدودیتهایی مانند تعداد جملات، فرمت پاسخ یا جزئیات خاص، میتواند به بهبود کیفیت خروجی کمک کند. این محدودیتها به مدل کمک میکنند که بر اساس نیاز کاربر، پاسخی مناسب و دقیق ارائه دهد. برای مثال، اگر بخواهیم خلاصهای سه جملهای از فرایند فتوسنتز داشته باشیم، میتوانیم این محدودیت را به صراحت در پرامپت ذکر کنیم.
با در نظر گرفتن این عوامل و اصول، میتوانیم پرامپتهایی طراحی کنیم که بهطور موثری نیت کاربر را به مدل منتقل کنند و خروجیهایی با کیفیت بالا و کاملاً مرتبط تولید کنند.
تکنیکهای موثر برای مهندسی پرامپت
مهندسی پرامپت، علاوه بر درک اصول اولیه، نیازمند بهکارگیری تکنیکهای عملی است که به کاربران کمک میکند تا به خروجیهای دقیق و کاربردی دست یابند. علاوه بر دستورالعملهای واضح و مشخص و استفاده از محدودیتهای صریح که در فصل قبل به آن اشاره شد، تکنیکهای کلیدی و مؤثر دیگری در مهندسی پرامپت را بررسی میکنیم.
آزمایش با زمینه و مثالها
استفاده از زمینههای مشخص یا مثالهای خاص میتواند به مدل کمک کند تا منظور و هدف اصلی کاربر را بهتر درک کند. برای نمونه، بهجای اینکه از مدل خواسته شود «تفاوت بین هدایت و همرفت را توضیح بدهد»، میتوان نوشت: «تفاوت بین هدایت و همرفت را با استفاده از مثال تابه داغ و آب جوش توضیح بده». این تکنیک مدل را به سمت پاسخی مشخص و مرتبط هدایت میکند که کاربر به دنبال آن است.
استفاده از سوالات سیستم 1 و سیستم 2
سوالات سیستم 1 و سیستم 2 به پرسشهایی اشاره دارند که به ترتیب نیازمند پاسخهای سریع و شهودی (سیستم 1) یا تحلیلهای عمیق و دقیق (سیستم 2) هستند. با آگاهی از این دستهبندی، میتوان پرامپتها را بهگونهای تنظیم کرد که خروجی متناسب با نیاز کاربر باشد. برای مثال:
سوال سیستم 1: «پایتخت فرانسه چیست؟»
پاسخ سریع و مستقیم: «پاریس».
سوال سیستم 2: «در نظر بگیر دو شرکت، یکی در زمینه انرژی تجدیدپذیر و دیگری در زمینه سوختهای فسیلی فعالیت دارند و به فکر ادغام هستند. مزایا و معایب این ادغام را بررسی کن».
این نوع سوال به تحلیل و بررسی بیشتری نیاز دارد و پرامپت بهگونهای تنظیم شده که مدل را به سمت تولید پاسخی تحلیلی و دقیق سوق میدهد.
کنترل میزان جزئیات و طول پاسخ
کاربران میتوانند میزان جزئیات و طول پاسخ را با تنظیم پرامپت کنترل کنند. بهعنوان مثال، اگر کاربر به دنبال توضیحی مختصر است، میتواند در پرامپت ذکر کند: «بهصورت مختصر توضیح بده که چرا گردش آب در طبیعت اهمیت دارد». یا اگر نیاز به توضیحی کامل و جامع دارد، میتواند پرامپت خود را بهصورت «توضیح کامل درباره گردش آب در طبیعت و مراحل آن ارائه بده» تنظیم کند. این تکنیک به مدل کمک میکند تا خروجی را با توجه به نیاز کاربر ارائه دهد.
این تکنیکها، زمانی که بهطور مؤثر بهکار گرفته شوند، میتوانند نتایج حاصل از تعامل با ChatGPT را بهبود بخشند و باعث شوند که مدل بهطور دقیقتر و مرتبطتر به نیازهای کاربر پاسخ دهد.
بهترین روشها برای مهندسی پرامپت
مهندسی پرامپت یک فرآیند مستمر و تکاملی است که نیازمند استفاده از بهترین روشها و تکنیکها برای دستیابی به نتایج بهینه است. در این فصل، به بررسی و توضیح روشهای حرفهای و کاربردی میپردازیم که کاربران میتوانند از آنها برای بهبود تعاملات خود با ChatGPT استفاده کنند.
تست و بهبود تدریجی پرامپتها
یکی از مهمترین روشها برای دستیابی به پرامپتهای موثر، آزمایش و بهبود تدریجی است. این فرآیند شامل آزمایش انواع مختلفی از پرامپتها، بررسی نتایج و تغییرات لازم برای بهبود پاسخهاست. بهعنوان مثال، اگر پرامپتی نتیجهای نامناسب تولید کرد، کاربر میتواند با تغییر و بهبود پرامپت، به مدل کمک کند تا به نتیجهای دقیقتر دست یابد. این روند تکرار و اصلاح، یکی از کلیدهای موفقیت در مهندسی پرامپت است.
تعادل بین نیت کاربر و خلاقیت مدل
ChatGPT قادر است به شکل خلاقانه و نوآورانه پاسخ دهد؛ اما همیشه لازم است این خلاقیت در جهت هدف کاربر هدایت شود. برای این منظور، پرامپت باید بهگونهای طراحی شود که ضمن ارائه فضای کافی برای خلاقیت مدل، هدف اصلی و نیاز کاربر را نیز حفظ کند. به عنوان مثال، اگر هدف کاربر دریافت یک داستان علمیتخیلی است، پرامپت باید هم به خلاقیت مدل اجازه دهد و هم بهطور دقیق موضوع و چارچوب داستان را مشخص کند تا خروجی منطبق با نیاز کاربر باشد.
استفاده از منابع خارجی و APIها
گاهی اوقات ChatGPT به دلیل محدودیتهای دادههای آموزشی ممکن است اطلاعات کافی نداشته باشد یا پاسخهای نامربوط تولید کند. برای بهبود نتایج، میتوان از منابع خارجی و APIهای موجود بهره گرفت. بهعنوان مثال، اگر کاربر به اطلاعاتی درباره وضعیت آب و هوا در لحظه نیاز دارد، میتواند از APIهای مربوط به وضعیت هوا استفاده کند و اطلاعات بهدستآمده را در پرامپت خود بگنجاند. این کار باعث میشود که پاسخهای ChatGPT دقیقتر و بهروزتر باشند.
استفاده از API ChatGPT
در برخی موارد، کاربرانی که به کدنویسی مسلط هستند، میتوانند از API OpenAI برای تعامل با ChatGPT استفاده کنند. این روش به آنها امکان میدهد که پرامپتهای پیچیدهتر و برنامهریزیشدهتری را برای مدل ایجاد کنند و حتی پاسخها را بهصورت خودکار و منظم تحلیل کنند. به عنوان مثال، کاربران میتوانند API را به گونهای برنامهریزی کنند که مدل پاسخهای خود را بر اساس ورودیهای مختلف تنظیم کند و به کاربر گزارشهای سفارشی و تحلیلهای دقیق ارائه دهد.
اطمینان از استفاده اخلاقی و اجتناب از تعصبات
یکی از مسائل مهم در استفاده از مدلهای زبان طبیعی، اجتناب از تعصبات و استفاده اخلاقی از مدل است. ChatGPT میتواند بر اساس دادههای آموزشی خود، به صورت ناخواسته پاسخهای مغرضانه یا تعصبآمیز تولید کند. برای جلوگیری از این مشکل، کاربران باید پرامپتهای خود را به گونهای طراحی کنند که از زبان جامع و بدون تعصب استفاده کنند. به علاوه، ارزیابی مستمر پاسخهای تولید شده و اصلاح پرامپتها بر اساس نتایج به دست آمده، میتواند به بهبود دقت و کاهش تعصبات کمک کند. همچنین، استفاده از فیلترها و ابزارهای نظارتی برای بررسی محتوای تولید شده قبل از نمایش به کاربر، یکی از روشهای مؤثر برای کنترل محتوای نامناسب است.
این بهترین روشها، به کاربران کمک میکنند تا بهطور حرفهای و کارآمد پرامپتهای خود را طراحی و بهبود دهند. بهکارگیری این روشها نه تنها کیفیت پاسخهای ChatGPT را بهبود میبخشد، بلکه به کاربران کمک میکند تا بهصورت خلاقانه و اخلاقی از این ابزار قدرتمند بهرهمند شوند.
(API مخفف Application Programming Interface (رابط برنامهنویسی کاربردی) است و به مجموعهای از تعاریف و پروتکلها اشاره دارد که به برنامههای نرمافزاری اجازه میدهد با یکدیگر ارتباط برقرار کنند و دادهها یا عملکردها را به اشتراک بگذارند. APIها پل ارتباطی بین دو سیستم نرمافزاری مختلف هستند و به برنامهها امکان میدهند که بهطور مؤثر و هماهنگ با یکدیگر تعامل داشته باشند، بدون آنکه نیاز باشد همه عملکردها از ابتدا نوشته شوند.
برای درک بهتر API، میتوان به چند مثال و توضیحات کاربردی اشاره کرد:
1. API در زندگی روزمره
تصور کنید که به یک رستوران رفتهاید و منو را مشاهده میکنید. وقتی سفارش خود را به گارسون میدهید، او به عنوان واسطهای بین شما (کاربر) و آشپزخانه (سیستم) عمل میکند. شما نیاز ندارید که به آشپزخانه بروید و خودتان غذا را آماده کنید؛ فقط از طریق گارسون (API) سفارش خود را ارسال میکنید و غذا را تحویل میگیرید. API در نرمافزارها نقش همان گارسون را دارد و به برنامهها اجازه میدهد تا بهطور سریع و مؤثر درخواستهای خود را به سیستم دیگری ارسال کنند و پاسخها را دریافت کنند.
2. نحوه کار API
زمانی که یک نرمافزار میخواهد از قابلیتهای نرمافزار یا سرویس دیگری استفاده کند (مثلاً یک برنامهی آبوهوا میخواهد اطلاعات دمای هوا را از یک سرور دریافت کند)، API به عنوان رابطی میان این دو عمل میکند. این نرمافزار درخواست (Request) خود را از طریق API ارسال میکند و API پس از پردازش درخواست، پاسخ (Response) مناسب را برمیگرداند. این فرآیند معمولاً با استفاده از پروتکلهای استانداردی مانند HTTP و با فرمتهایی مثل JSON یا XML انجام میشود.
3. انواع APIها
APIها بسته به نوع استفاده و نحوهی ارتباط، به انواع مختلفی تقسیم میشوند:
Web API (API وب): این نوع APIها به برنامهها امکان میدهند که از طریق اینترنت و با استفاده از پروتکلهای وب (مانند HTTP) با سرویسهای دیگر ارتباط برقرار کنند. این نوع APIها بسیار رایج هستند و برای ایجاد ارتباط بین برنامههای تحت وب و اپلیکیشنهای موبایل استفاده میشوند.
RESTful API: این نوع API، بر اساس معماری REST (Representational State Transfer) طراحی شده و یکی از رایجترین و محبوبترین انواع APIهاست. RESTful APIها از پروتکل HTTP برای ارتباط استفاده میکنند و دادهها معمولاً به فرمت JSON یا XML ارسال و دریافت میشوند. بهعنوان مثال، بسیاری از سرویسهای معروف مانند توییتر و گوگل از RESTful API برای ارائه خدمات خود استفاده میکنند.
SOAP API: این APIها بر اساس پروتکل SOAP (Simple Object Access Protocol) ساخته شدهاند و بیشتر در سازمانها و سرویسهای تحت وب قدیمی استفاده میشوند. SOAP APIها اغلب پیچیدهتر از RESTful APIها هستند و از XML به عنوان فرمت اصلی داده استفاده میکنند.
APIهای سیستمی: این نوع APIها به برنامهها اجازه میدهند تا به عملکردها و منابع یک سیستمعامل یا دستگاه دسترسی پیدا کنند. به عنوان مثال، APIهای ویندوز به توسعهدهندگان اجازه میدهند که با سیستمعامل ویندوز و ویژگیهای آن تعامل کنند.
4. کاربردهای API در برنامهنویسی و توسعه نرمافزار
APIها ابزارهایی بسیار مهم و اساسی برای توسعهدهندگان هستند، زیرا:
استفاده از قابلیتهای موجود: به توسعهدهندگان اجازه میدهد تا بهجای ساختن از ابتدا، از قابلیتهای موجود در سرویسها یا نرمافزارهای دیگر بهرهمند شوند. برای مثال، بهجای ساخت یک موتور جستجوی جدید، میتوان از API جستجوی گوگل استفاده کرد.
ارتباط بین سیستمها: به برنامهها اجازه میدهد که با سیستمها و پلتفرمهای مختلف به صورت هماهنگ ارتباط برقرار کنند. برای مثال، یک برنامهی بانکی میتواند از APIهای بانکی برای ارتباط با حسابها و انتقال اطلاعات استفاده کند.
خودکارسازی فرآیندها: APIها امکان خودکارسازی وظایف را فراهم میکنند. به عنوان مثال، APIهای پرداخت آنلاین مانند PayPal API، به برنامهها این امکان را میدهند که تراکنشها را بهصورت خودکار انجام دهند.
5. مثالهای واقعی از APIها
API گوگل مپ: بسیاری از اپلیکیشنها و وبسایتها برای نمایش نقشهها و مسیرها از API گوگل مپ استفاده میکنند. این API به توسعهدهندگان اجازه میدهد که نقشههای گوگل را در برنامههای خود ادغام کنند و به دادههای موقعیت مکانی دسترسی داشته باشند.
APIهای رسانههای اجتماعی: APIهایی مانند API توییتر یا اینستاگرام به برنامهها امکان میدهند که با پلتفرمهای این شبکههای اجتماعی تعامل کنند، مثلاً پستها را بازیابی کنند یا محتوای جدید ارسال کنند.
API ChatGPT: همانطور که در کتاب مورد بحث نیز اشاره شد، API ChatGPT به کاربران امکان میدهد تا از قدرت مدل زبان طبیعی برای پاسخ به سؤالات و انجام وظایف مختلف استفاده کنند. توسعهدهندگان میتوانند این API را در اپلیکیشنهای خود ادغام کرده و از ChatGPT برای پشتیبانی کاربران، تولید محتوا و بسیاری کاربردهای دیگر بهره ببرند.)
استراتژیهای پیشرفته مهندسی پرامپت
در حالی که تکنیکهای پایه برای مهندسی پرامپت میتوانند به کاربران کمک کنند تا به نتایج بهتری دست یابند، استراتژیهای پیشرفتهتری نیز وجود دارند که کاربران حرفهای میتوانند برای بهبود کیفیت و دقت تعاملات خود با ChatGPT به کار گیرند. این فصل به معرفی و توضیح این استراتژیها میپردازد.
کنترل دما و تعداد توکنها
دو پارامتر کلیدی در ChatGPT، دما (temperature) و تعداد توکنها (token count) هستند که میتوانند به شدت بر خروجی مدل تاثیر بگذارند:
دما (Temperature): دما پارامتری است که سطح تصادفی بودن پاسخها را کنترل میکند. دمای پایینتر (مثلاً ۰.۲) باعث میشود مدل پاسخهای دقیقتر و با تکرار کمتر ارائه دهد، در حالی که دمای بالاتر (مثلاً ۱.۰) به مدل اجازه میدهد پاسخهای خلاقانهتر و متفاوتتر تولید کند. کاربران میتوانند بسته به نیاز خود، دمای مناسب را تنظیم کنند؛ برای مثال، اگر به دنبال پاسخی دقیق و قابل اعتماد هستند، دمای پایین انتخاب خوبی است. اما اگر هدف تولید محتوای خلاقانه باشد، دمای بالاتر ممکن است مفیدتر باشد.
در APIهای GPT، با استفاده از پارامتر temperature، توسعهدهنده میتواند سطح خلاقیت و تصادفی بودن مدل را تغییر دهد. این پارامتر معمولاً در محدوده ۰ تا ۱ تنظیم میشود:
temperature = 0.0 به معنای پاسخ کاملاً دقیق و بدون تصادفی بودن است.
temperature = 1.0 به معنای پاسخ کاملاً خلاقانه و تصادفی است.
مقادیر بین این دو محدوده، سطحی از تعادل بین دقت و خلاقیت را فراهم میکنند.
دمای بسیار پایین (۰.۱-۰.۳):
پاسخها بسیار دقیق، منطقی و تکراریتر هستند. برای سوالاتی که نیاز به اطلاعات قابل اعتماد دارند بسیار مناسب است.
دمای متوسط (۰.۴-۰.۷):
در این محدوده تعادلی میان دقت و خلاقیت وجود دارد. مدل ممکن است پاسخهایی کمی خلاقانهتر و نه چندان تکراری ارائه دهد، در حالی که همچنان بهطور منطقی قابل اعتماد است.
دمای بالا (۰.۸-۱.۰):
پاسخها خلاقانهتر، آزادتر و متنوعتر خواهند بود. برای کاربردهایی که خلاقیت و تنوع اهمیت دارد، این محدوده دما مناسب است.
مثالهایی با دماهای مختلف:
فرض کنید سوال این است: “یک داستان کوتاه در مورد یک گربه که به ماجراجویی میرود بنویس.”
دمای پایین (۰.۲):
وقتی دما پایین تنظیم شود، مدل تمایل دارد پاسخی ارائه دهد که منطقی، دقیق و احتمالاً کمتر خلاقانه و بیشتر تکراری باشد.
پاسخ با دمای ۰.۲: “گربهای به نام میو یک روز تصمیم گرفت به جنگل برود تا دوستان جدیدی پیدا کند. در جنگل به خرگوشی برخورد کرد که در حال بازی بود. آنها با هم دوست شدند و روزهای بسیاری را در کنار هم سپری کردند. در نهایت، میو به خانه برگشت و از آن روز به بعد همیشه با خرگوش دوستش بازی میکرد.”
دمای متوسط (۰.۵):
در این حالت، مدل هنوز پاسخهایی منطقی و دقیق ارائه میدهد اما کمی خلاقیت و تنوع در آن دیده میشود.
پاسخ با دمای ۰.۵: “گربهای به نام میو، کنجکاو و پرانرژی بود. یک روز به جنگل نزدیک خانهاش رفت و در آنجا با موجودات جدیدی مثل یک خرگوش و یک سنجاب آشنا شد. آنها با هم تصمیم گرفتند از کوه بالا بروند و راز غاری قدیمی را کشف کنند. بعد از یک روز پر ماجرا، میو به خانه برگشت و داستان ماجراجوییاش را برای خانوادهاش تعریف کرد.”
دمای بالا (۱.۰):
در دمای بالا، مدل بسیار خلاقانهتر عمل میکند و ممکن است بخشهایی از داستان بهطور غیرمنتظرهای تغییر کنند.
پاسخ با دمای ۱.۰: “گربهای به نام میو، روزی از خواب بیدار شد و تصمیم گرفت که دیگر به دنبال ماجراجوییهای عادی نباشد. او به جنگل رفت و در آنجا با یک جغد سخنگو آشنا شد که به او نقشهای اسرارآمیز داد. نقشه او را به جزیرهای شناور در میان ابرها هدایت کرد، جایی که گربهها با قدرتهای جادویی زندگی میکردند. میو باید یکی از آنها میشد و برای آن، باید از آزمونی عجیب عبور میکرد: پیدا کردن گل درخشان در قلب یک آتشفشان فعال. با وجود همه سختیها، میو موفق شد و در نهایت به عنوان یک قهرمان به خانه بازگشت.”
تعداد توکنها (Token Count): این پارامتر تعداد کلمات یا قطعات کلمهای را که مدل میتواند تولید کند، محدود میکند. تنظیم این پارامتر به کاربران امکان میدهد طول پاسخ را بهطور دقیق کنترل کنند. مثلاً، برای خلاصههای کوتاه، میتوان تعداد توکنها را محدود کرد تا مدل بهجای توضیحات طولانی، پاسخی مختصر ارائه دهد. (مثال پرامپت: مقالهای درباره (موضوع مورد نظر) در 400 کلمه به من ارائه بده)
توجه: توکنها ممکن است یک کلمه کامل یا بخشی از آن باشند، زیرا توکنها به بخشهای کوچکتری تقسیم میشوند. در مثال بالا برای درک بهتر، توکن به عنوان کلمه در نظر گرفته شده است.
زنجیرهسازی پرامپتها و مکالمات چند مرحلهای
یکی از استراتژیهای موثر برای ایجاد تعاملات پویا و پیچیده، زنجیرهسازی پرامپتها یا استفاده از مکالمات چند مرحلهای است. این تکنیک به کاربران اجازه میدهد که پرامپتها را به شکلی طراحی کنند که مدل بهصورت مرحلهبهمرحله اطلاعات را ارائه دهد یا به طور مداوم در جریان یک مکالمه طولانی با کاربر باقی بماند.
بهعنوان مثال، فرض کنید کاربر میخواهد اطلاعاتی درباره مزایای چای سبز دریافت کند:
پرامپت اول: «مزایای سلامتی چای سبز را بگو.»
پاسخ: «چای سبز سرشار از آنتیاکسیدانهاست که میتواند خطر بیماریهای مزمن را کاهش دهد، عملکرد مغز را بهبود بخشد و به کاهش وزن کمک کند.»
پرامپت دوم: «در مورد آنتیاکسیدانهای موجود در چای سبز بیشتر توضیح بده.»
پاسخ: «چای سبز حاوی پلیفنولهایی بهویژه کاتچینهاست. یکی از کاتچینهای مهم، EGCG است که خواص ضد التهابی و ضد سرطانی دارد.»
این روش به مدل اجازه میدهد تا مکالمهای پیوسته و عمیق را ایجاد کند و به کاربران اطلاعات مفصلتری ارائه دهد.
تطبیق پرامپتها برای کاربردهای حوزههای خاص
در برخی مواقع، کاربران به اطلاعات و خروجیهای خاصی از یک حوزه نیاز دارند. در این موارد، تطبیق پرامپتها با استفاده از زبان و مفاهیم تخصصی آن حوزه میتواند به بهبود دقت و ارتباط پاسخها کمک کند. برای مثال، در حوزهی برنامهنویسی، استفاده از اصطلاحات فنی مانند «الگوریتم مرتبسازی» یا «ساختمان دادهها» به مدل کمک میکند که پاسخهای فنی و دقیقتری ارائه دهد.
بهعنوان نمونه:
پرامپت حوزه تخصصی: «مفهوم طراحی واکنشگرا در توسعه وب را توضیح بده و اهمیت آن را بیان کن.»
پاسخ: «طراحی واکنشگرا رویکردی در توسعه وب است که به وبسایتها اجازه میدهد به شکل مناسب در دستگاهها و اندازههای صفحه نمایش مختلف نمایش داده شوند. این کار از طریق استفاده از شبکههای انعطافپذیر، تصاویر قابل تغییر و CSS media queries انجام میشود. طراحی واکنشگرا برای بهبود تجربه کاربری و افزایش دسترسی بسیار حائز اهمیت است.»
مدیریت ورودیهای مبهم یا متناقض
گاهی اوقات کاربران ممکن است ورودیهایی ارائه دهند که مبهم یا متناقض هستند. در این موارد، پرامپتها باید به گونهای طراحی شوند که مدل را به سمت درخواست توضیح بیشتر یا ارائه چندین تفسیر مختلف هدایت کنند. به این ترتیب، مدل میتواند به کاربران کمک کند که سوال خود را بهتر مشخص کنند یا پاسخهایی ارائه دهد که چندین جنبه از یک موضوع را پوشش دهند.
برای مثال:
پرامپت مبهم: «چقدر طول میکشد تا شارژ شود؟»
پاسخ: «سوال شما مبهم است. لطفاً دستگاه یا شیء مورد نظر خود را مشخص کنید تا زمان شارژ را به شما بگویم.»
پرامپت متناقض: «بهترین روش برای کاهش وزن: رژیم پرچرب یا رژیم پرکربوهیدرات؟»
پاسخ: «هیچ پاسخ قطعی برای این سوال وجود ندارد، زیرا بهترین روش برای کاهش وزن به نیازها، ترجیحات و اهداف فردی بستگی دارد. برخی افراد با رژیم کمچرب موفق میشوند و برخی دیگر با رژیم پرکربوهیدرات. مشورت با یک متخصص تغذیه برای تعیین مناسبترین روش ضروری است.»
این استراتژیها به کاربران اجازه میدهند که پرامپتهای خود را بهطور دقیقتر تنظیم کنند و از ChatGPT نتایج بهتری دریافت کنند.
مطالعات موردی: کاربردهای واقعی مهندسی پرامپت
در این فصل، به بررسی چندین مطالعه موردی و کاربرد واقعی از مهندسی پرامپت میپردازیم که در زمینههای مختلف مانند پشتیبانی مشتری، تولید محتوا، بازیابی دانش تخصصی و داستانسرایی تعاملی استفاده میشود. این مطالعات نشان میدهند که چگونه میتوان از تکنیکهای معرفی شده در فصلهای قبل به طور عملی بهره برد و از ChatGPT به عنوان ابزاری کارآمد استفاده کرد.
پشتیبانی مشتری با رباتهای گفتگو
یکی از کاربردهای مهم ChatGPT در حوزه پشتیبانی مشتری است. با طراحی پرامپتهای دقیق و هدفمند، میتوان رباتهای پشتیبانی مشتری ایجاد کرد که به سوالات کاربران بهطور مؤثر و سریع پاسخ دهند.
مثال پرامپت: «به عنوان یک ربات پشتیبانی مشتری، روش بازنشانی رمز عبور کاربر را توضیح بده.»
پاسخ: «برای بازنشانی رمز عبور، مراحل زیر را دنبال کنید:
به صفحه ورود به حساب کاربری مراجعه کنید.
روی لینک “فراموشی رمز عبور” کلیک کنید.
آدرس ایمیل ثبت شده خود را وارد کنید.
لینک بازنشانی به ایمیل شما ارسال میشود؛ آن را باز کرده و رمز جدیدی تنظیم کنید.»
در این مثال، پرامپت بهطور دقیق وظیفه و دستورالعملهای مورد نیاز را مشخص میکند و مدل نیز پاسخی کامل و گامبهگام ارائه میدهد.
تولید و ویرایش محتوا
ChatGPT میتواند برای تولید و ویرایش محتوای مختلف، از جمله پستهای وبلاگی، بروشورها، توضیحات محصولات و غیره استفاده شود. با طراحی پرامپتهای مناسب، میتوان از مدل برای ایجاد محتواهای خلاقانه و جذاب بهره برد.
مثال پرامپت: «یک مقدمه کوتاه و جذاب برای یک پست وبلاگی درباره فواید مدیتیشن بنویس.»
پاسخ: «در دنیای پرسرعت امروز، پیدا کردن آرامش ذهنی و تعادل روحی ممکن است هدفی دور از دسترس به نظر برسد. اما چه میشود اگر یک روش ساده و کهن بتواند دروازهای به سوی ذهنی آرام و روحی متمرکز بگشاید؟ مدیتیشن، این ابزار شگفتانگیز، قادر است زندگی شما را به شکل قابل توجهی بهبود بخشد. در این مقاله، با فواید بیشمار مدیتیشن آشنا شوید و بیاموزید که چگونه میتوانید ذهنی آرام و متعادل داشته باشید.»
این پرامپت به مدل امکان میدهد تا مقدمهای خلاقانه و جذاب ارائه دهد که بهطور مستقیم به هدف کاربر پاسخ میدهد.
بازیابی دانش تخصصی
یکی دیگر از کاربردهای ChatGPT، استفاده در بازیابی اطلاعات تخصصی در زمینههای مختلف مانند پزشکی، حقوق، مهندسی و سایر حوزههای تخصصی است. کاربران میتوانند پرامپتهایی طراحی کنند که مدل را به سمت پاسخهای دقیق و مبتنی بر اطلاعات تخصصی هدایت کنند.
مثال پرامپت: «به عنوان یک کارشناس باغبانی، چند گیاه آسان برای پرورش برای مبتدیان پیشنهاد بده.»
پاسخ: «برای مبتدیانی که میخواهند باغبانی را آغاز کنند، گیاهان زیر پیشنهاد میشوند:
همیشهبهار: این گلهای زیبا و رنگارنگ به مراقبت کمی نیاز دارند و در خاکهای مختلف به خوبی رشد میکنند.
ریحان: این گیاه محبوب به سرعت رشد میکند و میتوان از برگهای آن در آشپزی استفاده کرد.
گوجه فرنگی گیلاسی: یک نوع مقاوم که میتواند در باغچه یا گلدانهای کوچک پرورش یابد و محصولی پربار دارد.
کدو سبز: این سبزی سریع رشد میکند و برای پرورش در بسترهای باغچهای یا گلدانها مناسب است.
آفتابگردان: این گلهای آفتابی نیاز به مراقبت کمی دارند و به راحتی رشد میکنند.»
این مثال نشان میدهد که چگونه با استفاده از یک پرامپت هدفمند میتوان پاسخهایی دقیق و کاربردی از مدل دریافت کرد.
داستانسرایی تعاملی و بازی
ChatGPT قابلیت ایجاد داستانهای تعاملی و بازیهای متنمحور را دارد. این کاربرد نیازمند پرامپتهایی است که فضای داستانی و شرایط خاصی را تعریف کرده و به مدل اجازه میدهد به صورت خلاقانه به داستان ادامه دهد.
مثال پرامپت: «شما یک ماجراجو هستید که وارد غاری اسرارآمیز میشوید. غار را توصیف کن و اشارهای به یک گنجینه پنهان داشته باش.»
پاسخ: «با ورود به غار، نسیمی خنک و مرطوب صورت شما را نوازش میدهد. نور کمرنگ قارچهای شبتاب، دیوارهای غار را روشن کرده و نمادهای باستانی بر روی سنگها به چشم میخورد. غار به نظر بیپایان میرسد و مسیرهای پرپیچوخمی در هر سمت شما قرار دارد. در جایی دورتر در این هزارتوی زیرزمینی، گنجینهای افسانهای مخفی شده که گفته میشود قدرتهای بیحد و اندازهای دارد. با هر قدمی که برمیدارید و صدای پای شما در سکوت غار طنین میاندازد، خود را برای مواجهه با چالشهای ناشناخته آماده میکنید و در جستجوی اسرار گمشده و یافتن گنجینه، به پیش میروید.»
این پرامپت و پاسخ آن، به کاربر تجربهای تعاملی و جذاب ارائه میدهد که میتواند در بازیهای متنمحور یا داستانسرایی استفاده شود.
این مطالعات موردی نشان میدهند که با استفاده از تکنیکها و استراتژیهای مهندسی پرامپت، میتوان از ChatGPT در کاربردهای متنوع و خلاقانه بهره برد.
نتیجهگیری
مهندسی پرامپت به عنوان یک مهارت کلیدی در استفاده از مدلهای زبان طبیعی مانند ChatGPT نقش حیاتی در بهینهسازی و ارتقاء کیفیت تعاملات انسان و هوش مصنوعی ایفا میکند. در کتاب مهندسی پرامپت برای ChatGPT:، با مروری بر مبانی، تکنیکها و استراتژیهای پیشرفته مهندسی پرامپت، تلاش شد تا چارچوبی جامع و کاربردی برای کاربران ارائه شود تا بتوانند بهترین استفاده را از ChatGPT داشته باشند.
با درک اصول پایهای و آشنایی با روشهای مختلف، از طراحی پرامپتهای واضح و مشخص تا کنترل دقیق پارامترهایی مانند دما و توکنها، کاربران میتوانند سطح تعامل خود با مدل را بهبود بخشند و نتایج دقیقتر، خلاقانهتر و مرتبطتری دریافت کنند. همچنین، تکنیکهای پیشرفتهای مانند زنجیرهسازی پرامپتها و استفاده از پرامپتهای چند مرحلهای به کاربران امکان میدهند تا مکالمات پیچیدهتر و کاربردیتری ایجاد کنند.
مطالعات موردی ارائه شده در این کتاب نشان میدهند که مهندسی پرامپت نه تنها یک فرآیند تکنیکی، بلکه هنری است که به کاربر اجازه میدهد خلاقیت خود را به کار بگیرد و از ChatGPT به عنوان ابزاری قدرتمند در زمینههای مختلف مانند پشتیبانی مشتری، تولید محتوا، بازیابی دانش تخصصی و حتی داستانسرایی تعاملی بهرهبرداری کند.
به عنوان جمعبندی، مهندسی پرامپت فرآیندی پویا و تکرارپذیر است. کاربران با آزمایش، تست و بهبود مستمر پرامپتهای خود میتوانند به تدریج به سطحی از مهارت برسند که بتوانند تعاملاتی با دقت و کیفیت بالا ایجاد کنند. از طرفی، آگاهی از محدودیتها و تعصبات احتمالی مدل، و استفاده از پرامپتهایی که اخلاقی و بدون تعصب هستند، به کاربران کمک میکند که نه تنها به نتایج دقیقتری برسند، بلکه از استفاده نامناسب و نادرست از مدل نیز جلوگیری کنند.
در نهایت، مهندسی پرامپت ابزاری است که میتواند از مرزهای خلاقیت فراتر برود و به عنوان پلی میان نیت کاربران و تواناییهای هوش مصنوعی عمل کند. کاربران با استفاده از مهارتها و تکنیکهای معرفی شده در این کتاب، میتوانند این پل را به بهترین شکل ممکن بنا کنند و از تعاملات خود با ChatGPT به نحو احسن بهرهبرداری کنند.
کتاب پیشنهادی:
کتاب کوچینگ نویسندگی با ChatGPT