واژه‌نامه

مهندسی پرامپت(prompt engineering) چیست و چه کاربردی دارد؟

تعریف به زبان ساده

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

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

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

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

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

چرا مهندسی پرامپت اهمیت دارد؟

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

مهندسی پرامپت باعث می‌شود برنامه‌های مبتنی بر هوش مصنوعی کارآمدتر و مؤثرتر عمل کنند. توسعه‌دهندگان معمولاً ورودی‌های آزاد و بدون ساختار کاربران را پیش از ارسال به مدل هوش مصنوعی، در قالب یک پرامپت مهندسی‌شده قرار می‌دهند.

در ادامه، برخی از مهم‌ترین مزایای مهندسی پرامپت را بررسی می‌کنیم.

کنترل بیشتر برای توسعه‌دهندگان

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

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

بهبود تجربه کاربر

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

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

انعطاف‌پذیری بیشتر

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

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

مهندسی پرامپت چگونه کار می‌کند؟

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

مهندسی پرامپت نقش مهمی در استفاده حداکثری از ظرفیت مدل‌های پایه (Foundation Models) دارد؛ مدل‌هایی که زیرساخت اصلی بسیاری از سیستم‌های هوش مصنوعی مولد را تشکیل می‌دهند. مدل‌های پایه، از جمله مدل‌های زبانی بزرگ (LLM)، بر معماری ترنسفورمر ساخته شده‌اند و حجم گسترده‌ای از اطلاعات موردنیاز سیستم‌های هوش مصنوعی مولد را در خود جای داده‌اند.

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

هوش مصنوعی مولد متن‌به‌تصویر مانند DALL-E و Midjourney از یک مدل زبانی بزرگ در کنار مدل Stable Diffusion استفاده می‌کند؛ مدلی که برای تولید تصویر بر اساس توصیف‌های متنی عملکرد بالایی دارد. مهندسی پرامپت مؤثر، دانش فنی را با درک عمیق زبان طبیعی، واژگان و زمینه ترکیب می‌کند تا با کمترین نیاز به اصلاح، خروجی‌های مطلوب‌تری تولید شود.

تکنیک‌های مهندسی پرامپت

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

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

  • ترتیبی (Sequential): در این روش، مجموعه‌ای از مراحل مرتبط و متوالی برای تکمیل یک فرایند یا اجرای یک طرح دنبال می‌شود. پرامپت‌نویسی ترتیبی در دو موقعیت بیشترین کاربرد را دارد: نخست، زمانی که انجام کار به یک توالی مشخص مانند دستورالعمل‌ها یا رویه‌ها وابسته است؛ و دوم، زمانی که کار با یک رویکرد کلی نسبت به یک موضوع آغاز می‌شود و سپس با تکیه بر پاسخ مدل، در قالب یک گفت‌وگوی هدایت‌شده ادامه پیدا می‌کند تا به نتیجه مطلوب برسد. در این روش، معمولاً از کلیدواژه‌های مشخصی برای تعیین ترتیب مراحل استفاده می‌شود؛ مانند «مرحله ۱» یا «بخش ۲».
  • زنجیره فکری (Chain of thought): هدایت مدل زبانی بزرگ برای شناسایی و فهرست کردن مراحل میانی منتهی به هدف نهایی، روشی برای افزایش دقت و شفافیت پاسخ‌هاست. این تکنیک را می‌توان با درخواست از مدل برای فهرست کردن مراحل، ارائه نمونه‌هایی از فهرست‌های مرحله‌به‌مرحله یا ارائه گزینه‌های چندگزینه‌ای و درخواست توضیح درباره دلیل انتخاب هر گزینه به کار گرفت.
  • محرک جهت‌دهنده (Directional stimulus): ارائه سرنخ‌ها و دستورالعمل‌های مشخص در پرامپت می‌تواند کیفیت خروجی مدل زبانی بزرگ را بهبود دهد. در این روش، پس از پرسش اصلی، سرنخ‌ها، پارامترها و اطلاعات زمینه‌ای مشخصی در اختیار مدل قرار می‌گیرد تا به یک پرسش کلی جهت بدهد. برای مثال، می‌توان با افزودن واژه «راهنما» یا «سرنخ» و سپس ارائه فهرستی از جزئیات موردنظر، مانند هشتگ‌هایی که در یک پست شبکه اجتماعی برای ایجاد زمینه بیشتر استفاده می‌شوند، مشخص کرد که خروجی باید این موارد را نیز در نظر بگیرد و بر اساس آن‌ها پاسخ باکیفیت‌تری تولید کند.
  • از کم به زیاد (Least to most): در این روش، یک پرامپت به چند مسئله کوچک‌تر تقسیم می‌شود و سپس این مسائل با ترتیبی مشخص و مرحله‌به‌مرحله اجرا می‌شوند. این تکنیک از این نظر به زنجیره فکری شباهت دارد که پرامپت را در سطحی جزئی‌تر بررسی می‌کند؛ اما استفاده از مراحل میانی برای ساخت تدریجی پاسخ، امکان اجرای فرایندهای پیچیده‌تر را فراهم می‌کند. مانند پرامپت‌های زنجیره فکری، تکنیک از کم به زیاد نیز بیشتر برای مسائل پیچیده‌ای مناسب است که می‌توان آن‌ها را به مجموعه‌ای از مسائل ساده‌تر و متوالی تقسیم کرد.
  • مایوتیک (Maieutic): این روش بر استفاده از پرامپت‌های تدریجی و بازمتکی است که با هدایت مدل به تأمل درباره فرایند استدلال خود، پاسخ‌های قبلی را گسترش می‌دهند. پرامپت‌نویسی مایوتیک بر روش گفت‌وگوی سقراطی مبتنی است؛ روشی که معمولاً با یک پرسش باز آغاز می‌شود و سپس با بررسی عمیق‌تر استدلال پشت هر پاسخ ادامه پیدا می‌کند. در عمل، این فرایند با طرح یک پرسش آغاز می‌شود و سپس با درخواست‌های متوالی از مدل برای توضیح عمیق‌تر پاسخ خود ادامه می‌یابد.
  • خوداصلاحی (Self-refine): می‌توان با بازگرداندن پاسخ قبلی به مدل و درخواست برای بهبود آن، خروجی مدل زبانی بزرگ را به‌تدریج اصلاح کرد. خوداصلاحی یک تکنیک تکرارشونده است که به مدل امکان می‌دهد خروجی خود را دوباره بررسی کند و در صورت نیاز، آن را اصلاح یا تکمیل کند. این روش به‌ویژه برای مسائلی مناسب است که هدف، بهینه‌سازی یک راه‌حل مشخص است؛ برای مثال، تولید کد. از آنجا که این تکنیک بر دستورالعمل‌های متوالی تکیه دارد، مهندسان باید اطمینان حاصل کنند که مدل از قابلیت و منابع لازم برای حفظ پاسخ‌های قبلی و ایجاد تغییرات و بهبودهای متوالی بر اساس آن‌ها برخوردار است.

کاربردهای مهندسی پرامپت چیست؟

تکنیک‌های مهندسی پرامپت در سیستم‌های پیشرفته هوش مصنوعی برای بهبود تجربه کاربر در تعامل با مدل‌های زبانی به کار می‌روند. در ادامه، چند نمونه از مهم‌ترین کاربردهای آن را بررسی می‌کنیم.

تخصص در حوزه موضوعی

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

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

تفکر انتقادی

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

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

خلاقیت

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

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

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

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

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

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

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


منابع:
IBM

aws

ORACLE