پرامپت

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

پرامپت (به انگلیسی: Prompt) در هوش مصنوعی و به‌ویژه هوش مصنوعی مولد به ورودی یا دستوری گفته می‌شود که برای هدایت مدل به سوی انجام یک وظیفه یا تولید یک پاسخ در اختیار آن قرار می‌گیرد. پرامپت در ساده‌ترین شکل می‌تواند یک پرسش یا دستور متنی باشد؛ اما در سامانه‌های جدید می‌تواند شامل متن، تصویر، صوت، فایل یا ترکیبی از چند نوع داده باشد.[۱]

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

توانایی مدل‌های زبانی بزرگ در انجام وظایف بر اساس دستورها و نمونه‌های موجود در پرامپت، به توسعهٔ روش‌هایی مانند پرامپت صفرنمونه‌ای، پرامپت تک‌نمونه‌ای، پرامپت چندنمونه‌ای و یادگیری درون‌زمینه‌ای انجامیده است. پژوهش‌های مربوط به مدل GPT-3 نشان داد که مدل‌های زبانی بزرگ می‌توانند برخی وظایف را صرفاً بر اساس دستور و نمونه‌های ارائه‌شده در زمینه، بدون به‌روزرسانی پارامترهای مدل، انجام دهند.[۳]

ریشه و تحول اصطلاح

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

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

ظهور مدل‌های زبانی بزرگ در اواخر دههٔ ۲۰۱۰ و اوایل دههٔ ۲۰۲۰ اهمیت این مفهوم را افزایش داد. توانایی این مدل‌ها در انجام وظایف متفاوت بر اساس دستورهای زبان طبیعی موجب شد طراحی و بهینه‌سازی پرامپت به موضوعی مستقل در پژوهش و کاربرد هوش مصنوعی تبدیل شود.

سازوکار پرامپت در مدل‌های زبانی

مدل زبانی پرامپت را همانند یک برنامهٔ رایانه‌ای سنتی اجرا نمی‌کند. ورودی ابتدا به توکن‌ها تبدیل می‌شود و مدل با توجه به این توکن‌ها، زمینه و پارامترهایی که طی آموزش آموخته است، خروجی را تولید می‌کند.

این فرایند را به‌صورت ساده می‌توان چنین نشان داد:

پرامپت
↓
توکن‌سازی
↓
نمایش عددی توکن‌ها
↓
پردازش توسط مدل
↓
محاسبهٔ توزیع احتمال برای ادامه
↓
تولید توکن‌های خروجی
↓
پاسخ

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

بنابراین تغییر پرامپت می‌تواند زمینه‌ای را که مدل بر اساس آن خروجی تولید می‌کند تغییر دهد.

پرامپت و توکن

پرامپت و توکن دو مفهوم متفاوت اما مرتبط هستند.

پرامپت ورودی یا دستور ارائه‌شده به مدل است؛ در حالی که توکن واحدی است که مدل برای پردازش داده به کار می‌گیرد.

برای نمونه:

«انقلاب صنعتی را توضیح بده.»

یک پرامپت است.

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

بنابراین می‌توان رابطه را به‌صورت زیر نشان داد:

پرامپت ← توکن‌ها ← پردازش مدل ← توکن‌های خروجی ← پاسخ

اجزای پرامپت

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

وظیفه بیان می‌کند مدل باید چه کاری انجام دهد:

«این مقاله را خلاصه کن.»

زمینه اطلاعاتی را که برای انجام وظیفه ضروری است در اختیار مدل قرار می‌دهد.

محدودیت شرایط پاسخ را مشخص می‌کند:

«خلاصه بیشتر از ۵۰۰ کلمه نباشد.»

قالب خروجی شکل مطلوب پاسخ را تعیین می‌کند:

«پاسخ را در قالب ویکی‌متن بنویس.»

مخاطب سطح توضیح را مشخص می‌کند:

«این مفهوم را برای دانش‌آموز دبیرستانی توضیح بده.»

نمونه نیز می‌تواند شکل یا الگوی خروجی مورد انتظار را به مدل نشان دهد.

مستندات راهنمای مدل‌های زبانی بر روشن و مشخص بودن دستور و ارائهٔ زمینهٔ کافی تأکید دارند.[۴]

پرامپت ساده

پرامپت ساده معمولاً یک درخواست کوتاه است:

«فتوسنتز چیست؟»

یا:

«این متن را به فارسی ترجمه کن.»

در وظایفی که هدف روشن است، چنین پرامپتی ممکن است کافی باشد.

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

پرامپت ساختاریافته

در وظایف پیچیده می‌توان اجزای پرامپت را به‌صورت ساختاریافته جدا کرد.

برای نمونه:

وظیفه: بازنویسی مقاله
سبک: دانشنامه‌ای
مخاطب: خوانندهٔ عمومی
محدودیت: هیچ اطلاعاتی از متن اصلی حذف نشود
منابع: فقط منابع واقعی و قابل راستی‌آزمایی
قالب خروجی: ویکی‌متن مدیاویکی

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

پرامپت صفرنمونه‌ای

پرامپت صفرنمونه‌ای (Zero-Shot Prompting) به حالتی گفته می‌شود که مدل بدون دریافت نمونهٔ حل‌شده، تنها بر اساس دستور وظیفه‌ای را انجام می‌دهد.

برای مثال:

«جملهٔ زیر را از فارسی به انگلیسی ترجمه کن.»

در این حالت هیچ نمونهٔ ترجمه‌ای در پرامپت وجود ندارد.

توانایی مدل‌های زبانی بزرگ برای انجام طیفی از وظایف به صورت zero-shot یکی از موضوعات مهم پژوهش دربارهٔ این مدل‌ها بوده است.[۶]

پرامپت تک‌نمونه‌ای

پرامپت تک‌نمونه‌ای (One-Shot Prompting) شامل یک نمونه از رابطه یا خروجی مورد انتظار است.

برای مثال:

فرانسه → پاریس
ژاپن → ؟

نمونهٔ نخست الگویی در اختیار مدل قرار می‌دهد تا پاسخ بعدی را در همان چارچوب تولید کند.

پرامپت چندنمونه‌ای

پرامپت چندنمونه‌ای (Few-Shot Prompting) شامل چند نمونه است که الگوی مورد انتظار را به مدل نشان می‌دهند.

برای مثال:

فرانسه → پاریس
ایتالیا → رم
آلمان → برلین
ژاپن → ؟

پژوهش Brown و همکاران دربارهٔ GPT-3 نشان داد که افزایش مقیاس مدل‌های زبانی می‌تواند توانایی انجام برخی وظایف به شیوهٔ few-shot را افزایش دهد.[۷]

یادگیری درون‌زمینه‌ای

یادگیری درون‌زمینه‌ای (In-Context Learning) به توانایی مدل در استفاده از دستورها یا نمونه‌های موجود در زمینه برای انجام یک وظیفه اشاره دارد، بدون آن‌که برای همان تعامل پارامترهای اصلی مدل دوباره آموزش داده شوند.

در این روش نمونه‌ها بخشی از ورودی هستند، نه بخشی از آموزش مجدد مدل.

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

پرامپت سیستمی

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

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

این دستورها می‌توانند پیش از پیام کاربر به سامانه داده شوند و کاربر الزاماً آنها را مشاهده نمی‌کند.

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

پرامپت کاربر

پرامپت کاربر محتوایی است که کاربر مستقیماً برای مدل ارسال می‌کند.

برای مثال:

«یک مقالهٔ دانشنامه‌ای دربارهٔ هوش مصنوعی مولد بنویس.»

این دستور هدف مورد انتظار کاربر را مشخص می‌کند.

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

پرامپت چندوجهی

با توسعهٔ هوش مصنوعی چندوجهی، پرامپت دیگر الزاماً فقط متن نیست.

یک پرامپت می‌تواند شامل:

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

باشد.

برای مثال، کاربر می‌تواند تصویری را به مدل ارائه کند و بنویسد:

«محتوای این نمودار را توضیح بده.»

در این حالت تصویر و دستور متنی با یکدیگر پرامپت چندوجهی را تشکیل می‌دهند.

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

مهندسی پرامپت (Prompt Engineering) فرایند طراحی و بهینه‌سازی دستورها برای هدایت مدل به سوی خروجی مطلوب است. مستندات فنی OpenAI این اصطلاح را فرایند نوشتن دستورهای مؤثر برای مدل با هدف تولید مداوم‌تر محتوای مطابق الزامات تعریف می‌کنند.[۸]

مهندسی پرامپت ممکن است شامل:

  • روشن‌کردن وظیفه؛
  • افزودن اطلاعات زمینه‌ای؛
  • مشخص‌کردن محدودیت‌ها؛
  • ارائهٔ نمونه؛
  • تعیین قالب پاسخ؛
  • آزمایش خروجی؛
  • و اصلاح تکرارشوندهٔ دستور

باشد.

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

وضوح و مشخص‌بودن دستور

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

برای مثال:

«دربارهٔ تاریخ بنویس.»

درخواست بسیار گسترده‌ای است.

در مقابل:

«در ۵۰۰ کلمه، علل اقتصادی انقلاب صنعتی بریتانیا را برای خوانندهٔ عمومی توضیح بده و میان علل کوتاه‌مدت و بلندمدت تفکیک کن.»

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

راهنماهای پرامپت‌نویسی بر مشخص‌کردن هدف، زمینه، قالب و سبک مطلوب تأکید دارند.[۹]

تعیین نقش

یکی از روش‌های پرامپت‌نویسی تعیین یک نقش یا زمینهٔ حرفه‌ای است.

برای مثال:

«در نقش ویراستار علمی، متن زیر را بررسی کن.»

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

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

تعیین مخاطب

مشخص‌کردن مخاطب می‌تواند سطح پیچیدگی پاسخ را تغییر دهد.

برای مثال:

«مکانیک کوانتومی را برای دانش‌آموز دبیرستانی توضیح بده.»

با:

«صورت‌بندی ریاضی مکانیک کوانتومی را برای دانشجوی کارشناسی فیزیک توضیح بده.»

دو وظیفهٔ متفاوت ایجاد می‌کند.

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

تعیین قالب خروجی

کاربر می‌تواند شکل خروجی مورد نظر را در پرامپت تعیین کند.

برای مثال:

«خروجی را به صورت ویکی‌متن مدیاویکی بنویس.»

یا:

«نتیجه را در قالب JSON ارائه کن.»

یا:

«پاسخ را بدون جدول و در پنج بخش تنظیم کن.»

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

استفاده از جداکننده‌ها

در پرامپت‌های طولانی می‌توان دستور و متن مرجع را از یکدیگر جدا کرد.

برای نمونه:

دستور:
متن زیر را خلاصه کن.
الزامات:
هیچ اطلاعاتی خارج از متن اضافه نکن.
متن:
---
[متن اصلی]
---

این شیوه به روشن‌شدن مرز میان دستور و داده کمک می‌کند. در راهنماهای فنی استفاده از ساختارهایی مانند Markdown یا XML برای تفکیک بخش‌های منطقی پرامپت مطرح شده است.[۱۰]

پرامپت و زمینه

مدل تنها دستور مستقیم کاربر را پردازش نمی‌کند؛ اطلاعات زمینه‌ای نیز می‌توانند بر پاسخ اثر بگذارند.

برای مثال می‌توان سندی را همراه این دستور ارائه کرد:

«پرسش را فقط بر اساس سند زیر پاسخ بده.»

افزودن منابع مرتبط به زمینه یکی از روش‌های فراهم‌کردن اطلاعاتی است که ممکن است در داده‌های آموزشی مدل وجود نداشته باشد یا نیازمند به‌روزرسانی باشد.[۱۱]

این روش در سامانه‌های تولید تقویت‌شده با بازیابی یا بازیابی افزوده به تولید (RAG) کاربرد گسترده‌ای دارد.

پرامپت و پنجرهٔ زمینه

پرامپت بخشی از پنجرهٔ زمینه (Context Window) مدل را اشغال می‌کند.

پنجرهٔ زمینه مقدار داده‌ای است که مدل می‌تواند در یک فرایند تولید در زمینهٔ فعال خود پردازش کند و معمولاً بر حسب توکن اندازه‌گیری می‌شود.[۱۲]

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

این مسئله هنگام پردازش کتاب‌ها و مجموعه‌های بزرگ اسناد اهمیت ویژه‌ای دارد.

زنجیرهٔ فکر

پرامپت زنجیرهٔ فکر (Chain-of-Thought Prompting) اصطلاحی پژوهشی برای روشی است که در آن نمونه‌هایی شامل مراحل میانی استدلال در پرامپت ارائه می‌شوند.

جیسون وی و همکاران در مقاله‌ای که در کنفرانس NeurIPS سال ۲۰۲۲ منتشر شد نشان دادند که ارائهٔ چند نمونهٔ دارای مراحل میانی استدلال می‌تواند عملکرد مدل‌های زبانی بزرگ را در برخی وظایف حسابی، استدلال عرفی و نمادین افزایش دهد.[۱۳]

این پژوهش یکی از آثار اثرگذار در مطالعهٔ رابطهٔ میان شیوهٔ پرامپت‌نویسی و عملکرد استدلالی مدل‌های زبانی شد.

پرامپت و تولید تصویر

در مدل‌های تولید تصویر، پرامپت می‌تواند ویژگی‌های تصویر مورد نظر را مشخص کند.

برای نمونه ممکن است شامل:

  • سوژه؛
  • محیط؛
  • نورپردازی؛
  • زاویهٔ دید؛
  • ترکیب‌بندی؛
  • بافت؛
  • نسبت تصویر؛
  • یا ویژگی‌های بصری دیگر

باشد.

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

پرامپت در تولید ویدئو و صوت

مدل‌های مولد ویدئو و صوت نیز می‌توانند بر اساس پرامپت عمل کنند.

در تولید ویدئو، کاربر ممکن است حرکت سوژه، دوربین، محیط یا توالی رویدادها را توصیف کند.

در تولید صوت نیز پرامپت می‌تواند محتوای صوتی یا ویژگی‌های مورد انتظار را مشخص کند.

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

پرامپت در برنامه‌نویسی

مدل‌های زبانی می‌توانند بر اساس توصیف زبان طبیعی کد تولید کنند.

برای مثال:

«تابعی در پایتون بنویس که یک فایل CSV را بخواند و ردیف‌های تکراری را حذف کند.»

در چنین کاربردی، پرامپت نقش نوعی مشخصات اولیهٔ مسئله را ایفا می‌کند.

با این حال کد تولیدشده باید آزمایش و بررسی شود، زیرا مدل می‌تواند کدی دارای خطا یا آسیب‌پذیری تولید کند.

پرامپت در پژوهش

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

اما پرامپت جایگزین منبع علمی یا روش تحقیق نیست.

برای مثال، دستور:

«ده منبع معتبر دربارهٔ موضوع X معرفی کن.»

به‌تنهایی تضمین نمی‌کند که منابع تولیدشده واقعی یا مرتبط باشند.

برای پژوهش علمی، منابع باید مستقل از پاسخ مدل راستی‌آزمایی شوند.

پرامپت در دانشنامه‌نویسی

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

یک پرامپت دانشنامه‌ای ممکن است مشخص کند که:

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

پرامپت در این حالت تنها یک سؤال نیست، بلکه مجموعه‌ای از قواعد برای تولید و سازمان‌دهی محتواست.

پرامپت و سوگیری

نحوهٔ صورت‌بندی پرامپت می‌تواند بر پاسخ مدل اثر بگذارد.

برای مثال:

«چرا سیاست X شکست خورد؟»

از ابتدا شکست سیاست را مفروض می‌گیرد.

در مقابل:

«چه شواهدی دربارهٔ موفقیت یا شکست سیاست X وجود دارد؟»

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

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

این پدیده با بحث گسترده‌تر سوگیری الگوریتمی و سوگیری در سامانه‌های هوش مصنوعی ارتباط دارد.

محدودیت‌های پرامپت

پرامپت هرقدر دقیق باشد کنترل مطلق بر پاسخ مدل ایجاد نمی‌کند.

مدل ممکن است:

  • بخشی از دستور را اشتباه تفسیر کند؛
  • اطلاعات نادرست تولید کند؛
  • محدودیتی را رعایت نکند؛
  • منبع نادرست ارائه کند؛
  • یا قالب مورد درخواست را به‌طور کامل رعایت نکند.

خروجی مدل‌های مولد ماهیتی احتمالاتی دارد و حتی پرامپت‌های مشابه می‌توانند در شرایط مختلف پاسخ‌های متفاوتی ایجاد کنند.[۱۴]

پرامپت و توهم هوش مصنوعی

یکی از محدودیت‌های مهم پرامپت این است که دستور دقیق نمی‌تواند به‌تنهایی صحت اطلاعات را تضمین کند.

برای مثال:

«فقط اطلاعات کاملاً صحیح ارائه کن.»

یک دستور است، نه سازوکاری مستقل برای راستی‌آزمایی حقیقت.

مدل ممکن است همچنان اطلاعاتی ظاهراً معتبر اما نادرست تولید کند.

در کاربردهای دانشنامه‌ای، تاریخی و علمی، استفاده از منابع قابل بررسی و راستی‌آزمایی مستقل ضروری است.

تزریق پرامپت

تزریق پرامپت (Prompt Injection) یکی از مسائل امنیتی مهم سامانه‌های مبتنی بر مدل‌های زبانی است.

در این نوع حمله، ورودی دستکاری‌شده می‌کوشد مدل یا برنامهٔ متصل به آن را وادار کند برخلاف دستور یا هدف مورد نظر سامانه رفتار کند.

NIST تزریق پرامپت را از آسیب‌پذیری‌های مهم سامانه‌های هوش مصنوعی مولد معرفی کرده و میان حملات مستقیم و غیرمستقیم تمایز گذاشته است.[۱۵]

تزریق مستقیم پرامپت

در تزریق مستقیم، مهاجم مستقیماً ورودی‌ای را برای تغییر رفتار مدل ارائه می‌کند.

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

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

تزریق غیرمستقیم پرامپت

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

این محتوا می‌تواند در:

  • صفحهٔ وب؛
  • سند؛
  • ایمیل؛
  • فایل؛
  • یا دادهٔ خارجی

قرار گرفته باشد.

NIST هشدار داده است که تزریق غیرمستقیم می‌تواند برنامه‌های یکپارچه‌شده با مدل زبانی را از طریق داده‌های بازیابی‌شده هدف قرار دهد.[۱۶]

امنیت پرامپت

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

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

پروژهٔ امنیت هوش مصنوعی مولد OWASP نیز تزریق پرامپت را در فهرست خطرهای مهم برنامه‌های مبتنی بر مدل‌های زبانی قرار داده است.[۱۷]

پرامپت و تعامل انسان و رایانه

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

در بسیاری از کاربردها، کاربر بدون نوشتن برنامهٔ رایانه‌ای می‌تواند هدف خود را با زبان معمولی بیان کند:

«این مقاله را خلاصه کن.»
«این داده‌ها را تحلیل کن.»
«برای این مسئله کد بنویس.»
«تصویری بر اساس این توصیف تولید کن.»

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

تفاوت پرامپت‌نویسی و برنامه‌نویسی

پرامپت‌نویسی و برنامه‌نویسی هر دو روشی برای هدایت رفتار یک سامانهٔ محاسباتی هستند، اما یکسان نیستند.

برنامهٔ رایانه‌ای معمولاً بر اساس نحو رسمی و قواعد مشخص اجرا می‌شود.

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

به همین دلیل پرامپت را نمی‌توان به‌طور عمومی معادل «کد» دانست.

پرامپت و عاملیت انسانی

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

مدل می‌تواند پیشنهادی تولید کند که دقیق، نادرست یا نامناسب باشد.

به همین دلیل در حوزه‌های حساس، پرامپت و پاسخ مدل نباید جایگزین ارزیابی تخصصی و تصمیم‌گیری مسئولانه شوند.

اهمیت پرامپت

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

اهمیت پرامپت را می‌توان در چند زمینه مشاهده کرد:

  • انتقال دستور به مدل؛
  • تعیین زمینهٔ مسئله؛
  • ارائهٔ نمونه؛
  • تعیین سبک و قالب پاسخ؛
  • واردکردن اسناد و اطلاعات مرجع؛
  • و هدایت مدل در وظایف پیچیده.

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

جمع‌بندی

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

مدل‌های زبانی متن پرامپت را به توکن تبدیل کرده و در چارچوب زمینه پردازش می‌کنند. توانایی مدل‌های بزرگ در استفاده از نمونه‌های موجود در پرامپت به توسعهٔ روش‌هایی مانند zero-shot، one-shot، few-shot و یادگیری درون‌زمینه‌ای انجامیده است.[۱۸]

پژوهش‌های بعدی نشان دادند که شیوهٔ سازمان‌دهی پرامپت می‌تواند بر عملکرد مدل در برخی مسائل پیچیده نیز اثر بگذارد؛ از جمله روش زنجیرهٔ فکر که در پژوهش‌های مربوط به استدلال چندمرحله‌ای بررسی شده است.[۱۹]

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

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

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

جستارهای وابسته

منابع

کتاب‌شناسی

  • Brown, Tom B., Benjamin Mann, Nick Ryder, et al. “Language Models are Few-Shot Learners.” Advances in Neural Information Processing Systems 33 (2020): 1877–1901.
  • Liu, Pengfei, Weizhe Yuan, Jinlan Fu, Zhengbao Jiang, Hiroaki Hayashi, and Graham Neubig. “Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing.” ACM Computing Surveys 55, no. 9 (2023): 1–35.
  • National Institute of Standards and Technology. Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile. NIST AI 600-1. Gaithersburg, Maryland: NIST.
  • OpenAI. “Prompt Engineering.” OpenAI API Documentation.
  • Wei, Jason, Xuezhi Wang, Dale Schuurmans, et al. “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.” Advances in Neural Information Processing Systems 35 (2022): 24824–24837.