مهندسی پرامپت چیست؟ راهنمای عملی برای غیربرنامهنویسان
مهندسی پرامپت یعنی نوشتن و بهبود دادن دستورهایی برای یک مدل هوش مصنوعی تا بهطور قابلاعتماد همان چیزی را تولید کند که میخواهید. پرامپت هر چیزی است که به مدل میدهید: یک سؤال، یک کار، مقداری زمینه، نمونه. مهندسی کردن پرامپت یعنی عمدی بودن در اینکه چه چیزی داخلش میرود، آزمودن خروجی و تنظیم کردن آن. کمتر به عبارتهای جادویی ربط دارد و بیشتر به ارتباط واضح.
چرا وقتی با هوش مصنوعی میسازید اهمیت دارد
با یک ابزار ساخت اپلیکیشن با هوش مصنوعی، پرامپتهای شما در واقع مشخصات کار هستند. هوش مصنوعی فقط چیزی را میسازد که شرح دادهاید، و وقتی درخواستتان جاهای خالی دارد، آنها را با حدسهای معقول پر میکند. گاهی حدسها خوباند. اغلب اما آن چیزی نیستند که منظورتان بود: فیلدهای اشتباه در یک فرم، امکانی که نمیخواستید، یا طراحیای که با مخاطبتان جور نیست.
پرامپت واضح باعث میشود دور اصلاحها کمتر شود، و هر دور اصلاح وقت میگیرد و معمولاً اعتبار هم مصرف میکند. پرامپتنویسی وقتی هوش مصنوعی را داخل اپلیکیشنتان میگذارید هم مهم است: دستورهایی که به آن مدل میدهید تعیین میکند چطور با مشتریهایتان حرف بزند، چه چیزی را رد کند، و آیا به واقعیتهای شما وفادار بماند. برای ساخت اپلیکیشن مشخصاً، راهنمای نوشتن پرامپت برای ابزارهای ساخت اپلیکیشن با هوش مصنوعی را ببینید.
یک تشبیه روزمره
تصور کنید دارید به یک فریلنسر ماهر توضیح میدهید که هیچوقت شما را ندیده، از کسبوکارتان چیزی نمیداند، و به محض تمام شدن حرفهایتان کار را شروع میکند.
«یک لوگو برایم بساز» یک لوگو به شما میدهد. اما «یک لوگو برای مدرسهی شنای کودکان در دبی؛ دوستانه، نه بچگانه؛ آبی و نارنجی؛ باید در اندازهی کوچک روی کلاه شنا خوانا باشد؛ این دو نمونه را دوست داریم و این یکی را نه» چیزی نزدیک به آنچه میخواهید تحویل میدهد.
یک مدل هوش مصنوعی همان فریلنسر است: با استعداد، سریع و کاملاً وابسته به شرح کار شما. مهندسی پرامپت یعنی یاد گرفتن نوشتن یک شرح کار خوب.
تکنیکهای اصلی
| تکنیک | یعنی چه | مثال |
|---|---|---|
| هدف را دقیق بگویید | بگویید چه میخواهید و چرا. | «یک صفحهی رزرو تا مشتریهای جدید بتوانند جلسهی ۳۰ یا ۶۰ دقیقهای انتخاب کنند.» |
| زمینه بدهید | برای چه کسی است، چه چیزی از قبل وجود دارد، و چه چیزی مهم است. | «کاربران عمدتاً مشتریهای مسنتری هستند که با گوشی میآیند.» |
| «تمام» را تعریف کنید | نتیجهی نهایی را توصیف کنید. | «یعنی مشتری بتواند رزرو کند و من یک ایمیل بگیرم.» |
| محدودیت بگذارید | بگویید چه کاری نکند و چه حدی دارد. | «هنوز ورود نسازید. رنگهای فعلی را نگه دارید.» |
| نمونه نشان دهید | یک نمونه از خروجی خوب بدهید. | «پاسخ را به این سبک بنویس: …» |
| قالب بخواهید | بگویید خروجی چطور ساختاربندی شود. | «جواب را بهصورت جدول با ستونهای X، Y و Z بده.» |
| به مراحل تقسیمش کنید | کارهای بزرگ را یکییکی انجام دهید. | «اول مدل داده، بعد فرم، بعد ایمیلها.» |
| اول پرسیدن یا برنامهریزی | قبل از تغییرات، یک برنامه بگیرید. | «قبل از ساختن، سؤالهایت و یک برنامه را فهرست کن.» |
| تکرار و اصلاح | نتیجه را بررسی و بهتر کنید. | «فرم خوب کار میکند. حالا انتخابگر تاریخ را بزرگتر کن.» |
یک مثال کامل: قبل و بعد
قبل:
یک اپلیکیشن باشگاه ورزشی بساز.
هوش مصنوعی باید همهچیز را حدس بزند: اعضا یا کارکنان؟ کلاس گروهی یا تمرین شخصی؟ پرداخت؟ احتمالاً یک داشبورد عمومی با تمرینهای ساختگی میگیرید.
بعد:
یک اپلیکیشن وب برای یک باشگاه بوکس کوچک با حدود ۱۵۰ عضو بساز.
چه کسانی از آن استفاده میکنند: اعضا با گوشیشان کلاس رزرو میکنند. مالک، سم، برنامهی زمانی را با لپتاپ مدیریت میکند.
اعضا میتوانند: کلاسهای این هفته (زمان، مربی، جای خالی) را ببینند و تا ۲ ساعت قبل از شروع، رزرو یا لغو کنند.
سم میتواند: کلاس اضافه، ویرایش و لغو کند، و ببیند چه کسانی در هر کلاس ثبتنام کردهاند.
قوانین: حداکثر ۱۲ نفر در هر کلاس. یک نوبت را دو بار رزرو نکنید.
فعلاً نه: پرداخت، ثبت تمرین، اپلیکیشن موبایل.
سبک: پسزمینهی تیره، لهجهی قرمز، دکمههای بزرگ برای لمس.
قبل از ساختن، هر چیز نامشخص را فهرست کن و صفحاتی که میسازی را توصیف کن.
پرامپت دوم هوشمندانه نیست، کامل است. کاربران، کارها، قوانین، چیزهایی که باید کنار گذاشته شود و روش شروع را مشخص میکند. خط آخر از هوش مصنوعی میخواهد برنامه بدهد و سؤال بپرسد، که سوءتفاهمها را قبل از نوشته شدن هر کدی پیدا میکند.
پرامپتها داخل اپلیکیشن شما
وقتی خود اپلیکیشنتان یک LLM را صدا میزند، پرامپتهایی مینویسید که بارها و برای کاربران زیادی اجرا میشوند. همان اصول صدق میکند، بهعلاوه چند نکتهی بیشتر:
- پرامپت سیستمی: دستورهای ثابتی که به هر پاسخ شکل میدهند: نقش، لحن، قوانین. «تو دستیار گیاهفروشی Leaf & Pot هستی. فقط به سؤالهای مربوط به سفارش، گیاهان و ارسال جواب بده.»
- پایهگذاری روی واقعیت: اطلاعاتی را که مدل باید استفاده کند، مثل سیاستها یا کاتالوگ محصولات، در پرامپت بگذارید و به مدل بگویید به آنها تکیه کند. برای دانستن اینکه چرا این مهم است، LLM چیست را ببینید.
- پشتیبان: بگویید وقتی مطمئن نیست چه کند: «اگر پاسخ در اطلاعات دادهشده نیست، همین را بگو و ایمیل پشتیبانی را پیشنهاد کن.»
- قالب خروجی: اگر کدتان جواب را میخواند، یک قالب دقیق مثل JSON بخواهید.
- آزمایش: قبل از کاربران واقعی، ورودیهای عجیب را امتحان کنید: پیامهای بیادبانه، سؤالهای بیربط، و تلاش برای اینکه دستورهایش را نادیده بگیرد (که به آن تزریق پرامپت میگویند).
توضیح اصطلاحات کلیدی
| اصطلاح | معنی |
|---|---|
| پرامپت | ورودیای که به مدل هوش مصنوعی میدهید. |
| پرامپت سیستمی | دستورهای ثابتی که پیش از گفتگو تنظیم میشوند. |
| زمینه (Context) | اطلاعات پسزمینهای که در پرامپت گنجانده میشود. |
| بدون نمونه / با چند نمونه | پرسیدن بدون مثال، یا با چند نمونه از خروجی مطلوب. |
| زنجیرهی فکر | از مدل خواستن که قبل از پاسخ، گامبهگام مسئله را بررسی کند. |
| پایهگذاری (Grounding) | دادن منبع به مدل و گفتن اینکه پاسخها را بر پایهی آن بدهد. |
| تزریق پرامپت | متنی که تلاش میکند دستورهای مدل را لغو کند، مثل «دستورهای قبلی را نادیده بگیر». |
| پنجرهی زمینه (Context window) | مقدار متنی که مدل میتواند در یک بار درخواست در نظر بگیرد. |
| تکرار (Iteration) | بهتر کردن پرامپت بر اساس خروجیای که گرفتهاید. |
اشتباهها و برداشتهای غلط رایج
- دنبال کلمات جادویی گشتن. «تو یک متخصص درجهیک دنیا هستی» خیلی کمتر از گفتن دقیق آنچه لازم دارید اهمیت دارد.
- همهچیز را یکجا خواستن. درخواست ۲۰ ویژگی، ۲۰ ویژگیِ نیمهکاره میدهد. کارهای بزرگ را تکهتکه بسازید.
- توصیف راهحل بهجای مسئله. «یک جدول با سه ستون اضافه کن» کمتر مفید است از «سم باید ببیند هر کلاس چه کسانی ثبتنام کردهاند».
- نگفتن اینکه چه کاری نکند. اگر فعلاً ورود، پرداخت یا طراحی مجدد نمیخواهید، صریح بگویید.
- نخواندن نتیجه. آنچه ساخته شده را با تعریف «تمام» خودتان بسنجید، بعد جلو بروید.
- از نو شروع کردن بهجای اصلاح. معمولاً یک پیگیری کوتاه («نزدیک شد؛ X را عوض کن») از نوشتن دوبارهی کل پرامپت بهتر است.
- گذاشتن رمز یا کلید API زنده در پرامپت. رمزها یا کلیدهای زندهی API را در گفتگو نگذارید، مگر اینکه ابزار راهی امن برای نگهداری آنها داشته باشد.
از ابزار ساخت اپلیکیشنتان چه بخواهید
- «قبل از ساختن، هر سؤالی داری بپرس و برنامهات را نشانم بده.»
- «آنچه فکر میکنی میخواهم را در سه جمله تکرار کن.»
- «فقط فرم رزرو را عوض کن؛ به بقیه دست نزن.»
- «چه چیزهایی را فرض کردی که من مشخص نکرده بودم؟»
- «یادداشتهای من را به یک مشخصات کوتاه تبدیل کن، با کاربران، امکانات، قوانین و بخشهای «فعلاً نه».» برای نمونه، چطور با هوش مصنوعی سند نیازمندی محصول بنویسیم را ببینید.
- «بگو چطور میتوانستم آن درخواست را بهتر بیان کنم.»
پرامپتنویسی در Mythex
Mythex سه حالت گفتگو دارد که با این روش کار جور است: Plan برای توافق روی رویکرد قبل از هر تغییر، Build برای ساختن تغییرات، و Ask برای سؤالهایی که نباید فایلها را ویرایش کنند. میتوانید اسکرینشات یا ماکت را بهعنوان زمینه پیوست کنید، و اگر تغییری بد پیش برود، میتوانید به یک نقطهی بازگشت برگردید. صفحات مستندات دربارهٔ پرامپتهای مؤثر و تکرار و اصلاح نمونههای بیشتری دارند، و چطور روی اپلیکیشن ساختهشده با هوش مصنوعی تکرار و اصلاح کنیم حلقهی پیگیری را پوشش میدهد.
پرسشها
مهندسی پرامپت به زبان ساده چیست؟
مهندسی پرامپت یعنی نوشتن و بهبود دادن دستورهایی که به یک مدل هوش مصنوعی داده میشود تا نتیجهی موردنظر شما را بهصورت قابلاعتماد تولید کند. این کار شامل آنچه میخواهید، زمینهای که میدهید، نمونهها، محدودیتها و قالب خروجی موردنظر است.
آیا به ترفندهای خاص یا کلمات جادویی نیاز دارم؟
زیاد نه. مدلهای امروزی بهترین پاسخ را به دستورهای واضح، مشخص و منظم میدهند؛ همان چیزهایی که به یک همکار انسانی هم کمک میکند. زمینه، نمونه و توصیف روشن از نتیجهی نهایی خیلی مهمتر از عبارتهای خاص هستند.
پرامپت سیستمی چیست؟
پرامپت سیستمی مجموعهای از دستورهای ثابت است که پیش از شروع گفتگو به مدل داده میشود؛ مثل نقش، قوانین و لحن آن. اپلیکیشنها از آن برای شکل دادن به همهی پاسخها استفاده میکنند و پیامهای کاربر بعد از آن میآیند.
با هوشمندتر شدن هوش مصنوعی، هنوز به مهندسی پرامپت نیاز است؟
مدلهای بهتر به راهحلهای کمتری نیاز دارند، ولی هنوز ذهن شما را نمیخوانند. بیان هدف، مخاطب، محدودیتها و اینکه «کار تمام است» یعنی چه، همیشه نتیجه را بهتر میکند، چون مدل فقط با چیزی کار میکند که به او گفتهاید.