وقتی هوش مصنوعی جواب بیربط یا کلی میدهد، اولین واکنش این است که «این مدل به درد نمیخورد». ولی در بیشتر موارد، مدل دقیقاً به همان چیزی جواب داده که از آن پرسیده شده: یک سؤال مبهم.
پرامپتنویسی جادو نیست و به فرمولهای عجیب نیاز ندارد. همان کاری است که موقع نوشتن یک تیکت خوب برای همکارتان میکنید.
آزمون ساده: همکار تازهوارد#
قبل از فرستادن هر درخواست، این را از خودتان بپرسید:
اگر همین متن را به یک همکار باهوش بدهم که هیچچیز از پروژهی من نمیداند، میتواند کار را انجام دهد؟
اگر جواب «نه» است، مدل هم نمیتواند. مدل پروژهی شما را ندیده، نمیداند روی چه هاستی هستید، و نمیداند دیروز چه چیزهایی را امتحان کردهاید.
پنج بخش یک درخواست خوب#
۱. زمینه#
مدل باید بداند کجاست. برای کار فنی یعنی:
- نرمافزار و نسخهاش (وردپرس، لاراول، PHP)
- محیط اجرا (هاست اشتراکی، سرور مجازی، لوکال)
- هر محدودیتی که محیط دارد (دسترسی SSH نیست، فلان تابع بسته است)
۲. هدف#
نه فقط «چه کاری»، بلکه برای چه. «یک تابع بنویس که تاریخ را تبدیل کند» با «تاریخ میلادی دیتابیس را در قالب وردپرس به شمسی نشان بدهم و نمیخواهم افزونه نصب کنم» دو جواب کاملاً متفاوت میگیرد.
۳. داده#
پیام خطا، تکهی کد، خروجی دستور. عین متن، نه توصیف آن. «یک خطای دیتابیس میدهد» هیچ کمکی نمیکند؛ متن کامل خطا همهچیز را عوض میکند.
۴. محدودیت#
چیزهایی که نباید اتفاق بیفتد:
- «ساختار جدول را عوض نکن»
- «بدون کتابخانهی بیرونی»
- «باید با PHP 8.1 هم کار کند»
۵. شکل خروجی#
اگر نگویید، مدل خودش تصمیم میگیرد و معمولاً زیادی توضیح میدهد. بگویید چه میخواهید: فقط کد، کد با توضیح خطبهخط، فهرست قدمها، یا جدول مقایسه.
قبل و بعد#
قبل:
سایتم کنده چیکار کنم؟جوابی که میگیرید: فهرست بیستتایی از توصیههای کلی که در هر مقالهی سئو هست.
بعد:
زمینه: سایت وردپرسی فروشگاهی روی هاست اشتراکی سیپنل، PHP 8.2،
حدود ۴۰۰ محصول. افزونهی کش نصب نیست.
مشکل: صفحهی اصلی حدود ۴ ثانیه طول میکشد تا اولین بایت برسد (TTFB).
صفحهی تکمحصول سریع است.
داده: در Query Monitor صفحهی اصلی ۳۱۰ کوئری دارد و بیشترشان
از ابزارک «محصولات پرفروش» قالب میآید.
محدودیت: نمیتوانم هاست را عوض کنم و دسترسی SSH ندارم.
میخواهم: سه راهحل به ترتیب اثر، هر کدام با یک خط توضیح که
چرا جواب میدهد. کد فقط برای راهحل اول.این درخواست ده خط است و نوشتنش دو دقیقه طول میکشد. جوابش مستقیم سراغ کشکردن همان ابزارک میرود، نه «تصاویر را فشرده کنید».
سه الگوی پرکاربرد#
اول بپرس، بعد جواب بده#
وقتی خودتان هم مطمئن نیستید چه اطلاعاتی لازم است:
قبل از جواب دادن، هر سؤالی که برای جواب دقیق لازم داری از من بپرس.اول نقشه، بعد کد#
برای هر کاری که بیشتر از یک فایل را درگیر میکند:
اول فقط بگو چه فایلهایی را عوض میکنی و چرا. کد ننویس تا تأیید کنم.این یک قدم، جلوی بیشتر بازنویسیهای بیدلیل را میگیرد.
نمونه بده#
اگر خروجی باید شکل خاصی داشته باشد، یک نمونهی واقعی بدهید. یک نمونه از ده خط توضیح بهتر کار میکند.
اشتباههای رایج#
| اشتباه | چرا بد است | بهجایش |
|---|---|---|
| توصیف خطا بهجای متن خطا | مدل مجبور به حدس میشود | متن کامل را بچسبانید |
| چند کار در یک درخواست | هیچکدام کامل انجام نمیشود | هر کار یک درخواست |
| ادامهدادن گفتگوی خراب | اشتباههای قبلی در متن میمانند | گفتگوی تازه با خلاصه |
| نگفتن آنچه امتحان شده | همان راهحلها را دوباره میگیرید | بنویسید چه کردهاید و چه شد |
| چسباندن کلید و رمز | دادهی حساس بیرون میرود | با مقدار ساختگی جایگزین کنید |
دربارهی مورد آخر جدا نوشتهایم: چه چیزهایی را هرگز به هوش مصنوعی ندهیم.
قالب آماده#
این را نگه دارید و هر بار پر کنید:
زمینه: [نرمافزار و نسخه، محیط اجرا]
هدف: [چه میخواهم و برای چه]
داده: [متن خطا، کد، خروجی]
امتحان کردهام: [چه کاری و چه نتیجهای]
محدودیت: [چه چیزی نباید عوض شود]
خروجی: [فقط کد / قدمبهقدم / مقایسه]ادامهی این مسیر#
اگر این مطلب به کارتان آمد، این مقالهها همین موضوع را عمیقتر و کاربردیتر ادامه میدهند:
۳ از ۳ مقاله منتشر شده است
خلاصه#
- مدل پروژهی شما را نمیشناسد؛ زمینه را شما باید بدهید.
- عین خطا و کد را بدهید، نه توصیفشان را.
- محدودیت و شکل خروجی را صریح بگویید.
- برای کار بزرگ، اول نقشه بخواهید و بعد کد.
- وقتی گفتگو خراب شد، اصلاحش نکنید؛ از نو شروع کنید.