هنر پرامپت نویسی: راهنمای جامع
پرامپت نویسی هنر و علم نوشتن دستورات موثر برای مدلهای هوش مصنوعی است. با یادگیری تکنیکهای صحیح میتوانید نتایج شگفتانگیزی دریافت کنید.
پرامپت چیست؟
پرامپت (Prompt) ورودی متنی است که به یک مدل زبانی مانند ChatGPT یا Claude میدهید تا از آن پاسخ یا خروجی مورد نظر را دریافت کنید.
انواع پرامپت:
- پرامپت ساده: یک سوال یا دستور ساده
- پرامپت پیچیده: شامل context، مثالها و دستورالعملهای دقیق
- پرامپت زنجیرهای: ترکیب چند پرامپت برای نتیجه بهتر
- پرامپت شخصیسازی شده: تنظیم شده برای نیاز خاص
اصول اولیه پرامپت نویسی
1. واضح و مشخص باشید
❌ بد:
کد بنویس
✅ خوب:
یک تابع JavaScript بنویس که یک آرایه از اعداد را به عنوان ورودی بگیرد
و میانگین آنها را برگرداند. شامل مدیریت خطا برای آرایه خالی باشد.
2. زمینه (Context) فراهم کنید
❌ بد:
این کد را بهینه کن
✅ خوب:
من یک تابع React دارم که لیست محصولات را نمایش میدهد.
این تابع در حال حاضر کند است چون برای هر محصول یک درخواست API میزند.
آیا میتوانی راهکاری برای بهینهسازی آن پیشنهاد دهی؟
کد فعلی:
[کد شما]
3. از مثال استفاده کنید (Few-Shot Learning)
من میخواهم نام محصولات را به فرمت خاصی تبدیل کنی.
مثالها:
ورودی: "apple iphone 14"
خروجی: "Apple iPhone 14"
ورودی: "samsung galaxy s23"
خروجی: "Samsung Galaxy S23"
حالا این را تبدیل کن:
ورودی: "google pixel 8 pro"
تکنیکهای پیشرفته
1. Role Playing (نقشآفرینی)
تو یک توسعهدهنده ارشد React با 10 سال تجربه هستی.
من یک برنامهنویس مبتدی هستم که میخواهد hooks را یاد بگیرد.
لطفاً به زبان ساده توضیح بده که useState چگونه کار میکند
و یک مثال عملی از کاربرد آن در یک فرم ارائه بده.
2. Chain of Thought (زنجیره تفکر)
من یک مسئله الگوریتمی دارم و میخواهم قدم به قدم حل شود:
مسئله: پیدا کردن طولانیترین زیررشته بدون تکرار حروف
لطفاً:
1. ابتدا مسئله را تحلیل کن
2. رویکرد حل را توضیح بده
3. الگوریتم را گام به گام شرح بده
4. کد نهایی را بنویس
5. تحلیل پیچیدگی زمانی و فضایی انجام بده
3. Self-Consistency (خود-سازگاری)
سوال: بهترین راه برای مدیریت state در یک اپلیکیشن React چیست؟
لطفاً این سوال را از سه دیدگاه مختلف پاسخ بده:
1. برای پروژههای کوچک
2. برای پروژههای متوسط
3. برای پروژههای بزرگ و پیچیده
سپس مقایسهای بین روشها ارائه بده.
پرامپتهای کاربردی برای برنامهنویسان
1. رفع باگ
من این خطا را در کد خود دارم:
[خطا]
کد مربوطه:
[کد]
لطفاً:
1. علت احتمالی خطا را شناسایی کن
2. راهحلهای ممکن را پیشنهاد بده
3. کد اصلاح شده را ارائه بده
4. نکاتی برای جلوگیری از خطاهای مشابه در آینده بده
2. بهینهسازی کد
این تابع را بررسی و بهینه کن:
[کد]
معیارهای بهینهسازی:
- عملکرد (Performance)
- خوانایی (Readability)
- قابلیت نگهداری (Maintainability)
- رعایت Best Practices
برای هر تغییر توضیح بده که چرا آن را اعمال کردی.
3. نوشتن تست
برای این کلاس/تابع تستهای جامع بنویس:
[کد]
تستها باید شامل:
- Happy path (مسیر موفقیت)
- Edge cases (حالتهای لبه)
- Error handling (مدیریت خطا)
- Performance tests (تست عملکرد) اگر لازم باشد
از Jest و React Testing Library استفاده کن.
4. ریفکتورینگ
این کد legacy را ریفکتور کن:
[کد قدیمی]
الزامات:
- استفاده از ES6+ features
- تبدیل به functional components
- اضافه کردن TypeScript types
- بهبود نامگذاری متغیرها
- اضافه کردن کامنتهای مفید
همچنین توضیح بده که چه تغییراتی دادهای و چرا.
پرامپتهای خلاقانه
1. تولید ایده
من میخواهم یک side project بسازم.
زمینههای مورد علاقه من:
- React و Next.js
- Machine Learning
- Data Visualization
ده ایده برای پروژه پیشنهاد بده که:
1. منحصر به فرد باشند
2. در عرض 2-3 هفته قابل پیادهسازی باشند
3. به پورتفولیو من ارزش اضافه کنند
4. فناوریهای جدید را یاد بدهند
برای هر ایده موارد زیر را ذکر کن:
- توضیح مختصر
- فناوریهای پیشنهادی
- چالشهای احتمالی
2. طراحی معماری
میخواهم یک اپلیکیشن real-time chat بسازم.
ویژگیهای مورد نیاز:
- ارسال پیام متنی و فایل
- اتاقهای چت خصوصی و عمومی
- نوتیفیکیشن
- جستجو در تاریخچه
- حداکثر 10000 کاربر همزمان
لطفاً:
1. معماری کلی سیستم را طراحی کن
2. فناوریهای پیشنهادی برای frontend و backend
3. استراتژی scaling را توضیح بده
4. نکات امنیتی مهم را ذکر کن
5. یک نمودار ساده از معماری ارائه بده
پرامپتهای تخصصی
برای طراحی UI/UX
من میخواهم صفحه landing page برای یک اپلیکیشن یادگیری زبان طراحی کنم.
مخاطب هدف: دانشجویان و جوانان ۱۸-۳۰ ساله
لطفاً موارد زیر را ارائه بده:
1. ساختار کلی صفحه (sections)
2. رنگبندی پیشنهادی (color palette)
3. متنهای کلیدی (headlines و CTAs)
4. المانهای بصری مورد نیاز
5. کد HTML/CSS ساده برای یکی از بخشها
برای DevOps
میخواهم یک پروژه Node.js را روی AWS دیپلوی کنم.
مشخصات پروژه:
- Next.js application
- PostgreSQL database
- Redis برای caching
- تصویر Docker
لطفاً:
1. معماری AWS مناسب را پیشنهاد بده
2. یک Dockerfile بنویس
3. docker-compose.yml برای development
4. راهنمای گام به گام deployment
5. تنظیمات CI/CD با GitHub Actions
اشتباهات رایج در پرامپت نویسی
❌ اشتباه 1: خیلی مبهم بودن
برنامه بنویس
✅ درست:
یک اپلیکیشن To-Do List با React بنویس که شامل
قابلیتهای اضافه، حذف، ویرایش و تیک زدن تسکها باشد.
از localStorage برای ذخیرهسازی استفاده کن.
❌ اشتباه 2: بدون context
این چیه؟
[کد]
✅ درست:
من این کد را در یک پروژه React Native دیدم و متوجه نشدم چکار میکند.
به نظر میاد مربوط به navigation است. میتونی توضیح بدی؟
[کد]
❌ اشتباه 3: چند سوال یکجا بدون ساختار
چطور React یاد بگیرم و بهترین منابع چیه و چقدر طول میکشه
و بعدش چی یاد بگیرم و آیا باید TypeScript یاد بگیرم؟
✅ درست:
میخواهم React را از صفر یاد بگیرم.
سوالات من:
1. بهترین منابع یادگیری (کتاب، دوره، مستندات) چیست؟
2. معمولاً یادگیری React تا چه سطحی زمان میبرد؟
3. بعد از React چه چیزی را پیشنهاد میکنی؟
4. آیا باید TypeScript را همزمان یاد بگیرم یا بعد؟
لطفاً به ترتیب اولویت پاسخ بده.
نکات طلایی
1. استفاده از Delimiters
من سه بخش متن دارم که میخواهم تحلیل کنی:
###متن اول###
[متن 1]
###متن دوم###
[متن 2]
###متن سوم###
[متن 3]
لطفاً برای هر کدام احساسات (مثبت/منفی/خنثی) را مشخص کن.
2. تعیین طول خروجی
لطفاً توضیح مختصری (حداکثر 3 جمله) از React Hooks بده.
یا:
یک مقاله جامع (حدود 1000 کلمه) در مورد microservices بنویس.
3. تعیین فرمت خروجی
لیست 10 کتابخانه محبوب JavaScript را به فرمت JSON ارائه بده:
{
"name": "نام کتابخانه",
"purpose": "کاربرد",
"github_stars": عدد
}
4. درخواست توضیح گام به گام
این الگوریتم sorting را قدم به قدم توضیح بده و برای هر مرحله
یک مثال عددی ارائه کن تا بهتر بفهمم.
ابزارها و منابع
پلتفرمهای تمرین پرامپت نویسی:
- PromptBase: بازار خرید و فروش پرامپت
- ShareGPT: اشتراکگذاری و کشف پرامپتها
- FlowGPT: کامیونیتی پرامپت نویسان
منابع یادگیری:
- Learn Prompting: دوره رایگان آنلاین
- Prompt Engineering Guide: راهنمای جامع
- مستندات OpenAI: بهترین تمرینها
نتیجهگیری
پرامپت نویسی مهارتی است که با تمرین بهبود مییابد. با رعایت اصول ذکر شده و آزمایش رویکردهای مختلف، میتوانید نتایج شگفتانگیزی از مدلهای هوش مصنوعی دریافت کنید.
کلید موفقیت در پرامپت نویسی:
- واضح بودن: دقیقاً بگویید چه میخواهید
- Context دادن: زمینه و اطلاعات لازم را فراهم کنید
- مثال زدن: نمونههایی از خروجی مورد نظر ارائه دهید
- تکرار: پرامپت را بهبود دهید تا نتیجه بهتری بگیرید
با تسلط بر هنر پرامپت نویسی، هوش مصنوعی میتواند به دستیار قدرتمندی برای شما تبدیل شود.