تصور کنید در شهری زندگی میکنید که دولت به تمامی ساکنان آن، از کودکان تا بزرگسالان، یک ابزار جادویی رایگان هدیه داده است. این ابزار قدرتمند، همراه با زیرساختهای لازم، به گونهای طراحی شده است که کاربران میتوانند با استفاده از آن، وظایف روزمره خود را، چه در خانه، چه در بیرون و چه در سر کار به بهترین و سریعترین شکل ممکن انجام دهند. در این شهر خیالی، مردم با کمک این تکنولوژی شگفتانگیز، از زندگی راحتتر و لذتبخشتری برخوردارند. آنها فرصت بیشتری برای گذراندن اوقات با خانواده دارند، به سفرهایی با کیفیت بالا میروند و حتی کارهای شغلی خود را نیز به روش آسانتری انجام میدهند. اما متأسفانه شما از نحوه استفاده از این ابزار رایگان بیاطلاع هستید.
در حالی که دوستان و آشنایان شما از مزایای این فناوری بهرهمند میشوند و در زندگی و کار خود پیشرفت میکنند، شما همچنان زندگی خستهکنندهی گذشته را تجربه میکنید. شما دیر وقت از محل کار برمیگردید، به ندرت به سفرهای لذتبخش میروید و حتی در طول سفر نیز از استرس کارهای عقبافتاده رنج میبرید. احساس میکنید هیچ پیشرفتی در زندگیتان رخ نداده است.
این داستان یک داستان فرضی بود و حتی تصور چنین شرایطی میتواند، استرس زا باشد. حال تصور کنید که واقعا در چنین شرایطی زندگی میکنید اما روحتان هم از آن خبر ندارد. حتما از خود میپرسید اگر چنین باشد:
1. این ابزار جادویی که همگان از آن بهره میبرند چیست؟
2. چگونه میتوانیم نحوه استفاده از این ابزار رایگان قدرتمند را بیاموزیم؟
اگر مطالب ارائه شده در این مقاله از هامیا ژورنال را با دقت مطالعه کنید، به پاسخ این دو پرسش مهم دست خواهید یافت.
هوش مصنوعی به عنوان ابزاری برای تحقیق، یادگیری، خلاقیت و تعامل، جایگاه خود را در تمام زمینههای زندگی هر شخصی پیدا کرده است. در ماهها و چند سال اخیر، ابزارهای هوش مصنوعیِ چتمحور زیادی از شرکتهای بزرگی همچون OpenAI، گوگل، مایکروسافت و غیره معرفی شدهاند که همگی از فناوری هوش مصنوعی مولد استفاده میکنند. به منظور برقراری ارتباطی موثر با هوش مصنوعی، باید نحوهی تعامل با این فناوری را بلد باشیم و سپس با ارائهی سوالات، دستورات و درخواستهایی به هوش مصنوعیهای مولد، پاسخهای مناسب خود را دریافت کنیم. با این حال، هوش مصنوعی، محدودیتهایی دارد و برای دریافت پاسخ صحیح، باید از آن، سوالِ درست و صحیحی پرسیده شود. سیستمهای هوش مصنوعی از درک و شهود لازم برای درک واقعی نیازها و خواستههای کاربران برخوردار نیستند. یک سوال، دستور یا درخواست ایدهآل، نیاز به کلمه بندی دقیق، قالب بندی مناسب و جزئیات واضحی دارد. این دستورات، درخواستها و سوالهای با زبان طبیعی که کلید یک رابط کاربری مدرن با هوش مصنوعی مولد هستند، “پرامپت” و نحوهی تنظیم درست، اصولی و قابل فهم هر چه بیشتر پرامپت ها به هوش مصنوعیهای مولد، “مهندسی پرامپت” نامیده میشود. در ادامهی مقاله، توضیحات تخصصیتری نسبت به این موضوع در اختیار شما همراهان عزیز هامیا قرار خواهد گرفت.
معرفی ابزار کوپایلت شرکت مایکروسافت (Microsoft copilot)
پرامپت چیست؟
پرامپت، درخواستی است که توسط یک انسان از یک سیستم هوش مصنوعی مولد، که اغلب یک مدل زبان بزرگ (LLM) است، ارائه میشود.
بسیاری از پرامپت ها صرفاً سؤالاتی به زبان ساده هستند، مانند «نام پانزدهمین رئیس جمهور ایالات متحده چیست؟» یا «امروز غروب آفتاب در شهر مشهد چه ساعتی است؟». در موارد دیگر، یک پرامپت میتواند به نتایج ملموسی منجر شود، مانند دستور «ترموستات خانه را روی 72 درجه فارنهایت تنظیم کن» برای یک سیستم خانگی هوشمند.
با این حال، پرامپت ها میتوانند شامل درخواستهای بسیار پیچیدهتر و جزئیتری نیز باشند. برای نمونه، کاربری ممکن است یک متن 2000 کلمهای در مورد استراتژیهای بازاریابی برای بازیهای کامپیوتری جدید، گزارشی برای یک پروژهی کاری یا قطعات هنری و موسیقی با موضوعی خاص را درخواست کند.
پرامپت ها میتوانند بسیار طولانی و گسترده باشند و شامل درخواست کاربر، فرمتها، محدودیتهای تعیین شده، نمونههای راهنما و سایر پارامترها با جزئیات کامل باشند. رابط کاربری سیستم هوش مصنوعی، پرامپت را تجزیه و تحلیل میکند و آن را به وظایف و پارامترهای قابل اجرا تبدیل میکند. سپس از این عناصر استخراج شده برای دسترسی به دادهها و انجام کارهایی که با درخواست کاربر مطابقت دارند، در چارچوب مدلهای زیربنایی و مجموعه دادههای سیستم استفاده میکند.
مهندسی پرامپت چیست؟
مهندسی پرامپت (Prompt Engineering) یک تکنیک مهندسی هوش مصنوعی است که اهداف مختلفی را دنبال میکند. این روش شامل فرآیند پالایش مدلهای زبان بزرگ (LLM) با پرامپت های خاص و خروجیهای پیشنهادی و همچنین فرآیند پالایش ورودی به سرویسهای مختلف هوش مصنوعی مولد برای تولید متن یا تصویر میشود. با بهبود ابزارهای هوش مصنوعی مولد، مهندسی پرامپت در تولید سایر انواع محتوا از جمله رباتهای اتوماسیون فرایند رباتیک، داراییهای سه بعدی، اسکریپتها، دستورالعملهای ربات و سایر انواع محتوا و مصنوعات دیجیتال نیز اهمیت پیدا خواهد کرد.
این تکنیکِ مهندسی هوش مصنوعی، به تنظیم مدلهای زبان بزرگ (LLM) برای موارد استفاده خاص کمک میکند و از نمونههای یادگیری بدون داده (zero-shot) همراه با مجموعهی دادهی خاصی برای اندازهگیری و بهبود عملکرد LLM استفاده میکند. با این حال، به دلیل تعداد بسیار بیشتر کاربرانِ ابزارهای موجود نسبت به توسعهدهندگانی که روی ابزارهای جدید کار میکنند، مهندسی پرامپت برای ابزارهای مختلف هوش مصنوعی مولد، به طور کلی کاربرد گستردهتری پیدا میکند.
مهندسی پرامپت ترکیبی از عناصر منطق، کدگذاری، هنر و در برخی موارد، اصلاحکنندههای خاص است. پرامپت میتواند شامل متن زبان طبیعی، تصاویر یا سایر انواع دادههای ورودی باشد. اگرچه رایجترین ابزارهای هوش مصنوعی مولد میتوانند پرسشهای زبان طبیعی را پردازش کنند، اما به احتمال زیاد یک پرامپت مشابه، نتایج متفاوتی در سراسر سرویسها و ابزارهای هوش مصنوعی ایجاد میکند. همچنین مهم است که توجه داشته باشید که هر ابزار، اصلاحکنندههای خاص خود را برای توصیف آسانتر وزن کلمات، سبکها، دیدگاهها، چیدمان یا سایر ویژگیهای پاسخ مورد نظر دارد.
نقش مهندسی پرامپت چیست؟
در نگاه اول، مفهوم پرامپت به راحتی قابل درک است. برای مثال، بسیاری از کاربران با چتباتهای آنلاین و سایر موجودیتهای هوش مصنوعی با پرسیدن و پاسخ دادن به سوالات برای حل مشکلات، ثبت سفارش، درخواست خدمات یا انجام سایر تراکنشهای تجاری ساده، تعامل برقرار میکنند.
با این حال، پرامپت های پیچیده به راحتی میتوانند به درخواستهای حجیم، بسیار ساختاریافته و با جزئیات دقیق تبدیل شوند که پاسخهای بسیار خاصی را از مدل هوش مصنوعی بیرون میکشند. این سطح بالای جزئیات و دقت اغلب نیازمند تخصص گستردهای است که توسط متخصصان هوش مصنوعی «مهندسی پرامپت» نامیده میشود.
یک مهندس پرامپت موفق ویژگیهای زیر را دارد:
- آشنایی کاربردی با معماری مدل پایهای سیستم هوش مصنوعی: درک نحوه عملکرد و اجزای سیستم هوش مصنوعی که با آن کار میکند.
- درک محتوای مجموعه داده آموزشی و محدودیتهای آن: آگاهی از نوع اطلاعاتی که سیستم هوش مصنوعی با آن آموزش دیده است و اینکه این اطلاعات تا چه حد میتوانند در پاسخگویی به درخواستها موثر باشند.
- توانایی گسترش مجموعه داده و استفاده از دادههای جدید برای بهبود عملکرد سیستم هوش مصنوعی: قابلیت غنیسازی دادههای آموزشی برای ارتقای کیفیت خروجی سیستم.
- دانش دقیق از مکانیزمهای رابط کاربری پرامپت سیستم هوش مصنوعی، از جمله روشهای قالببندی و تجزیه: تسلط بر نحوه تنظیم و ارائه درخواستها به سیستم برای دستیابی به بهترین نتایج.
یک مهندس پرامپت، تبحر خاصی در ایجاد و اصلاح پرامپتهای مؤثر برای درخواستهای پیچیده و با جزئیات زیاد از هوش مصنوعی دارد. اما صرف نظر از سطح تجربه و دانش مهندسی پرامپت شما، 10 نکتهای که در ادامهی مقاله نوشتهایم، میتواند به شما در بهبود کیفیت و نتایج پرامپت های هوش مصنوعی کمک کند.
چرا مهندسی پرامپت برای هوش مصنوعی مهم است؟
مهندسی پرامپت برای بهبود عملکرد و دقت ابزارهای هوش مصنوعی مبتنی بر پردازش زبان طبیعی ضروری است. این فرایند شامل تنظیم دقیق مدلهای زبان بزرگ (LLM) و پرامپت ها (ورودیهای متنی) برای رسیدن به نتایج دلخواه میشود. مهندسی پرامپت به سازمانها کمک میکند تا مدلهای هوش مصنوعی را برای کاربردهای خاص مانند تولید خودکار قراردادها یا ارائه پاسخهای سفارشی به مشتریان، تنظیم کنند.
مهندسی پرامپت همچنین میتواند در شناسایی و کاهش انواع حملات تزریق پرامپت (SQL injection attacks) نقش داشته باشد. این نوع حملات، گونهای مدرن از حملات تزریق SQL هستند که در آنها بازیگران مخرب یا آزمایشکنندگان کنجکاو سعی میکنند منطق سرویسهای هوش مصنوعی تولیدکننده مانند ChatGPT، چت مایکروسافت بینگ یا Google Gemini را بشکنند. آزمایشکنندگان متوجه شدهاند که اگر از مدلها خواسته شود دستورات قبلی را نادیده بگیرند یا وارد حالت خاصی شوند و یا اطلاعات متناقض را درک کنند، ممکن است رفتار غیرقابل پیشبینی از خود نشان دهند. در این موارد، توسعهدهندگان سازمانی میتوانند با بررسی پرامپت های مورد نظر، مشکل را بازسازی کنند و سپس مدلهای یادگیری عمیق را برای کاهش این مشکل، به صورت دقیق تنظیم کنند.
از دید کاربران نهایی، مهندسی پرامپت به آنها امکان میدهد با تغییر چارچوببندی سوالات، نتایج بهتر و دقیقتری از ابزارهای هوش مصنوعی مولد دریافت کنند. این امر در زمینههای مختلف از جمله نوشتن متن و محتوا، برنامهنویسی و تبدیل متن به تصویر کاربرد دارد.
در مجموع، مهندسی پرامپت به بهبود کارایی و قابلیت اطمینان سیستمهای هوش مصنوعی مبتنی بر پردازش زبان طبیعی کمک میکند و راهی برای افزایش کنترل و تعامل انسان با این ابزارها را فراهم میآورد.
10 نکته برای افزایش مهارت پرامپت نویسی
هر کسی میتواند یک ابزار هوش مصنوعی را با یک پرامپت هدایت کند، اما ایجاد پرامپت های خوب، نیاز به دانش و مهارتهایی دارد. کاربر باید دیدگاه روشنی نسبت به پاسخ یا نتیجهای که به دنبال آن است را دارا بوده و درک کاملی از سیستم هوش مصنوعی، از جمله ظرافتهای رابط کاربری و محدودیتهای آن داشته باشد.
این چالش، گستردهتر از آن چیزی است که در ابتدا به نظر میرسد. هنگام ایجاد پرامپت برای ابزارهای هوش مصنوعی تولیدکننده، نکات زیر را در نظر داشته باشید:
1. در پرامپت نویسی، نتیجهی درخواست شده و مطلوب را درک کنید.
مهندسی موفق پرامپت تا حد زیادی به دانستن سوالات درست و نحوه پرسیدن موثر آنها بستگی دارد. اما اگر کاربر در وهله اول نداند که چه میخواهد، این موضوع هیچ معنایی نخواهد داشت.
پیش از هر گونه تعامل با یک ابزار هوش مصنوعی، تعریف کردن اهداف این تعامل و پیشاپیش تدوین یک طرح کلی از نتایج مورد انتظار، اهمیت دارد. اهداف خود را برنامهریزی کنید: تصمیم بگیرید که به چه چیزی میخواهید برسید، مخاطب، چه چیزی باید بداند و هر اقدام مرتبطی که سیستم باید انجام دهد را مشخص کنید.
2. مسائل را در پرامپت نویسی قالب بندی کنید.
سیستمهای هوش مصنوعی میتوانند با درخواستهای ساده و مستقیم با استفاده از جملات معمولی و روزمره کار کنند. اما درخواستهای پیچیده، از پرسشهای دقیق و ساختارمند که با فرم یا قالبی مطابق با طراحی داخلی سیستم باشد، بهرهمند خواهند شد.
این نوع دانش برای مهندسان پرامپت ضروری است. فرم و قالب میتواند برای هر مدل متفاوت باشد و برخی ابزارها، مانند مولدهای هنری، ممکن است ساختار ترجیحی داشته باشند که شامل استفاده از کلمات کلیدی در مکانهای قابل پیشبینی باشد. برای مثال، شرکت Kajabi یک قالب پرامپت مشابه موارد زیر را برای دستیار هوش مصنوعی مکالمهمحور خود، Ama، توصیه میکند:
“رفتار کردن مانند” + “نوشتن در مورد“ + “تعیین یک هدف” + “تعیین قالب ایدهآل خود“
این قالب متنی به شما کمک میکند تا برای نوشتن یک متن خلاقانه، مانند یک داستان یا شعر، مراحل لازم را انجام دهید.
- “رفتار کردن (عمل کردن) مانند” یعنی اینکه که خودتان را جای شخصیت یا موضوعی که میخواهید درباره آن بنویسید بگذارید. سعی کنید از دیدگاه آنها به دنیا نگاه کنید و افکار و احساسات آنها را درک کنید.
- ” نوشتن در مورد” به معنای آن است که شروع به نوشتن کنید و موضوع کلی را بیان کنید.
- “تعیین یک هدف“یعنی قبل از شروع نوشتن، باید هدف خود را از نوشتن متن مشخص کنید. میخواهید چه چیزی را به خواننده القا کنید؟
- “تعیین قالب ایدهآل خود” به شما میگوید که قالب ایدهآل متن خود را مشخص کنید. میخواهید متن شما به چه شکلی باشد؟ شعر، داستان، مقاله، یا چیز دیگر؟
با دنبال کردن این مراحل، میتوانید پرامپت خلاقانه و جذابی بنویسید که خواننده را مجذوب خود کند. نمونهی یک پرامپت برای یک پروژهی متنی، مانند داستان یا گزارش، میتواند به شکل زیر باشد:
رفتار کن مثلِ یک استاد تاریخ که در حال نوشتن مقالهای برای کلاس است تا پیشزمینهای با جزئیات کامل دربارهی جنگ اسپانیا و آمریکا، با سبکِ مارک تواین، ارائه دهد.
3. درخواستهای واضح و مشخصی را در پرامپت نویسی مطرح کنید.
هوش مصنوعی، نه تلهپاتی است و نه توانایی درک ماورایی دارد. هوش مصنوعی بهترین دوست شما نیست و از دوران کودکی شما را نمیشناسد؛ این سیستم تنها بر اساس آنچه که بتواند از یک پرامپت معین تفسیر کند، عمل میکند.
درخواستهای شفاف، صریح و قابل اجرا را فرموله کنید. خروجی دلخواه را درک کنید، سپس برای توصیف وظیفهای که باید انجام شود یا بیان سؤالی که نیاز به پاسخ دارد تلاش کنید.
برای مثال، یک سوال ساده مانند «چه ساعتی جزر دریا بالا است؟» یک پرامپت مهندسی شدهای نیست؛ زیرا جزئیات ضروری را ندارد. جزر و مد با توجه به روز و مکان تغییر میکند، بنابراین مدل هوش مصنوعی اطلاعات کافی برای ارائه پاسخ صحیح نخواهد داشت. یک پرس و جوی بسیار واضح و خاصتر میتواند این باشد: «زمانهای جزر بالا در بندر عباس، ایران، در تاریخ 31 مرداد 1403 چه ساعتی خواهد بود؟»
4. حواستان به طول پرامپت که مینویسید باشد.
پرامپت ها ممکن است دارای حداقل و حداکثر تعداد کاراکتر باشند. بسیاری از رابطهای کاربری هوش مصنوعی، محدودیت سختی اعمال نمیکنند، اما پرامپت های بسیار طولانی ممکن است پردازش آنها را برای سیستمهای هوش مصنوعی دشوار کند.
ابزارهای هوش مصنوعی اغلب در تجزیه و تحلیل پرامپت های طولانی با مشکل مواجه میشوند، زیرا سازماندهی و اولویتبندی عناصر ضروری یک درخواست طولانی، پیچیدگیهایی را به همراه دارد. هرگونه محدودیت تعداد کلمات را برای یک هوش مصنوعی خاص در نظر داشته باشید و پرامپت را تنها به اندازهای طولانی کنید که برای انتقال همه پارامترهای مورد نیاز ضروری است.
5. در مهندسی پرامپت کلمات را با دقت انتخاب کنید.
ابزارهای هوش مصنوعی، مانند هر سیستم کامپیوتری دیگری، در استفاده از دستورات و درخواستها به طرز وسواس گونهای دقیق هستند. این مورد یعنی اینکه آنها نمیدانند چگونه به دستورات یا زبانهایی که نمیشناسند پاسخ دهند.
مؤثرترین پرامپت ها دارای عبارات و کلمات شفاف و مستقیمی هستند. از ابهام، زبان اغراقآمیز، استعاره و اصطلاحات عامیانه که همگی میتوانند به نتایج غیرمنتظره و ناخوشایندی منجر شوند، اجتناب کنید.
با این حال، ابهام و سایر اشکال زبان که به قول معروف سست یا بدون پایه و اساس هستند، گاهی اوقات میتوانند به طور عمدی برای برانگیختن نتایج غیرمنتظره یا غیرقابل پیشبینی از یک مدل به کار گرفته شوند. این کار میتواند خروجیهای نه چندان جالبی تولید کند؛ زیرا پیچیدگی بسیاری از سیستمهای هوش مصنوعی، فرآیند تصمیمگیری آنها را برای کاربر نامشخص میکند.
۶. در پرامپت نویسی سوالات یا درخواستهای باز (Open-ended)1 مطرح کنید.
هدف اصلی هوش مصنوعی مولد، ایجاد و خلق محتواست. سوالات سادهای که فقط با «بله» یا «خیر» قابل پاسخ هستند، محدود کننده بوده و احتمالاً منجر به خروجیهای کوتاه و غیرجذابی میشوند.
برعکس، پرسیدن سوالات باز، امکان انعطافپذیری بیشتری را در خروجی ایجاد میکند. برای مثال، یک پرامپت ساده مانند «آیا دلیل اصلی انقلاب سال 1357 ایران حقوق اقلیتها بود؟؟» به احتمال زیاد منجر به پاسخی به همان سادگی و کوتاهی خواهد شد. با این حال، یک پرامپت با انتهای بازتر، مانند «عوامل اجتماعی، اقتصادی و سیاسی را که منجر به انقلاب سال 1357 در ایران شد را توصیف کن»، به احتمال زیاد پاسخی جامع و با جزئیاتی را برمیانگیزد.
7. جزئیات مرتبط را در پرامپت خود دخیل کنید.
یک ابزار هوش مصنوعی مولد میتواند خروجی خود را برای برآورده کردن طیف وسیعی از اهداف و انتظارات، از خلاصههای کوتاه و کلی تا کاوشهای طولانی و دقیق، تنظیم کند. برای استفاده از این تطبیقپذیری، پرامپت های به خوبی طراحی شده، اغلب شامل زمینهای هستند که به سیستم هوش مصنوعی کمک میکند خروجی خود را با توجه به مخاطب مورد نظر کاربر تنظیم کند.
برای مثال، اگر کاربری به سادگی از یک LLM (مدل زبان بزرگ) بخواهد تا سه قانون ترمودینامیک را توضیح دهد، پیشبینی طول و جزئیات خروجی کمی غیرممکن است. اما افزودن جزئیات میتواند به اطمینان از مناسب بودن خروجی برای خوانندهی هدف کمک کند. یک پرامپت مانند «سه قانون ترمودینامیک را برای دانشآموزان کلاس سوم دبستان توضیح دهید» در مقایسه با «سه قانون ترمودینامیک را برای فیزیکدانان در مقطع دکترا توضیح دهید» سطح بسیار متفاوتی از طول و جزئیات را به همراه خواهد داشت.
8. هدف یا محدودیت طول خروجی جواب حاصل از نتیجهی مورد نظر پرامپت خود را تعیین کنید.
با اینکه هوش مصنوعی مولد برای خلاق بودن طراحی شده است، اما اغلب عاقلانه است که محدودیتهایی را برای عواملی مانند طول خروجی در نظر بگیرید. برای مثال، عناصر جزئیات در پرامپت ها ممکن است شامل درخواست پاسخی ساده و مختصر به جای پاسخی طولانی و با جزئیات باشد.
با این حال، به خاطر داشته باشید که ابزارهای هوش مصنوعی مولد به طور کلی نمیتوانند به محدودیتهای دقیق کلمات یا کاراکترها پایبند باشند. این به این دلیل است که مدلهای پردازش زبان طبیعی مانند GPT-3 برای پیشبینی کلمات بر اساس الگوهای زبانی آموزش دیدهاند، نه شمارش آنها. بنابراین، LLMها معمولاً میتوانند از راهنماییهای تقریبی مانند “پاسخی دو یا سه جملهای ارائه دهید” پیروی کنند، اما در شمارش دقیق کاراکترها یا کلمات با مشکل مواجه میشوند.
9. از نوشتن واژههای متناقض در پرامپت خودداری کنید.
پرامپت های طولانی و پیچیده گاهی اوقات شامل اصطلاحات مبهم یا متناقض هستند. به عنوان مثال، یک پرامپت که هم شامل کلمات «با جزئیات» و هم «خلاصه» باشد، ممکن است به مدل، اطلاعات متناقضی در مورد سطح مورد انتظار جزئیات و طول خروجی بدهد. مهندسان پرامپت، با ویرایش دقیق و اطمینان از سازگاری همه اصطلاحات، به شکلگیری پرامپت توجه میکنند.
مهندسان موفق پرامپت، از زبانهایی با لحن مثبت استفاده میکنند و از لحن منفی اجتناب میکنند. یک اصل کلی مناسب این است که “به جای «انجام نده»، بگویید «انجام بده».” منطق در اینجا ساده است: مدلهای هوش مصنوعی برای انجام وظایف خاصی آموزش دیدهاند، بنابراین از سیستم هوش مصنوعی، خواستن اینکه کاری را انجام ندهد، مگر اینکه دلیلی قانعکننده برای ایجاد یک استثنا برای یک پارامتر وجود داشته باشد، بیمعنی است.
10. برای مهندسی کردن پرامپت، از علائم نگارشی برای واضح کردن درخواستها و دستورات پیچیده استفاده کنید.
همانطور که انسانها برای تجزیه و تحلیل متن به علائم نگارشی تکیه میکنند، پرامپت های هوش مصنوعی نیز میتوانند از استفاده صحیح و به جای ویرگول، گیومه و نقطه سر خط برای کمک به سیستم در درک و اجرای یک دستورالعمل پیچیده بهرهمند شوند.
برای درک بهتر نحوه عملکرد علائم نگارشی در پرامپت های هوش مصنوعی، به مثال ساده و معروف “بخشش لازم نیست اعدامش کنید.” در مقابل “بخشش، لازم نیست اعدامش کنید.” توجه کنید. مهندسان پرامپت با نحوهی ساختار و قالببندی سیستمهای هوش مصنوعی که با آنها کار میکنند کاملاً آشنا هستند و این آشنایی اغلب شامل توصیههای خاصی در مورد علائم نگارش میشود.
همانطور که در مثال بالا میبینید، یک ویرگول کوچک میتواند معنای کل جمله را به طور چشمگیری تغییر دهد. مهندسان پرامپت از این موضوع آگاه هستند و میدانند که استفاده صحیح از علائم نگارش (ویرگول، گیومه، سطر جدید و غیره) در حین ایجاد پرامپت های پیچیده، به سیستم هوش مصنوعی در درک و اجرای دستورالعمل کمک میکند.
نکاتی از مهندسی پرامپت برای مولدهای تصویری (ایجاد عکس)
10 نکتهای که در بالا توضیح داده شد در درجه اول با LLMهایی مانند ChatGPT مرتبط هستند. با این حال، مجموعهای رو به رشد از پلتفرمهای هوش مصنوعی مولد تصویری در حال ظهور است که میتوانند از عناصر یا پارامترهای اضافی پرامپت در درخواستها استفاده کنند.
هنگام کار به طور خاص با مولدهای تصویری مانند Midjourney و Stable Diffusion، هفت نکتهی زیر را در نظر داشته باشید:
- تصویر را توصیف کنید. جزئیاتی درباره صحنه (شاید یک منظره شهری، میدان یا جنگل) و همچنین اطلاعات مخصوصی درباره موضوع ارائه دهید. هنگام توصیف افراد به عنوان یک سوژه (شیء)، درباره ویژگیهای فیزیکی مرتبط مانند نژاد، سن و جنسیت صریح باشید.
- حال و هوا و مود (mood) عکس مورد نظر را در پرامپت ذکر کنید. در پرامپت خود، توصیف حالات چهره و محیطها را دخیل کنید. برای مثال، “یک زن مسن در باران ایستاده و در کنار قبری در جنگل گریه میکند.”
- تصویر را از نظر زیبایی شناسی در پرامپت خود توصیف کنید. سبک کلی مورد نظر برای تصویر نهایی را تعریف کنید، مانند تصویر آبرنگی، تصویر مجسمهای، هنر دیجیتال (digital art) یا نقاشی رنگ روغن. حتی میتوانید تکنیکها یا سبکهای هنری مانند امپرسیونیسم یا یک هنرمند نمونه مانند مونه (Claude Monet) را توصیف کنید.
- قالب و چارچوببندی را توصیف کنید. تعریف کنید که صحنه و سوژه چگونه باید قاب گرفته شوند: دراماتیک، نمای دور، نمای نزدیک و غیره.
- نورپردازی را توصیف کنید. نور پردازی تصویر را در پرامپت خود با استفاده از اصطلاحاتی مانند صبح، روز، عصر، تاریکی، نور آتش و نور چراغ قوه به طور کامل توضیح دهید. توصیف کنید که صحنه باید چگونه نور را بگیرد. تمامی این عوامل میتوانند روی نور و سایه تأثیرگذار باشند.
- رنگ را در پرامپت خود توصیف کنید. با صفاتی مانند شدت رنگ پایین (muted) یا شدت رنگ بالا (saturated)، اشاره کنید که رنگبندی صحنه باید چگونه باشد.
- میزان واقع گرایی را توصیف کنید. پردازندههای هنری هوش مصنوعی میتوانند از انتزاعی (abstract) تا کارتونی (cartoonish) تا عکاسی واقعگرا (photorealistic) متغیر باشند. حتماً میزان واقع گرایی مورد نظر برای تصویر نهایی را مشخص کنید.
مثالهایی از مهندسی پرامپت
تفاوتهای زیادی در انواع پرامپت هایی که میتوان برای تولید متن، کد یا تصاویر استفاده کرد، وجود دارد. در اینجا چند نمونه برای انواع مختلف محتوا آورده شده است:
مثالهایی از پرامپت نویسی برای ایجاد متن در مولدهای متنی مانند ChatGPT، Gemini، Claude، Copilot و غیره
- تفاوت بین هوش مصنوعی مولد و هوش مصنوعی سنتی چیست؟
- 10 نمونه جذاب برای عنوان “کاربردهای برتر هوش مصنوعی مولد برای سازمانها”
- یک طرح کلی برای مقالهای در مورد مزایای هوش مصنوعی مولد برای بازاریابی بنویسید.
- حالا در 300 کلمه برای هر بخش، محتوا بنویس.
- برای هر بخش یک عنوان جذاب ایجاد کنید.
- یک توضیح محصول ۱۰۰ کلمهای برای محصول XYZ در پنج سبک مختلف بنویس.
- عبارت “مهندسی پرامپ” را به سبک شکسپیر تعریف کن.
مثالهایی از پرامپت نویسی برای ایجاد کد در مولدهایی مانند Codex، Gemini، Claude، Copilot و غیره
- به عنوان یک کدنویس کد اسکی (استاندارد آمریکایی برای مبادله اطلاعات ASCII) عمل کن که نام اشیا را به کد اسکی ترجمه میکند.
- اشتباهات موجود در قطعه کد زیر را پیدا کن.
- یک تابع بنویس که دو عدد را ضرب کند و نتیجه را برگرداند.
- یک REST API پایه را در پایتون ایجاد کن.
- تابع زیر چه کاری انجام میدهد؟
- کد زیر را سادهسازی کن.
- ادامه کد زیر را بنویس.
مثالهایی از پرامپت نویسی برای ایجاد عکس در مولدهای تصویری مانند Fotor، Leonardo، Copilot، Midjourney، Stable Diffusion، DAll-E و غیره
- سگی در ماشین که عینک آفتابی و کلاه به سبک سالوادور دالی بر سر دارد.
- یک آفتابپرست در ساحل به سبک هنر Claymation (انیمیشن گِل رس).
- یک مرد که در مترو از گوشی استفاده میکند، با کیفیت 4K، با اثر بوکه (یک تصویر با رزولوشن 4K بالا با اثر محو بوکه).
- یک تصویر استیکری (sticker illustration) از یک زن که در میز چهارخانهای قهوه مینوشد.
- یک جنگل انبوه با نورپردازی سینمایی و عکاسی از طبیعت.
- یک تصویر از دید اول شخص که به ابرهای نارنجی رنگ در طلوع آفتاب نگاه میکند.
در نوشتن پرامپت به چه نکاتی باید توجه کنیم؟
- مهمترین نکته این است که ابتدا با بیان یک مفهوم مشابه به روشهای مختلف آزمایش کنید تا ببینید هر کدام از پرامپت ها چگونه کار میکنند. شیوههای مختلف درخواست خروجی با استفاده از عناصر مختلف مانند کلمات کلیدی، سبکها، دیدگاهها، نویسندگان یا هنرمندان و قالببندی را امتحان کنید. این کار به شما کمک میکند تا ظرافتهایی را که منجر به نتایج جذابتر برای یک نوع خاص از پرس و جو میشوند، کشف کنید.
- سپس، بهترین روشها را برای یک گردش کار خاص پیدا کنید. برای مثال، اگر متن بازاریابی برای توضیحات محصول مینویسید، روشهای مختلفی برای درخواست تنوع، سبک و سطح جزئیات را بررسی کنید. از طرف دیگر، اگر سعی در درک یک مفهوم دشوار دارید، ممکن است مفید باشد که بپرسید چگونه با یک مفهوم مرتبط، مقایسه و متمایز میشود تا به درک تفاوتها کمک کند (مثلا تفاوت ChatGPT با Gemini).
- همچنین، بازی کردن با انواع مختلف ورودی که میتوانید در یک پرامپت قرار دهید مفید است. یک پرامپت میتواند شامل نمونهها، دادههای ورودی، دستورالعملها یا سوالات باشد. شاید بخواهید روشهای مختلف ترکیب اینها را بررسی کنید. اگرچه اکثر ابزارها میزان ورودی را محدود میکنند، اما میتوان دستورالعملهایی را در یک دور ارائه کرد که برای پرامپت های بعدی اعمال شود.
- بعد از اینکه با یک ابزار کمّی آشنا شدید، ارزشش را دارد که برخی از اصلاحکنندههای ویژه آن را بررسی کنید. بسیاری از برنامههای هوش مصنوعی مولد، دارای کلمات کلیدی کوتاهی برای توصیف ویژگیهایی مانند سبک، سطح انتزاع، رزولوشن و نسبت تصویر هستند، همچنین روشهایی را برای تعیین اهمیت کلمات در پرامپت ارائه میدهند. این موارد میتوانند توصیف دقیقتر تغییرات خاص و صرفهجویی در زمان نوشتن پرامپت ها را برای شما آسانتر کنند.
- همچنین بررسی محیطهای توسعه یکپارچه (IDE) مهندسی پرامپت نیز میتواند مفید باشد. این ابزارها به سازماندهی پرامپت ها و نتایج برای مهندسان به منظور تنظیم دقیق مدلهای هوش مصنوعی مولد و برای کاربران به منظور یافتن راههایی برای دستیابی به نوع خاصی از نتایج کمک میکنند. IDEهای مهندسیمحور شامل ابزارهایی مانند Snorkel، PromptSource و PromptChainer میشوند. IDEهای مهندسی پرامپت کاربر محورتر شامل GPT-3 Playground، DreamStudio و Patience هستند.
اشتباهات رایج در مهندسی پرامپت
پرامپت نویسی و مهندسی پرامپت میتواند بیشتر مربوط به هنر باشد تا علم. تفاوتهای ظریف در قالب، ساختار و محتوای پرامپت میتواند تأثیرات عمیقی بر پاسخهای هوش مصنوعی داشته باشد. حتی ظرافتهای نحوه آموزش مدلهای هوش مصنوعی میتواند منجر به خروجیهای متفاوتی شود.
در کنار نکاتی که برای بهبود پرامپت نویسی برای شما همراهان هامیا ژورنال ذکر شد، چندین اشتباه رایج مهندسی پرامپت نیز وجود دارد که باید از آنها اجتناب کرد:
- از آزمایش و تجدید نظر نترسید. پرامپت نویسی موردی نیست که با یک بار تلاش بخواهید به نتیجهی مورد نظر برسید. سیستمهای هوش مصنوعی مانند مولدهای هنری میتوانند به توجه زیادی به جزئیات نیاز داشته باشند. ابتدا با نوشتن یک پرامپت اولیه، خروجی را دریافت کنید و برای رسیدن خروجی بهتر، تلاشهای متعددی را برای نوشتن ایدهآلترین پرامپت انجام دهید.
- به دنبال پاسخهای کوتاه نباشید. هوش مصنوعی مولد به گونهای طراحی شده است که خلاق باشد؛ بنابراین پرامپت هایی را ایجاد کنید که به بکارگیری هر چه بیشتر قابلیتهای سیستم هوش مصنوعی منجر شود. از پرامپت هایی که باعث شوند سیستمهای هوش مصنوعی مولد به دنبال پاسخهای کوتاه یا تک کلمهای باشند اجتناب کنید. هوش مصنوعی مولد زمانی مفیدتر است که درخواستهایی با پایان باز (open-ended) داشته باشند.
- از دمای پیشفرض خارج شوید! بسیاری از ابزارهای هوش مصنوعی مولد، مفهومی به نام “تنظیم دما” را در بر میگیرند که به زبان ساده، خلاقیت هوش مصنوعی را کنترل میکند. “دما” در مدلهای زبانی بزرگ (LLM) یک مقدار عددی است (اغلب بین 0 و 1 تنظیم میشود، اما گاهی اوقات بالاتر) که میزان ریسک کردن مدل یا ایمن بودن آن را در انتخابهایش تنظیم میکند و توزیع احتمال کلمه بعدی را تغییر میدهد. بر اساس درخواست خاص خود، سعی کنید پارامترهای دما را تنظیم کنید: برای تصادفیتر، متنوعتر و هوشمندتر بودن، دما را بالاتر ببرید (که در این حالت احتمال خطا نیز بالاتر میرود) و برای متمرکزتر و هدفمندتر بودن، دما را پایینتر بیاورید.
- از یک توالی یکسان در تمام پرامپت ها استفاده نکنید. پرامپت ها میتوانند حاوی درخواستهای پیچیدهای با عناصر مختلف باشند. دستورالعملها و اطلاعاتی که در پرامپت خود جمع آوری میکنید، مشخصاً با یک ترتیبی در کنار هم قرار میگیرند و این مورد میتواند با تغییر نحوه تجزیه و تفسیر پرامپت توسط هوش مصنوعی، بر خروجی تأثیر بگذارد. سعی کنید ساختار پرامپت های خود را تغییر دهید تا پاسخهای متفاوتی دریافت کنید.
- برای هر سیستم هوش مصنوعی از یک رویکرد یکسان استفاده نکنید! از آنجایی که مدلهای مختلف، اهداف و زمینههای تخصصی متفاوتی دارند، ارائه یک پرامپت یکسان به ابزارهای هوش مصنوعیِ مختلف میتواند نتایج بسیار متفاوتی را به همراه داشته باشد. برای مثال، جواب دریافتی از یک پرامپت مشابه در مورد یک موضوع خاص، شاید در مدل Claude بهتر از مدل ChatGPT باشد و در یک موضوع دیگر شاید برعکس باشد. پرامپت های خود را متناسب با نقاط قوت منحصربهفرد سیستمی که با آن کار میکنید، سفارشی کنید. در برخی موارد، آموزش بیشتر مانند معرفی دادههای جدید یا بازخورد دقیقتر ممکن است برای تنظیم پاسخهای هوش مصنوعی مورد نیاز باشد. تجربه نشان داده است که برای ترجمه، سیستم هوش مصنوعی مولد متنی Gemini، بهتر از ChatGPT عمل میکند و در تولید محتوا نیز، چت بات claude بهتر از Gemini محتوا تولید میکند.
- و در آخر، فراموش نکنید که هوش مصنوعی میتواند اشتباه کند! فناوری اطلاعات کلاسیک از یک اصل و قاعدهای پیروی میکنند: “ورودی مزخرف، خروجی مزخرف” که کاملاً برای خروجیهای هوش مصنوعی صدق میکند. پاسخهای مدل میتواند اشتباه، ناقص یا حتی ساختگی باشد؛ پدیدهای که اغلب توهم (hallucination) نامیده میشود. بنابراین همیشه خروجی هوش مصنوعی را از نظر اطلاعات نادرست، گمراهکننده، متعصبانه یا منطقی اما غلط، بررسی کنید.
- سؤالات باز سؤالاتی هستند که نمی توان با یک «بله» یا «خیر» ساده به آنها پاسخ داد و در عوض پاسخ دهنده را ملزم می کند تا نکات اضافی خود را توضیح دهد. سوالات باز معمولا با این پرسشها شروع میشوند:
چگونه، چطور، کجا، چه زمانی، چرا، چه کسی و غیره ↩︎