پرامپت: تفاوت میان نسخهها
Alireza k h (بحث | مشارکتها) صفحهای تازه حاوی «{{جعبه اطلاعات مفهوم | نام = پرامپت | نام اصلی = Prompt | نامهای دیگر = دستور، ورودی، فرمان متنی، راهنمای مدل | تصویر = | اندازه تصویر = | توضیح تصویر = | حوزه = هوش مصنوعی، هوش مصنوعی مولد، مدل زبانی بزرگ|م...» ایجاد کرد |
Alireza k h (بحث | مشارکتها) بدون خلاصۀ ویرایش |
||
| خط ۲: | خط ۲: | ||
| نام = پرامپت | | نام = پرامپت | ||
| نام اصلی = Prompt | | نام اصلی = Prompt | ||
| نامهای دیگر = دستور، ورودی، | | نامهای دیگر = دستور، ورودی، فرمان، دستور متنی | ||
| تصویر = | | تصویر = | ||
| اندازه تصویر = | | اندازه تصویر = | ||
| توضیح تصویر = | | توضیح تصویر = | ||
| حوزه = [[هوش مصنوعی]]، [[هوش مصنوعی مولد]]، [[ | | حوزه = [[هوش مصنوعی]]، [[هوش مصنوعی مولد]]، [[پردازش زبان طبیعی]]، [[مدل زبانی بزرگ]]، تعامل انسان و رایانه | ||
| دوره = کاربرد | | دوره = کاربرد رایانهای از سدهٔ بیستم؛ گسترش معنای مرتبط با هوش مصنوعی مولد در دهههای ۲۰۱۰ و ۲۰۲۰ | ||
| خاستگاه = علوم رایانه، پردازش زبان | | خاستگاه = علوم رایانه، پردازش زبان طبیعی و تعامل انسان و رایانه | ||
| تاریخ شکلگیری = | | تاریخ شکلگیری = فاقد تاریخ واحد؛ گسترش گسترده با ظهور مدلهای زبانی بزرگ | ||
| بنیانگذاران = فاقد بنیانگذار واحد | | بنیانگذاران = فاقد بنیانگذار واحد | ||
| چهرههای شاخص = پژوهشگران | | چهرههای شاخص = پژوهشگران پردازش زبان طبیعی، یادگیری ماشین و مدلهای زبانی بزرگ | ||
| پیشگامان فکری = پژوهشگران زبانشناسی | | پیشگامان فکری = پژوهشگران علوم رایانه، زبانشناسی رایانشی و تعامل انسان و رایانه | ||
| جریانهای مرتبط = [[هوش مصنوعی مولد]]، [[مدل زبانی بزرگ]]، [[توکن (هوش مصنوعی)|توکن]]، مهندسی پرامپت، یادگیری | | جریانهای مرتبط = [[هوش مصنوعی مولد]]، [[مدل زبانی بزرگ]]، [[توکن (هوش مصنوعی)|توکن]]، مهندسی پرامپت، یادگیری درونزمینهای | ||
| در واکنش به = نیاز به انتقال هدف، | | در واکنش به = نیاز به انتقال دستور، هدف، زمینه و داده به سامانههای هوش مصنوعی | ||
| مفاهیم کلیدی = دستور، زمینه، ورودی، خروجی، | | مفاهیم کلیدی = دستور، زمینه، ورودی، خروجی، توکن، پرامپت صفرنمونهای، پرامپت چندنمونهای، پرامپت سیستمی، مهندسی پرامپت، تزریق پرامپت | ||
| دیدگاه معرفتشناختی = پرامپت | | دیدگاه معرفتشناختی = پرامپت ابزاری برای صورتبندی مسئله و فراهمکردن زمینه و دستور برای مدل است و بهتنهایی تضمینکنندهٔ صحت خروجی نیست | ||
| دیدگاه اجتماعی = تبدیل زبان طبیعی به یکی از | | دیدگاه اجتماعی = تبدیل زبان طبیعی به یکی از رابطهای اصلی تعامل انسان با سامانههای هوش مصنوعی | ||
| تأثیرپذیرفته از = علوم رایانه، زبانشناسی رایانشی، تعامل انسان و رایانه، یادگیری ماشین و پردازش زبان طبیعی | | تأثیرپذیرفته از = علوم رایانه، زبانشناسی رایانشی، تعامل انسان و رایانه، یادگیری ماشین و پردازش زبان طبیعی | ||
| تأثیرگذار بر = تولید محتوا، آموزش، | | تأثیرگذار بر = تولید محتوا، پژوهش، آموزش، برنامهنویسی، طراحی، تحلیل داده و سامانههای عاملمحور | ||
| منتقدان شاخص = پژوهشگران | | منتقدان شاخص = پژوهشگران امنیت هوش مصنوعی، اخلاق فناوری و تعامل انسان و رایانه | ||
| آثار شاخص = | | آثار شاخص = ''Language Models are Few-Shot Learners''؛ ''Chain-of-Thought Prompting Elicits Reasoning in Large Language Models'' | ||
}} | }} | ||
'''پرامپت''' (به انگلیسی: ''Prompt'') در [[هوش مصنوعی]] و بهویژه [[هوش مصنوعی مولد]] به | '''پرامپت''' (به انگلیسی: ''Prompt'') در [[هوش مصنوعی]] و بهویژه [[هوش مصنوعی مولد]] به ورودی یا دستوری گفته میشود که برای هدایت مدل به سوی انجام یک وظیفه یا تولید یک پاسخ در اختیار آن قرار میگیرد. پرامپت در سادهترین شکل میتواند یک پرسش یا دستور متنی باشد؛ اما در سامانههای جدید میتواند شامل متن، تصویر، صوت، فایل یا ترکیبی از چند نوع داده باشد.<ref>[https://help.openai.com/en/articles/10032626-prompt-engineering-best-practices-for-chatgpt OpenAI، «Prompt engineering best practices for ChatGPT»]</ref> | ||
پرامپت یکی از اجزای اصلی تعامل انسان با [[مدل زبانی بزرگ|مدلهای زبانی بزرگ]] است. کاربر از طریق آن هدف، پرسش، اطلاعات زمینهای، محدودیتها و در صورت نیاز شکل مطلوب خروجی را برای سامانه مشخص میکند. در مدلهای زبانی، متن پرامپت به واحدهایی موسوم به [[توکن (هوش مصنوعی)|توکن]] تبدیل و در چارچوب زمینهٔ مدل پردازش میشود.<ref>[https://developers.openai.com/api/docs/guides/prompt-engineering OpenAI، «Prompt engineering»]</ref> | |||
در | توانایی مدلهای زبانی بزرگ در انجام وظایف بر اساس دستورها و نمونههای موجود در پرامپت، به توسعهٔ روشهایی مانند '''پرامپت صفرنمونهای'''، '''پرامپت تکنمونهای'''، '''پرامپت چندنمونهای''' و '''یادگیری درونزمینهای''' انجامیده است. پژوهشهای مربوط به مدل GPT-3 نشان داد که مدلهای زبانی بزرگ میتوانند برخی وظایف را صرفاً بر اساس دستور و نمونههای ارائهشده در زمینه، بدون بهروزرسانی پارامترهای مدل، انجام دهند.<ref>[https://proceedings.neurips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html Brown et al.، «Language Models are Few-Shot Learners»، NeurIPS 2020]</ref> | ||
== ریشه و تحول اصطلاح == | |||
یا | واژهٔ ''prompt'' پیش از ظهور هوش مصنوعی مولد در رایانش به پیام، نشانه یا علامتی اطلاق میشد که سامانه برای دریافت فرمان یا اطلاعات از کاربر نمایش میداد. اصطلاح '''command prompt''' از نمونههای شناختهشدهٔ این کاربرد است. | ||
با گسترش [[پردازش زبان طبیعی]] و مدلهای مولد، این اصطلاح معنای گستردهتری یافت. در این کاربرد، پرامپت دیگر صرفاً نشانهای برای دریافت فرمان نیست، بلکه خودِ ورودی یا دستور ارائهشده به مدل است. | |||
در | ظهور مدلهای زبانی بزرگ در اواخر دههٔ ۲۰۱۰ و اوایل دههٔ ۲۰۲۰ اهمیت این مفهوم را افزایش داد. توانایی این مدلها در انجام وظایف متفاوت بر اساس دستورهای زبان طبیعی موجب شد طراحی و بهینهسازی پرامپت به موضوعی مستقل در پژوهش و کاربرد هوش مصنوعی تبدیل شود. | ||
== | == سازوکار پرامپت در مدلهای زبانی == | ||
مدل زبانی پرامپت را همانند یک برنامهٔ رایانهای سنتی اجرا نمیکند. ورودی ابتدا به توکنها تبدیل میشود و مدل با توجه به این توکنها، زمینه و پارامترهایی که طی آموزش آموخته است، خروجی را تولید میکند. | |||
این فرایند را بهصورت ساده میتوان چنین نشان داد: | |||
پرامپت | پرامپت | ||
| خط ۵۸: | خط ۴۸: | ||
توکنسازی | توکنسازی | ||
↓ | ↓ | ||
نمایش عددی توکنها | |||
↓ | ↓ | ||
پردازش توسط مدل | پردازش توسط مدل | ||
↓ | ↓ | ||
محاسبهٔ توزیع احتمال | محاسبهٔ توزیع احتمال برای ادامه | ||
↓ | ↓ | ||
تولید توکنهای | تولید توکنهای خروجی | ||
↓ | ↓ | ||
پاسخ | پاسخ | ||
در مدلهای مولد خودرگرسیو، مدل با توجه به توکنهای موجود در زمینه، احتمال توکنهای بعدی را محاسبه میکند و این فرایند بهصورت متوالی ادامه مییابد. | |||
بنابراین تغییر پرامپت میتواند زمینهای را که مدل بر اساس آن خروجی تولید میکند تغییر دهد. | |||
== پرامپت و توکن == | == پرامپت و توکن == | ||
پرامپت و [[توکن (هوش مصنوعی)|توکن]] دو مفهوم متفاوت اما | پرامپت و [[توکن (هوش مصنوعی)|توکن]] دو مفهوم متفاوت اما مرتبط هستند. | ||
'''توکن''' واحدی است که مدل برای پردازش | '''پرامپت''' ورودی یا دستور ارائهشده به مدل است؛ در حالی که '''توکن''' واحدی است که مدل برای پردازش داده به کار میگیرد. | ||
برای | برای نمونه: | ||
«انقلاب صنعتی را توضیح بده.» | |||
یک پرامپت است. | |||
مدل این جمله را بر اساس توکنایزر خود به مجموعهای از توکنها تبدیل میکند و سپس بازنمایی عددی آنها را پردازش میکند. | |||
بنابراین میتوان رابطه را بهصورت زیر نشان داد: | |||
پرامپت ← توکنها ← پردازش مدل ← توکنهای خروجی ← پاسخ | |||
== اجزای پرامپت == | |||
پرامپت ساختار ثابت و اجباری ندارد. یک پرسش کوتاه میتواند پرامپتی کامل برای یک وظیفهٔ ساده باشد. با این حال، در وظایف پیچیدهتر چند عنصر میتوانند در آن مشخص شوند. | |||
'''وظیفه''' بیان میکند مدل باید چه کاری انجام دهد: | |||
«این مقاله را خلاصه کن.» | «این مقاله را خلاصه کن.» | ||
'''زمینه''' اطلاعاتی را | '''زمینه''' اطلاعاتی را که برای انجام وظیفه ضروری است در اختیار مدل قرار میدهد. | ||
'''محدودیت''' | '''محدودیت''' شرایط پاسخ را مشخص میکند: | ||
«خلاصه از ۵۰۰ کلمه | «خلاصه بیشتر از ۵۰۰ کلمه نباشد.» | ||
'''قالب خروجی''' شکل پاسخ را تعیین میکند: | '''قالب خروجی''' شکل مطلوب پاسخ را تعیین میکند: | ||
«پاسخ را در قالب ویکیمتن بنویس.» | |||
''' | '''مخاطب''' سطح توضیح را مشخص میکند: | ||
«این مفهوم را برای دانشآموز دبیرستانی توضیح بده.» | |||
'''نمونه''' نیز میتواند شکل یا الگوی خروجی مورد انتظار را به مدل نشان دهد. | |||
مستندات راهنمای مدلهای زبانی بر روشن و مشخص بودن دستور و ارائهٔ زمینهٔ کافی تأکید دارند.<ref>[https://help.openai.com/en/articles/4936848-how-do-i-create-a-good-prompt-for-an-ai-model OpenAI، «How do I create a good prompt for an AI model?»]</ref> | |||
== پرامپت ساده == | == پرامپت ساده == | ||
پرامپت ساده معمولاً | پرامپت ساده معمولاً یک درخواست کوتاه است: | ||
«فتوسنتز چیست؟» | «فتوسنتز چیست؟» | ||
| خط ۱۲۶: | خط ۱۱۴: | ||
یا: | یا: | ||
«این | «این متن را به فارسی ترجمه کن.» | ||
در وظایفی که هدف روشن است، چنین پرامپتی ممکن است کافی باشد. | |||
طولانیتر کردن پرامپت به خودی خود تضمین نمیکند که پاسخ بهتر شود. اهمیت اصلی در روشن بودن هدف و فراهم کردن اطلاعات مورد نیاز است. | |||
== پرامپت ساختاریافته == | == پرامپت ساختاریافته == | ||
در وظایف | در وظایف پیچیده میتوان اجزای پرامپت را بهصورت ساختاریافته جدا کرد. | ||
برای نمونه: | |||
وظیفه: بازنویسی مقاله | |||
سبک: دانشنامهای | |||
مخاطب: خوانندهٔ عمومی | مخاطب: خوانندهٔ عمومی | ||
محدودیت: هیچ اطلاعاتی از متن اصلی حذف نشود | |||
منابع: فقط منابع واقعی و قابل راستیآزمایی | |||
قالب خروجی: ویکیمتن مدیاویکی | |||
ساختاردهی به دستور میتواند مرز میان هدف، داده، محدودیت و قالب پاسخ را روشن کند. در مستندات فنی مدلهای زبانی نیز استفاده از ساختارهای واضح برای جداکردن دستورها از محتوای مرجع توصیه شده است.<ref>[https://developers.openai.com/api/docs/guides/prompt-engineering OpenAI، «Prompt engineering»]</ref> | |||
== پرامپت صفرنمونهای == | == پرامپت صفرنمونهای == | ||
'''پرامپت صفرنمونهای''' (''Zero-Shot Prompting'') حالتی | '''پرامپت صفرنمونهای''' (''Zero-Shot Prompting'') به حالتی گفته میشود که مدل بدون دریافت نمونهٔ حلشده، تنها بر اساس دستور وظیفهای را انجام میدهد. | ||
برای مثال: | برای مثال: | ||
| خط ۱۵۵: | خط ۱۴۸: | ||
«جملهٔ زیر را از فارسی به انگلیسی ترجمه کن.» | «جملهٔ زیر را از فارسی به انگلیسی ترجمه کن.» | ||
در این حالت هیچ نمونهٔ ترجمهای در پرامپت وجود ندارد. | |||
توانایی مدلهای زبانی بزرگ برای انجام طیفی از وظایف به صورت zero-shot یکی از موضوعات مهم پژوهش دربارهٔ این مدلها بوده است.<ref>[https://proceedings.neurips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html Brown et al.، «Language Models are Few-Shot Learners»، NeurIPS 2020]</ref> | |||
== پرامپت تکنمونهای == | == پرامپت تکنمونهای == | ||
'''پرامپت تکنمونهای''' (''One-Shot Prompting'') شامل یک نمونه از رابطه یا خروجی مورد انتظار است. | |||
برای مثال: | برای مثال: | ||
فرانسه → پاریس | فرانسه → پاریس | ||
ژاپن → ؟ | ژاپن → ؟ | ||
نمونهٔ نخست الگویی در اختیار مدل قرار میدهد تا پاسخ بعدی را در همان چارچوب تولید کند. | |||
== پرامپت چندنمونهای == | == پرامپت چندنمونهای == | ||
'''پرامپت چندنمونهای''' (''Few-Shot Prompting'') شامل چند نمونه | '''پرامپت چندنمونهای''' (''Few-Shot Prompting'') شامل چند نمونه است که الگوی مورد انتظار را به مدل نشان میدهند. | ||
برای مثال: | |||
فرانسه → پاریس | |||
ایتالیا → رم | |||
آلمان → برلین | |||
ژاپن → ؟ | |||
پژوهش Brown و همکاران دربارهٔ GPT-3 نشان داد که افزایش مقیاس مدلهای زبانی میتواند توانایی انجام برخی وظایف به شیوهٔ few-shot را افزایش دهد.<ref>[https://proceedings.neurips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html Brown et al.، «Language Models are Few-Shot Learners»، NeurIPS 2020]</ref> | |||
== یادگیری درونزمینهای == | == یادگیری درونزمینهای == | ||
'''یادگیری درونزمینهای''' (''In-Context Learning'') به توانایی مدل در استفاده از دستورها یا نمونههای موجود در زمینه برای انجام یک وظیفه اشاره دارد، بدون آنکه برای همان تعامل پارامترهای اصلی مدل دوباره آموزش داده شوند. | |||
در این روش نمونهها بخشی از ورودی هستند، نه بخشی از آموزش مجدد مدل. | |||
این ویژگی یکی از | این ویژگی یکی از عوامل اصلی افزایش اهمیت پرامپت در مدلهای زبانی بزرگ است. | ||
== پرامپت سیستمی == | == پرامپت سیستمی == | ||
در سامانههای مبتنی بر مدلهای زبانی ممکن است دستورها دارای سطوح مختلف باشند. | |||
'''پرامپت سیستمی''' یا دستور سیستمی مجموعهای از دستورهای سطح بالاتر است که برای تعیین رفتار کلی مدل، نقش آن، محدودیتها یا قواعد تعامل استفاده میشود. | |||
این دستورها میتوانند پیش از پیام کاربر به سامانه داده شوند و کاربر الزاماً آنها را مشاهده نمیکند. | |||
کاربر ممکن است | در سامانههای کاربردی، علاوه بر پیام کاربر ممکن است دستورهای توسعهدهنده، اطلاعات بازیابیشده و دادههای ابزارها نیز وارد زمینه شوند. | ||
== پرامپت کاربر == | == پرامپت کاربر == | ||
'''پرامپت کاربر''' | '''پرامپت کاربر''' محتوایی است که کاربر مستقیماً برای مدل ارسال میکند. | ||
برای مثال: | برای مثال: | ||
| خط ۲۰۷: | خط ۲۰۲: | ||
«یک مقالهٔ دانشنامهای دربارهٔ هوش مصنوعی مولد بنویس.» | «یک مقالهٔ دانشنامهای دربارهٔ هوش مصنوعی مولد بنویس.» | ||
این | این دستور هدف مورد انتظار کاربر را مشخص میکند. | ||
در | در یک سامانهٔ ساده ممکن است همین پیام بخش اصلی ورودی باشد؛ اما در سامانههای پیچیدهتر پاسخ میتواند تحت تأثیر دستورهای سطح بالاتر، تاریخچهٔ گفتگو، منابع بازیابیشده و ابزارهای متصل نیز قرار گیرد. | ||
== پرامپت چندوجهی == | == پرامپت چندوجهی == | ||
با توسعهٔ | با توسعهٔ [[هوش مصنوعی چندوجهی]]، پرامپت دیگر الزاماً فقط متن نیست. | ||
یک پرامپت میتواند شامل: | |||
* متن؛ | |||
* تصویر؛ | |||
* صوت؛ | |||
* فایل؛ | |||
* دادهٔ ساختاریافته؛ | |||
* یا ترکیبی از این موارد | |||
باشد. | |||
برای مثال، کاربر میتواند تصویری را به مدل ارائه کند و بنویسد: | |||
«محتوای این نمودار را توضیح بده.» | |||
در این حالت تصویر و دستور متنی با یکدیگر پرامپت چندوجهی را تشکیل میدهند. | |||
== مهندسی پرامپت == | == مهندسی پرامپت == | ||
'''مهندسی پرامپت''' (''Prompt Engineering'') | '''مهندسی پرامپت''' (''Prompt Engineering'') فرایند طراحی و بهینهسازی دستورها برای هدایت مدل به سوی خروجی مطلوب است. مستندات فنی OpenAI این اصطلاح را فرایند نوشتن دستورهای مؤثر برای مدل با هدف تولید مداومتر محتوای مطابق الزامات تعریف میکنند.<ref>[https://developers.openai.com/api/docs/guides/prompt-engineering OpenAI، «Prompt engineering»]</ref> | ||
مهندسی پرامپت | مهندسی پرامپت ممکن است شامل: | ||
* روشنکردن وظیفه؛ | |||
* افزودن اطلاعات زمینهای؛ | |||
* مشخصکردن محدودیتها؛ | |||
* ارائهٔ نمونه؛ | |||
* تعیین قالب پاسخ؛ | |||
* آزمایش خروجی؛ | |||
* و اصلاح تکرارشوندهٔ دستور | |||
باشد. | |||
در کاربردهای حرفهای، مهندسی پرامپت تنها به انتخاب عبارتهای مناسب محدود نمیشود؛ بلکه ارزیابی نظاممند نتایج نیز اهمیت دارد. | |||
== وضوح و مشخصبودن دستور == | |||
یکی از اصول عمومی پرامپتنویسی، روشن و مشخص بودن درخواست است. | |||
برای مثال: | |||
«دربارهٔ تاریخ بنویس.» | |||
درخواست بسیار گستردهای است. | |||
در مقابل: | |||
«در ۵۰۰ کلمه، علل اقتصادی انقلاب صنعتی بریتانیا را برای خوانندهٔ عمومی توضیح بده و میان علل کوتاهمدت و بلندمدت تفکیک کن.» | |||
هدف، حجم، موضوع، مخاطب و ساختار پاسخ را روشنتر تعیین میکند. | |||
راهنماهای پرامپتنویسی بر مشخصکردن هدف، زمینه، قالب و سبک مطلوب تأکید دارند.<ref>[https://help.openai.com/en/articles/6654000-comprehensive-list-of-prompt-engineering-techniques OpenAI، «Best practices for prompt engineering with the OpenAI API»]</ref> | |||
== تعیین نقش == | == تعیین نقش == | ||
یکی از روشهای | یکی از روشهای پرامپتنویسی تعیین یک نقش یا زمینهٔ حرفهای است. | ||
برای مثال: | برای مثال: | ||
«در نقش | «در نقش ویراستار علمی، متن زیر را بررسی کن.» | ||
تعیین نقش میتواند نوع | تعیین نقش میتواند نوع زبان و تمرکز پاسخ را هدایت کند. | ||
برای | با این حال، تعیین نقش توانایی یا صلاحیت واقعی جدیدی برای مدل ایجاد نمیکند. نوشتن «تو پزشک هستی» یک مدل زبانی را به پزشک دارای صلاحیت حرفهای تبدیل نمیکند. | ||
== تعیین مخاطب == | == تعیین مخاطب == | ||
مشخصکردن مخاطب میتواند سطح | مشخصکردن مخاطب میتواند سطح پیچیدگی پاسخ را تغییر دهد. | ||
برای مثال: | برای مثال: | ||
«مکانیک کوانتومی را برای دانشآموز دبیرستانی توضیح بده.» | |||
با: | با: | ||
«صورتبندی ریاضی مکانیک کوانتومی را برای دانشجوی کارشناسی فیزیک توضیح بده.» | |||
دو | دو وظیفهٔ متفاوت ایجاد میکند. | ||
این روش به مدل کمک میکند سطح اصطلاحات و جزئیات پاسخ را با نیاز کاربر هماهنگ کند. | |||
== تعیین قالب خروجی == | == تعیین قالب خروجی == | ||
کاربر میتواند | کاربر میتواند شکل خروجی مورد نظر را در پرامپت تعیین کند. | ||
برای مثال: | برای مثال: | ||
«خروجی را به صورت ویکیمتن مدیاویکی بنویس.» | |||
یا: | یا: | ||
«نتیجه را در قالب JSON ارائه کن.» | |||
یا: | یا: | ||
«پاسخ را بدون جدول و در پنج بخش تنظیم کن.» | |||
تعیین قالب بهویژه زمانی اهمیت دارد که خروجی قرار است در نرمافزار، پایگاه داده یا فرایند دیگری استفاده شود. | |||
== استفاده از جداکنندهها == | == استفاده از جداکنندهها == | ||
در پرامپتهای | در پرامپتهای طولانی میتوان دستور و متن مرجع را از یکدیگر جدا کرد. | ||
برای | برای نمونه: | ||
دستور: | دستور: | ||
متن زیر را خلاصه کن. | متن زیر را خلاصه کن. | ||
الزامات: | |||
هیچ اطلاعاتی خارج از متن اضافه نکن. | هیچ اطلاعاتی خارج از متن اضافه نکن. | ||
متن: | متن: | ||
--- | --- | ||
[متن] | [متن اصلی] | ||
--- | --- | ||
این | این شیوه به روشنشدن مرز میان دستور و داده کمک میکند. در راهنماهای فنی استفاده از ساختارهایی مانند Markdown یا XML برای تفکیک بخشهای منطقی پرامپت مطرح شده است.<ref>[https://developers.openai.com/api/docs/guides/prompt-engineering OpenAI، «Prompt engineering»]</ref> | ||
== | == پرامپت و زمینه == | ||
مدل تنها دستور مستقیم کاربر را پردازش نمیکند؛ اطلاعات زمینهای نیز میتوانند بر پاسخ اثر بگذارند. | |||
برای مثال: | برای مثال میتوان سندی را همراه این دستور ارائه کرد: | ||
«پرسش را فقط بر اساس سند زیر پاسخ بده.» | |||
افزودن منابع مرتبط به زمینه یکی از روشهای فراهمکردن اطلاعاتی است که ممکن است در دادههای آموزشی مدل وجود نداشته باشد یا نیازمند بهروزرسانی باشد.<ref>[https://developers.openai.com/api/docs/guides/prompt-engineering OpenAI، «Prompt engineering»، بخش Include relevant context information]</ref> | |||
این روش در سامانههای '''تولید تقویتشده با بازیابی''' یا [[بازیابی افزوده به تولید]] (RAG) کاربرد گستردهای دارد. | |||
== پرامپت و پنجرهٔ زمینه == | == پرامپت و پنجرهٔ زمینه == | ||
| خط ۳۴۳: | خط ۳۴۴: | ||
پرامپت بخشی از '''پنجرهٔ زمینه''' (''Context Window'') مدل را اشغال میکند. | پرامپت بخشی از '''پنجرهٔ زمینه''' (''Context Window'') مدل را اشغال میکند. | ||
پنجرهٔ زمینه مقدار | پنجرهٔ زمینه مقدار دادهای است که مدل میتواند در یک فرایند تولید در زمینهٔ فعال خود پردازش کند و معمولاً بر حسب [[توکن (هوش مصنوعی)|توکن]] اندازهگیری میشود.<ref>[https://developers.openai.com/api/docs/guides/prompt-engineering OpenAI، «Prompt engineering»، بخش Planning for the context window]</ref> | ||
از | در نتیجه، متن پرامپت، اسناد ارائهشده، تاریخچهٔ مرتبط و خروجی تولیدشده همگی میتوانند بخشی از ظرفیت زمینه را مصرف کنند. | ||
این | این مسئله هنگام پردازش کتابها و مجموعههای بزرگ اسناد اهمیت ویژهای دارد. | ||
== زنجیرهٔ فکر == | == زنجیرهٔ فکر == | ||
'''پرامپت زنجیرهٔ فکر''' (''Chain-of-Thought Prompting'') اصطلاحی است که در | '''پرامپت زنجیرهٔ فکر''' (''Chain-of-Thought Prompting'') اصطلاحی پژوهشی برای روشی است که در آن نمونههایی شامل مراحل میانی استدلال در پرامپت ارائه میشوند. | ||
جیسون وی و همکاران در مقالهای که در کنفرانس NeurIPS سال ۲۰۲۲ منتشر شد نشان دادند که ارائهٔ چند نمونهٔ دارای مراحل میانی استدلال میتواند عملکرد مدلهای زبانی بزرگ را در برخی وظایف حسابی، استدلال عرفی و نمادین افزایش دهد.<ref>[https://proceedings.neurips.cc/paper/2022/hash/9d5609613524ecf4f15af0f7b31abca4-Abstract.html Jason Wei et al.، «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models»، NeurIPS 2022]</ref> | |||
این | این پژوهش یکی از آثار اثرگذار در مطالعهٔ رابطهٔ میان شیوهٔ پرامپتنویسی و عملکرد استدلالی مدلهای زبانی شد. | ||
== پرامپت و | == پرامپت و تولید تصویر == | ||
پرامپت | در مدلهای تولید تصویر، پرامپت میتواند ویژگیهای تصویر مورد نظر را مشخص کند. | ||
برای نمونه ممکن است شامل: | |||
* سوژه؛ | |||
* محیط؛ | |||
* نورپردازی؛ | |||
* زاویهٔ دید؛ | |||
* ترکیببندی؛ | |||
* بافت؛ | |||
* نسبت تصویر؛ | |||
* یا ویژگیهای بصری دیگر | |||
باشد. | |||
در این کاربرد، زبان طبیعی به وسیلهای برای هدایت فرایند تولید تصویر تبدیل میشود. | |||
در | == پرامپت در تولید ویدئو و صوت == | ||
مدلهای مولد ویدئو و صوت نیز میتوانند بر اساس پرامپت عمل کنند. | |||
در تولید ویدئو، کاربر ممکن است حرکت سوژه، دوربین، محیط یا توالی رویدادها را توصیف کند. | |||
در تولید صوت نیز پرامپت میتواند محتوای صوتی یا ویژگیهای مورد انتظار را مشخص کند. | |||
به این ترتیب مفهوم پرامپت از یک فرمان متنی برای مدل زبان به رابطی عمومیتر برای سامانههای مولد چندوجهی گسترش یافته است. | |||
== پرامپت در برنامهنویسی == | |||
مدلهای زبانی میتوانند بر اساس توصیف زبان طبیعی کد تولید کنند. | |||
برای مثال: | |||
«تابعی در پایتون بنویس که یک فایل CSV را بخواند و ردیفهای تکراری را حذف کند.» | |||
در چنین کاربردی، پرامپت نقش نوعی مشخصات اولیهٔ مسئله را ایفا میکند. | |||
با این حال کد تولیدشده باید آزمایش و بررسی شود، زیرا مدل میتواند کدی دارای خطا یا آسیبپذیری تولید کند. | |||
== پرامپت | == پرامپت در پژوهش == | ||
در پژوهش علمی، پرامپت میتواند برای خلاصهسازی، استخراج اطلاعات، طبقهبندی دادهها، ترجمه و تحلیل اولیه استفاده شود. | |||
اما پرامپت جایگزین منبع علمی یا روش تحقیق نیست. | |||
برای مثال، دستور: | |||
«ده منبع معتبر دربارهٔ موضوع X معرفی کن.» | |||
بهتنهایی تضمین نمیکند که منابع تولیدشده واقعی یا مرتبط باشند. | |||
برای پژوهش علمی، منابع باید مستقل از پاسخ مدل راستیآزمایی شوند. | |||
== پرامپت در دانشنامهنویسی == | |||
در | در دانشنامهنویسی، پرامپت میتواند به صورت یک '''شیوهنامهٔ اجرایی''' برای مدل عمل کند. | ||
یک پرامپت دانشنامهای ممکن است مشخص کند که: | |||
متن | * متن دارای مقدمه و بخشبندی موضوعی باشد؛ | ||
* لحن دانشنامهای رعایت شود؛ | |||
* میان واقعیت و تفسیر تمایز گذاشته شود؛ | |||
* ادعاهای مهم دارای منبع باشند؛ | |||
* منابع ساختگی تولید نشوند؛ | |||
* اصطلاحات تخصصی توضیح داده شوند؛ | |||
* پیوندهای داخلی مناسب درج شوند؛ | |||
* و خروجی با ویکیمتن مدیاویکی سازگار باشد. | |||
پرامپت در این حالت تنها یک سؤال نیست، بلکه مجموعهای از قواعد برای تولید و سازماندهی محتواست. | |||
== پرامپت و سوگیری == | |||
نحوهٔ صورتبندی پرامپت میتواند بر پاسخ مدل اثر بگذارد. | |||
برای مثال: | |||
«چرا سیاست X شکست خورد؟» | |||
از ابتدا شکست سیاست را مفروض میگیرد. | |||
در مقابل: | |||
«چه شواهدی دربارهٔ موفقیت یا شکست سیاست X وجود دارد؟» | |||
فضای بیشتری برای بررسی شواهد متفاوت ایجاد میکند. | |||
این مسئله در موضوعات تاریخی، اجتماعی و سیاسی اهمیت دارد؛ زیرا فرضهای موجود در پرسش ممکن است بر چارچوب پاسخ اثر بگذارند. | |||
این پدیده با بحث گستردهتر [[سوگیری الگوریتمی]] و سوگیری در سامانههای هوش مصنوعی ارتباط دارد. | |||
== محدودیتهای پرامپت == | |||
پرامپت هرقدر دقیق باشد کنترل مطلق بر پاسخ مدل ایجاد نمیکند. | |||
مدل ممکن است: | |||
* بخشی از دستور را اشتباه تفسیر کند؛ | |||
* اطلاعات نادرست تولید کند؛ | |||
* محدودیتی را رعایت نکند؛ | |||
* منبع نادرست ارائه کند؛ | |||
* یا قالب مورد درخواست را بهطور کامل رعایت نکند. | |||
خروجی مدلهای مولد ماهیتی احتمالاتی دارد و حتی پرامپتهای مشابه میتوانند در شرایط مختلف پاسخهای متفاوتی ایجاد کنند.<ref>[https://developers.openai.com/api/docs/guides/prompt-engineering OpenAI، «Prompt engineering»]</ref> | |||
== پرامپت و توهم هوش مصنوعی == | |||
یکی از محدودیتهای مهم پرامپت این است که دستور دقیق نمیتواند بهتنهایی صحت اطلاعات را تضمین کند. | |||
برای مثال: | |||
«فقط اطلاعات کاملاً صحیح ارائه کن.» | |||
یک دستور است، نه سازوکاری مستقل برای راستیآزمایی حقیقت. | |||
مدل ممکن است همچنان اطلاعاتی ظاهراً معتبر اما نادرست تولید کند. | |||
در کاربردهای دانشنامهای، تاریخی و علمی، استفاده از منابع قابل بررسی و راستیآزمایی مستقل ضروری است. | |||
== تزریق پرامپت == | |||
'''تزریق پرامپت''' (''Prompt Injection'') یکی از مسائل امنیتی مهم سامانههای مبتنی بر مدلهای زبانی است. | |||
در این نوع حمله، ورودی دستکاریشده میکوشد مدل یا برنامهٔ متصل به آن را وادار کند برخلاف دستور یا هدف مورد نظر سامانه رفتار کند. | |||
NIST تزریق پرامپت را از آسیبپذیریهای مهم سامانههای هوش مصنوعی مولد معرفی کرده و میان حملات مستقیم و غیرمستقیم تمایز گذاشته است.<ref>[https://airc.nist.gov/docs/NIST.AI.600-1.GenAI-Profile.ipd.pdf NIST، ''Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile'']</ref> | |||
== تزریق مستقیم پرامپت == | |||
در '''تزریق مستقیم'''، مهاجم مستقیماً ورودیای را برای تغییر رفتار مدل ارائه میکند. | |||
از | برای مثال ممکن است تلاش کند دستورهای قبلی سامانه را نادیده بگیرد یا مدل را به انجام عملی خارج از هدف برنامه وادارد. | ||
خطر این حمله زمانی بیشتر میشود که مدل به ابزار، پایگاه داده یا عملیات خارجی دسترسی داشته باشد. | |||
== تزریق غیرمستقیم پرامپت == | |||
'''تزریق غیرمستقیم''' زمانی رخ میدهد که دستور مخرب نه مستقیماً از سوی کاربر، بلکه در محتوایی قرار گرفته باشد که مدل بعداً آن را دریافت یا بازیابی میکند. | |||
این محتوا میتواند در: | |||
* صفحهٔ وب؛ | |||
* سند؛ | |||
* ایمیل؛ | |||
* فایل؛ | |||
* یا دادهٔ خارجی | |||
قرار گرفته باشد. | |||
NIST هشدار داده است که تزریق غیرمستقیم میتواند برنامههای یکپارچهشده با مدل زبانی را از طریق دادههای بازیابیشده هدف قرار دهد.<ref>[https://airc.nist.gov/docs/NIST.AI.600-1.GenAI-Profile.ipd.pdf NIST، ''Generative Artificial Intelligence Profile'']</ref> | |||
== امنیت پرامپت == | |||
تزریق پرامپت نشان میدهد که زبان طبیعی نباید بهتنهایی به عنوان مرز امنیتی سامانه در نظر گرفته شود. | |||
اگر مدل به ابزار یا دادههای حساس دسترسی داشته باشد، کنترل دسترسی، اعتبارسنجی، محدودیت مجوزها و طراحی امنیتی مستقل ضروری است. | |||
پروژهٔ امنیت هوش مصنوعی مولد OWASP نیز تزریق پرامپت را در فهرست خطرهای مهم برنامههای مبتنی بر مدلهای زبانی قرار داده است.<ref>[https://genai.owasp.org/llm-top-10/ OWASP GenAI Security Project، «Top 10 Risks for LLM and GenAI Applications»]</ref> | |||
== پرامپت | == پرامپت و تعامل انسان و رایانه == | ||
اهمیت تاریخی پرامپت در هوش مصنوعی مولد تا حد زیادی به تبدیل زبان طبیعی به رابطی برای کنترل سامانههای محاسباتی مربوط است. | |||
در بسیاری از کاربردها، کاربر بدون نوشتن برنامهٔ رایانهای میتواند هدف خود را با زبان معمولی بیان کند: | |||
«این مقاله را خلاصه کن.» | |||
«این دادهها را تحلیل کن.» | |||
«برای این مسئله کد بنویس.» | |||
«تصویری بر اساس این توصیف تولید کن.» | |||
در نتیجه فاصله میان بیان هدف انسانی و استفاده از توان محاسباتی کاهش یافته است. | |||
== تفاوت پرامپتنویسی و برنامهنویسی == | |||
برای | پرامپتنویسی و برنامهنویسی هر دو روشی برای هدایت رفتار یک سامانهٔ محاسباتی هستند، اما یکسان نیستند. | ||
برنامهٔ رایانهای معمولاً بر اساس نحو رسمی و قواعد مشخص اجرا میشود. | |||
و | پرامپت زبان طبیعی توسط مدلی احتمالاتی تفسیر میشود و پاسخ آن میتواند بر اساس مدل، زمینه و دیگر شرایط تغییر کند. | ||
به همین دلیل پرامپت را نمیتوان بهطور عمومی معادل «کد» دانست. | |||
== پرامپت و عاملیت انسانی == | == پرامپت و عاملیت انسانی == | ||
پرامپت | پرامپت ابزاری برای بیان هدف انسان است، اما تصمیم دربارهٔ پذیرش و استفاده از خروجی همچنان بر عهدهٔ انسان یا سامانهای است که مدل در آن به کار گرفته شده است. | ||
مدل میتواند پیشنهادی تولید کند که دقیق، نادرست یا نامناسب باشد. | |||
به همین | به همین دلیل در حوزههای حساس، پرامپت و پاسخ مدل نباید جایگزین ارزیابی تخصصی و تصمیمگیری مسئولانه شوند. | ||
== اهمیت پرامپت == | |||
پرامپت یکی از مفاهیم بنیادی در [[هوش مصنوعی مولد]] است، زیرا رابط میان هدف کاربر و فرایند تولید مدل را تشکیل میدهد. | |||
پرامپت | اهمیت پرامپت را میتوان در چند زمینه مشاهده کرد: | ||
* انتقال دستور به مدل؛ | |||
* تعیین زمینهٔ مسئله؛ | |||
* ارائهٔ نمونه؛ | |||
* تعیین سبک و قالب پاسخ؛ | |||
* واردکردن اسناد و اطلاعات مرجع؛ | |||
* و هدایت مدل در وظایف پیچیده. | |||
با این حال کیفیت پاسخ تنها تابع کیفیت پرامپت نیست. توانایی مدل، دادههای آموزشی، ابزارهای در دسترس، اطلاعات زمینهای، محدودیتهای فنی و روش ارزیابی نیز بر نتیجه اثر میگذارند. | |||
== جمعبندی == | == جمعبندی == | ||
'''پرامپت''' در هوش مصنوعی | '''پرامپت''' در هوش مصنوعی ورودی یا دستوری است که برای هدایت یک مدل به سوی انجام وظیفه یا تولید پاسخ ارائه میشود. پرامپت میتواند از یک پرسش کوتاه تا مجموعهای ساختاریافته از دستورها، نمونهها، منابع، دادهها و محدودیتها متغیر باشد. | ||
پرامپت | مدلهای زبانی متن پرامپت را به [[توکن (هوش مصنوعی)|توکن]] تبدیل کرده و در چارچوب زمینه پردازش میکنند. توانایی مدلهای بزرگ در استفاده از نمونههای موجود در پرامپت به توسعهٔ روشهایی مانند zero-shot، one-shot، few-shot و یادگیری درونزمینهای انجامیده است.<ref>[https://proceedings.neurips.cc/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html Brown et al.، «Language Models are Few-Shot Learners»، NeurIPS 2020]</ref> | ||
پژوهشهای بعدی نشان دادند که شیوهٔ سازماندهی پرامپت میتواند بر عملکرد مدل در برخی مسائل پیچیده نیز اثر بگذارد؛ از جمله روش زنجیرهٔ فکر که در پژوهشهای مربوط به استدلال چندمرحلهای بررسی شده است.<ref>[https://proceedings.neurips.cc/paper/2022/hash/9d5609613524ecf4f15af0f7b31abca4-Abstract.html Wei et al.، «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models»، NeurIPS 2022]</ref> | |||
گسترش | گسترش مدلهای چندوجهی نیز مفهوم پرامپت را از متن فراتر برده است و تصویر، صوت، فایل و دیگر انواع داده میتوانند بخشی از ورودی سامانه باشند. | ||
در کنار کاربردهای گسترده، پرامپت دارای محدودیتها و مخاطرات امنیتی نیز هست. دستور دقیق تضمینکنندهٔ صحت خروجی نیست و حملاتی مانند [[تزریق پرامپت]] میتوانند سامانههای متصل به منابع خارجی را هدف قرار دهند.<ref>[https://airc.nist.gov/docs/NIST.AI.600-1.GenAI-Profile.ipd.pdf NIST، ''Generative Artificial Intelligence Profile'']</ref> | |||
از | از این رو پرامپت را میتوان نه «فرمان قطعی» برای ماشین، بلکه '''یکی از اصلیترین ابزارهای ارتباط و هدایت سامانههای هوش مصنوعی مولد''' دانست. | ||
== جستارهای وابسته == | == جستارهای وابسته == | ||
| خط ۶۳۹: | خط ۵۸۵: | ||
* [[هوش مصنوعی]] | * [[هوش مصنوعی]] | ||
* [[هوش مصنوعی مولد]] | * [[هوش مصنوعی مولد]] | ||
* [[مدل زبانی بزرگ]] | |||
* [[توکن (هوش مصنوعی)]] | * [[توکن (هوش مصنوعی)]] | ||
* [[ | * [[مهندسی پرامپت]] | ||
* [[پردازش زبان طبیعی]] | * [[پردازش زبان طبیعی]] | ||
* [[یادگیری ماشین]] | * [[یادگیری ماشین]] | ||
* [[یادگیری عمیق]] | * [[یادگیری عمیق]] | ||
* [[ترنسفورمر]] | * [[ترنسفورمر]] | ||
* [[سوگیری الگوریتمی]] | |||
* [[توهم هوش مصنوعی]] | * [[توهم هوش مصنوعی]] | ||
* [[تزریق پرامپت]] | |||
* [[امنیت سایبری]] | |||
* [[علوم رایانه]] | * [[علوم رایانه]] | ||
== منابع == | == منابع == | ||
| خط ۶۵۷: | خط ۶۰۳: | ||
== کتابشناسی == | == کتابشناسی == | ||
* Brown, Tom B., et al. “Language Models are Few-Shot Learners.” ''Advances in Neural Information Processing Systems'' 33 (2020). | * 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, | * 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, et al. “Chain-of-Thought Prompting Elicits Reasoning in Large Language Models.” ''Advances in Neural Information Processing Systems'' 35 (2022). | * 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. | ||
[[رده:هوش مصنوعی]] | [[رده:هوش مصنوعی]] | ||
| خط ۶۶۹: | خط ۶۱۵: | ||
[[رده:یادگیری ماشین]] | [[رده:یادگیری ماشین]] | ||
[[رده:علوم رایانه]] | [[رده:علوم رایانه]] | ||
[[رده:تعامل انسان و رایانه]] | |||
[[رده:مفاهیم هوش مصنوعی]] | [[رده:مفاهیم هوش مصنوعی]] | ||
[[رده:فناوری اطلاعات]] | [[رده:فناوری اطلاعات]] | ||
{{DEFAULTSORT:پرامپت}} | {{DEFAULTSORT:پرامپت}} | ||
نسخهٔ کنونی تا ۳ اکتبر ۲۰۲۶، ساعت ۲۰:۲۱
| شناسنامه | |
|---|---|
| نامهای دیگر | دستور، ورودی، فرمان، دستور متنی |
| حوزه | هوش مصنوعی، هوش مصنوعی مولد، پردازش زبان طبیعی، مدل زبانی بزرگ، تعامل انسان و رایانه |
| خاستگاه | علوم رایانه، پردازش زبان طبیعی و تعامل انسان و رایانه |
| اندیشه و تاریخ | |
| مفاهیم کلیدی | دستور، زمینه، ورودی، خروجی، توکن، پرامپت صفرنمونهای، پرامپت چندنمونهای، پرامپت سیستمی، مهندسی پرامپت، تزریق پرامپت |
| جریانهای مرتبط | هوش مصنوعی مولد، مدل زبانی بزرگ، توکن، مهندسی پرامپت، یادگیری درونزمینهای |
| تأثیرپذیرفته از | علوم رایانه، زبانشناسی رایانشی، تعامل انسان و رایانه، یادگیری ماشین و پردازش زبان طبیعی |
| تأثیرگذار بر | تولید محتوا، پژوهش، آموزش، برنامهنویسی، طراحی، تحلیل داده و سامانههای عاملمحور |
| نقد و ارزیابی | |
پرامپت (به انگلیسی: 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 و یادگیری درونزمینهای انجامیده است.[۱۸]
پژوهشهای بعدی نشان دادند که شیوهٔ سازماندهی پرامپت میتواند بر عملکرد مدل در برخی مسائل پیچیده نیز اثر بگذارد؛ از جمله روش زنجیرهٔ فکر که در پژوهشهای مربوط به استدلال چندمرحلهای بررسی شده است.[۱۹]
گسترش مدلهای چندوجهی نیز مفهوم پرامپت را از متن فراتر برده است و تصویر، صوت، فایل و دیگر انواع داده میتوانند بخشی از ورودی سامانه باشند.
در کنار کاربردهای گسترده، پرامپت دارای محدودیتها و مخاطرات امنیتی نیز هست. دستور دقیق تضمینکنندهٔ صحت خروجی نیست و حملاتی مانند تزریق پرامپت میتوانند سامانههای متصل به منابع خارجی را هدف قرار دهند.[۲۰]
از این رو پرامپت را میتوان نه «فرمان قطعی» برای ماشین، بلکه یکی از اصلیترین ابزارهای ارتباط و هدایت سامانههای هوش مصنوعی مولد دانست.
جستارهای وابسته
- هوش مصنوعی
- هوش مصنوعی مولد
- مدل زبانی بزرگ
- توکن (هوش مصنوعی)
- مهندسی پرامپت
- پردازش زبان طبیعی
- یادگیری ماشین
- یادگیری عمیق
- ترنسفورمر
- سوگیری الگوریتمی
- توهم هوش مصنوعی
- تزریق پرامپت
- امنیت سایبری
- علوم رایانه
منابع
- ↑ OpenAI، «Prompt engineering best practices for ChatGPT»
- ↑ OpenAI، «Prompt engineering»
- ↑ Brown et al.، «Language Models are Few-Shot Learners»، NeurIPS 2020
- ↑ OpenAI، «How do I create a good prompt for an AI model?»
- ↑ OpenAI، «Prompt engineering»
- ↑ Brown et al.، «Language Models are Few-Shot Learners»، NeurIPS 2020
- ↑ Brown et al.، «Language Models are Few-Shot Learners»، NeurIPS 2020
- ↑ OpenAI، «Prompt engineering»
- ↑ OpenAI، «Best practices for prompt engineering with the OpenAI API»
- ↑ OpenAI، «Prompt engineering»
- ↑ OpenAI، «Prompt engineering»، بخش Include relevant context information
- ↑ OpenAI، «Prompt engineering»، بخش Planning for the context window
- ↑ Jason Wei et al.، «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models»، NeurIPS 2022
- ↑ OpenAI، «Prompt engineering»
- ↑ NIST، Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile
- ↑ NIST، Generative Artificial Intelligence Profile
- ↑ OWASP GenAI Security Project، «Top 10 Risks for LLM and GenAI Applications»
- ↑ Brown et al.، «Language Models are Few-Shot Learners»، NeurIPS 2020
- ↑ Wei et al.، «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models»، NeurIPS 2022
- ↑ NIST، Generative Artificial Intelligence Profile
کتابشناسی
- 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.