هوش مصنوعی میتواند سرعت یادگیری و حل مسئله یک برنامهنویس را بیشتر کند؛ اما فقط زمانی که سؤال خوبی از آن بپرسیم. اگر درخواست ما مبهم باشد، معمولاً پاسخی عمومی، طولانی یا حتی نامرتبط میگیریم. یک پرامپت برنامه نویسی خوب باید هدف، زمینه، محدودیت و شکل خروجی مورد انتظار را روشن کند.
در این راهنما 20 پرامپت کاربردی و قابل شخصیسازی را میبینید که برای تحلیل مسئله، یادگیری مفاهیم، دیباگ، تست، Code Review، امنیت ASP.NET Core و بهبود Queryهای EF Core طراحی شدهاند. هدف این پرامپتها دریافت کد آماده نیست؛ هدف این است که هوش مصنوعی مانند یک منتور کنار شما قرار بگیرد و مسیر فکرکردن را کوتاهتر و دقیقتر کند.
قبل از استفاده از پرامپتها این چهار نکته را رعایت کنید
- اطلاعات داخل کروشه را جایگزین کنید: عبارتهایی مانند
[صورت مسئله]یا[کد]محل قرارگرفتن اطلاعات واقعی شما هستند. - زمینه کافی بدهید: زبان، فریمورک، نسخه، هدف قابلیت و متن کامل خطا را بنویسید.
- اطلاعات محرمانه نفرستید: رمز عبور، کلید API، Connection String، اطلاعات مشتری و داده واقعی را حذف یا ناشناس کنید.
- پاسخ را تست کنید: پیشنهاد هوش مصنوعی ممکن است ناقص یا نامتناسب با معماری پروژه باشد؛ آن را در محیط امن بررسی و با مستندات رسمی مقایسه کنید.
اگر هنوز پروژه تمرینی مناسبی ندارید، مقاله ساخت نمونه کار برنامه نویسی و گرفتن اولین پروژه به شما کمک میکند یک سناریوی واقعی برای تمرین این پرامپتها انتخاب کنید.
پرامپتهای تحلیل مسئله و فکرکردن قبل از کدنویسی
1. تحلیل مسئله قبل از کدنویسی
این پرامپت زمانی مفید است که میخواهید قبل از بازکردن ویرایشگر، مسئله را به اجزای قابل مدیریت تقسیم کنید.
پرامپت آماده:
این مسئله را مثل یک منتور برنامهنویسی تحلیل کن. فعلاً هیچ کدی ننویس. ابتدا ورودیها، خروجیها، محدودیتها و حالتهای خاص را مشخص کن و سپس راهحل را به مراحل کوچک تقسیم کن:
[صورت مسئله]
2. روشنکردن صورت مسئله مبهم
وقتی خودتان هم هنوز از جزئیات محصول مطمئن نیستید، بهتر است هوش مصنوعی ابتدا نقش تحلیلگر نیازمندی را داشته باشد.
پرامپت آماده:
قبل از ارائه هر راهحلی، حداکثر 5 سؤال مهم از من بپرس تا نیازها و بخشهای مبهم این مسئله مشخص شوند. بعد از پاسخ من، مراحل اجرای پروژه را پیشنهاد بده، اما کد کامل ننویس:
[توضیحات پروژه]
3. گرفتن Hint بهجای جواب کامل
برای یادگیری واقعی، بهتر است راهحل را خودتان بسازید و فقط در نقطهای که گیر کردهاید راهنمایی کوتاه بگیرید.
پرامپت آماده:
جواب کامل و کد نهایی را نگو. فقط برای قدم بعدی یک Hint کوتاه بده تا خودم ادامه بدهم. بعد از اینکه نتیجه تلاشم را فرستادم، Hint بعدی را ارائه کن:
[صورت مسئله یا کد فعلی]
4. بررسی راهحل اولیه خودم
این الگو کمک میکند مالکیت راهحل همچنان با شما بماند و هوش مصنوعی فقط نقاط کور آن را پیدا کند.
پرامپت آماده:
این راهحل اولیه را خودم طراحی کردهام. آن را بررسی کن و فقط بگو کدام قسمتهای منطق من اشتباه، ناقص یا پرریسک هستند. کد جایگزین کامل ارائه نده و برای اصلاح هر مورد یک راهنمایی کوتاه بده:
[راهحل یا کد من]
پرامپتهای یادگیری مفاهیم برنامه نویسی
5. توضیح ساده یک مفهوم
یک مفهوم جدید را از مثال روزمره به کد کوچک و سپس به ارزیابی یادگیری تبدیل کنید.
پرامپت آماده:
مفهوم[نام مبحث]را ابتدا با یک مثال ساده از دنیای واقعی توضیح بده، سپس یک نمونه کوچک با C# نشان بده. در پایان سه سؤال از من بپرس تا مطمئن شوی مفهوم را فهمیدهام.
6. مقایسه دو مفهوم مشابه
برای موضوعهایی مانند Interface و Abstract Class یا Authentication و Authorization، مقایسه ساختاریافته از یک تعریف طولانی مفیدتر است.
پرامپت آماده:
تفاوت[مفهوم اول]و[مفهوم دوم]را با یک جدول ساده توضیح بده. برای هرکدام بگو چه زمانی باید استفاده شود، چه زمانی نباید استفاده شود و یک مثال کوتاه با C# ارائه کن.
7. توضیح خطبهخط کد
بهجای درخواست بازنویسی، ابتدا مسئولیت هر بخش را بفهمید و بعد خودتان تغییرات پیشنهادی را اعمال کنید.
پرامپت آماده:
این کد را خطبهخط توضیح بده و مشخص کن هر بخش چه مسئولیتی دارد. سپس سه تغییر پیشنهادی مطرح کن که خودم روی کد انجام بدهم. نسخه کامل بازنویسیشده را ارائه نکن:
[کد]
8. تشخیص میزان یادگیری
این پرامپت هوش مصنوعی را از حالت سخنران خارج میکند و به یک ارزیاب مرحلهای تبدیل میکند.
پرامپت آماده:
از مبحث[نام مبحث]پنج سؤال مرحلهای از ساده تا دشوار از من بپرس. سؤالها را یکییکی مطرح کن و تا زمانی که پاسخ ندادهام، جواب را نمایش نده. بعد از هر پاسخ، فقط بازخورد و Hint بده.
پرامپتهای دیباگ و پیدا کردن خطا
9. پیدا کردن دلیل Error
متن کامل Exception، Stack Trace مرتبط، ورودی ایجادکننده خطا و بخشی از کد را ارسال کنید؛ اما دادههای حساس را حذف کنید.
پرامپت آماده:
این خطا و کد من است. ابتدا دلیل احتمالی خطا را به زبان ساده توضیح بده، سپس بگو برای پیدا کردن محل دقیق آن چه مواردی را بررسی کنم. فعلاً کد کامل اصلاحشده را ننویس:
Error:[متن خطا]
Code:[کد]
10. دیباگ به روش سؤال و جواب
این روش برای خطاهای چندعلتی مناسب است؛ چون با هر پاسخ شما، دامنه احتمالات کوچکتر میشود.
پرامپت آماده:
نقش یک منتور Debugging را داشته باش. بهجای اینکه مستقیم مشکل را حل کنی، با سؤالهای کوتاه کمکم کن خودم دلیل خطا را پیدا کنم. هر بار فقط یک سؤال بپرس:
[توضیح مشکل و کد]
11. ساخت نمونه کوچک از مشکل
یک نمونه کوچک یا Minimal Reproduction کمک میکند بفهمید خطا از منطق اصلی، زیرساخت، داده یا وابستگی خارجی ناشی میشود.
پرامپت آماده:
کمکم کن این مشکل را به یک نمونه کوچک و قابل آزمایش تبدیل کنم. مشخص کن کدام بخشهای اضافی کد را موقتاً حذف کنم و چه ورودیهایی را تست کنم. کد نهایی را خودت کامل ننویس:
[کد یا توضیح مشکل]
پرامپتهای تست، Code Review و بهبود کیفیت
12. ساخت Test Case و Edge Case
قبل از نوشتن تست، سناریوهای عادی و مرزی را فهرست کنید تا پوشش تست فقط به مسیر موفق محدود نماند.
پرامپت آماده:
برای این متد یا قابلیت، حداقل 8 Test Case پیشنهاد بده؛ شامل حالت عادی، ورودی نامعتبر، مقدار خالی، حداقل و حداکثر مقدار و Edge Caseها. نتیجه مورد انتظار هر تست را هم مشخص کن:
[کد یا توضیح قابلیت]
13. Code Review حرفهای
از مدل بخواهید مشکلات را اولویتبندی کند تا اصلاح یک نکته ظاهری، شما را از یک ریسک امنیتی یا منطقی مهم غافل نکند.
پرامپت آماده:
این کد را از نظر منطق، خوانایی، نامگذاری، امنیت، Performance و قابلیت نگهداری بررسی کن. مشکلات را بر اساس اهمیت دستهبندی کن. ابتدا فقط ایرادها و پیشنهادها را بگو و کل کد را بازنویسی نکن:
[کد]
14. بهبود کد بدون بازنویسی کامل
برای کدی که در محیط واقعی کار میکند، تغییرات کوچک و کمریسک معمولاً از بازنویسی بزرگ ارزشمندترند.
پرامپت آماده:
این کد کار میکند، اما میخواهم حرفهایتر شود. فقط سه اصلاح مهم و کمریسک پیشنهاد بده و توضیح بده چرا هر اصلاح لازم است. اجازه بده تغییرات را خودم اعمال کنم:
[کد]
پرامپتهای تخصصی ASP.NET Core و EF Core
15. بررسی امنیت کد ASP.NET
در بررسی امنیت، Controller بهتنهایی کافی نیست. در صورت نیاز ViewModel، Service، View، Policyهای دسترسی و تنظیمات مرتبط را هم با حذف اطلاعات محرمانه ارائه کنید.
پرامپت آماده:
این بخش از پروژه ASP.NET را از نظر امنیت بررسی کن. مواردی مثل Validation، Authentication، Authorization، SQL Injection، XSS، CSRF، افشای اطلاعات و مدیریت خطا را بررسی کن. ابتدا فقط ریسکها و روش اصلاح را توضیح بده:
[کد Controller، Service یا View]
برای درک مسیر کامل ساخت یک برنامه وب، راهنمای آموزش ASP.NET Core پروژهمحور را نیز ببینید.
16. بررسی Performance در EF Core
علاوه بر Query، شکل Entityها، تعداد رکورد تقریبی و نوع خروجی صفحه را توضیح بدهید تا پیشنهاد Performance واقعبینانه باشد.
پرامپت آماده:
این کد EF Core را از نظر تعداد Queryها، استفاده از Include، Tracking، Pagination، Projection و احتمال N+1 بررسی کن. مشکلات را توضیح بده و راهنمایی مرحلهای برای بهبود ارائه کن؛ کل کد را یکجا بازنویسی نکن:
[کد Query]
پرامپتهای طراحی پروژه و آمادگی بازار کار
17. تبدیل ایده به پروژه مرحلهای
ایدههای بزرگ وقتی به فازهای قابل نمایش تقسیم شوند، هم یادگیری را آسانتر میکنند و هم زودتر به نمونهکار تبدیل میشوند.
پرامپت آماده:
این ایده پروژه را به فازهای کوچک و قابل اجرا تقسیم کن. برای هر فاز، قابلیتها، Entityهای احتمالی، تمرینهای لازم و خروجی قابلنمایش را مشخص کن. پروژه را طوری مرحلهبندی کن که برای سطح[مبتدی/متوسط]مناسب باشد:
[ایده پروژه]
18. طراحی دیتابیس با راهنمایی مرحلهای
در این روش ابتدا شما مدل اولیه را میسازید و بعد بازخورد میگیرید؛ بنابراین ارتباطها و دلیل تصمیمها را بهتر یاد میگیرید.
پرامپت آماده:
برای پروژه[نام پروژه]ابتدا Entityهای احتمالی و ارتباط بین آنها را پیشنهاد بده. سپس از من بخواه خودم مدل اولیه دیتابیس را طراحی کنم. بعد از ارسال طراحی من، آن را بررسی کن و ایرادها را توضیح بده؛ از ابتدا جواب نهایی را ارائه نکن.
19. تمرین مصاحبه برنامه نویسی
پاسخهای خود را مانند مصاحبه واقعی کوتاه و شفاف بیان کنید و بعد از بازخورد، پاسخ بهتر را با زبان خودتان دوباره بسازید.
پرامپت آماده:
نقش مصاحبهکننده یک موقعیت Junior C# و ASP.NET را داشته باش. سؤالها را یکییکی بپرس و بعد از هر جواب، نقاط قوت، ایرادها و پاسخ بهتر را توضیح بده. سطح سؤال بعدی را بر اساس پاسخ من تنظیم کن.
20. بازسازی بدون کمک هوش مصنوعی
این مرحله مشخص میکند آیا واقعاً مفهوم را یاد گرفتهاید یا فقط راهحل قبلی را دنبال کردهاید.
پرامپت آماده:
از روی این کد یا مبحث، یک تمرین مشابه اما با سناریوی متفاوت طراحی کن. پاسخ و کد نهایی را نده. معیارهای ارزیابی را مشخص کن و بعد از اینکه راهحل خودم را فرستادم، آن را بررسی و امتیازدهی کن:
[کد یا مبحث موردنظر]
چطور یک پرامپت برنامه نویسی بهتر بسازیم؟
اگر پرامپت آماده دقیقاً با نیاز شما هماهنگ نبود، آن را با این پنج جزء بازسازی کنید:
- نقش: مشخص کنید مدل منتور، بازبین کد، مصاحبهکننده یا تحلیلگر باشد.
- زمینه: فناوری، سطح تجربه، معماری پروژه و وضعیت فعلی را توضیح دهید.
- هدف: دقیقاً بگویید در پایان چه چیزی میخواهید بفهمید یا بسازید.
- محدودیت: مثلاً «کد کامل ننویس»، «هر بار یک سؤال بپرس» یا «فقط سه پیشنهاد کمریسک بده».
- فرمت خروجی: جدول، چکلیست، مراحل کوتاه، Hint یا فهرست اولویتبندیشده را مشخص کنید.
اشتباههای رایج هنگام استفاده از هوش مصنوعی برای برنامه نویسی
- کپیکردن کد بدون فهمیدن علت کارکرد آن
- ارسال بخشی از خطا بدون Stack Trace و شرایط بازتولید
- ندادن نسخه زبان، فریمورک یا پایگاه داده
- پذیرفتن پیشنهاد امنیتی یا معماری بدون بررسی مستندات رسمی
- تغییر همزمان چند بخش پروژه بدون تست مرحلهای
- ارسال اطلاعات محرمانه، داده واقعی کاربر یا دسترسی محیط Production
فرمول پیشنهادی استفاده از AI در مسیر یادگیری
فکر کن ← تلاش کن ← Hint بگیر ← اصلاح کن ← تست کن ← بدون AI دوباره بساز
هوش مصنوعی باید سرعت یادگیری شما را بیشتر کند، نه اینکه بهجای شما فکر کند. اگر بتوانید بعد از دریافت راهنمایی، همان مفهوم را در مسئلهای تازه و بدون کمک بازسازی کنید، یعنی از ابزار درست استفاده کردهاید.
برای تبدیل این تمرینها به مهارت واقعی، یکی از دورههای پروژهمحور آکادمی گلجام را انتخاب کنید و هر پرامپت را روی کد و پروژهای که خودتان میسازید اجرا کنید.