پرامپتهای کدنویسی
پرامپتهای آماده برای خواندن، عیبیابی، تست و مستندسازی کد؛ طراحیشده برای ارائه توضیحات گامبهگام در کنار خود کد.
پرامپتهای برنامهنویسی زیر کارهایی را پوشش میدهند که یک مدل چت بیشترین زمان را در آنها برای توسعهدهندگان صرفهجویی میکند: خواندن کدهای ناآشنا، پیدا کردن باگها، نوشتن تست، ریفکتور کردن، تبدیل کد بین زبانهای مختلف، ساخت کوئریهای SQL و عبارات منظم (Regex)، طراحی اندپوینتها و اسکیماها، نوشتن اسکریپت برای کارهای کوچک روزمره و نجات پیدا کردن از وضعیتهای پیچیده Git. همچنین پرامپتهایی برای مستندسازی، یادگیری مفاهیم با مثالهای بسیار کوتاه، و برنامهریزی برای پروژههای جانبی قرار داده شده است.
پاسخهای خوب به زمینه (Context) بستگی دارند. زبان، فریمورک و نسخه مورد استفاده را به مدل بگویید، کد مرتبط و متن دقیق خطا را جایگذاری کنید و توضیح دهید انتظار داشتید چه اتفاقی بیفتد. در کنار کد، درخواست توضیح کنید و پیش از نوشتن تستها، فهرستی از حالتهای خاص (Edge Cases) بخواهید تا بتوانید علاوه بر خروجی، منطق پشت آن را هم ارزیابی کنید. یکی از پرامپتها از قابلیت درک تصویر استفاده میکند: اسکرینشاتی از طرح یک صفحه را ضمیمه کنید تا Llama 4 Maverick یا Llama 4 Scout ساختار نشانهگذاری (HTML) و CSS آن را طراحی کنند.
احتیاطهای همیشگی را رعایت کنید. مدلها دارای محدودیت دانش زمانی هستند و نمیتوانند مستندات بهروز را بررسی کنند؛ بنابراین ممکن است گزینههای یک کتابخانه قدیمی یا ساختگی باشند. کدهای تولیدشده ممکن است درست به نظر برسند اما کار نکنند، پس حتماً آنها را اجرا و تست کنید. هرگز کلیدهای API، رمزهای عبور یا دادههای کاربران را ارسال نکنید؛ پیامهای شما برای تولید پاسخ از طریق سرور ما به یک ارائهدهنده پردازش هوش مصنوعی فرستاده میشوند. برای فایلهای بسیار بزرگ، تنها تابع یا ماژول اصلی را ارسال کنید، زیرا پیامهای طولانی کوتاه میشوند.
ببینید توسعهدهندگان چگونه از چت Llama استفاده میکنند یا به بخش Code Assistant بروید. برای ساخت برنامه اختصاصی خود با Llama، از صفحه API لاما شروع کنید.
چگونه این پرامپتها را شخصیسازی کنید
- مشخص کردن استک و نسخهها، به عنوان مثال «Python 3.12 با FastAPI».
- ارسال کوتاهترین کدی که مشکل را نشان میدهد، به همراه متن کامل خطا.
- ابتدا برنامه و نقشه راه را بخواهید برای کارهای بزرگتر، سپس وقتی طرح منطقی بود درخواست کد کنید.
- یک مدل دیگر را امتحان کنید اگر پاسخ دقیق نبود: Llama 3.3 70B گاهی نکاتی را متوجه میشود که سایر مدلها نادیده گرفتهاند.
-
01
بررسی خطبهخط این کد
این کد [زبان برنامهنویسی] را بخش به بخش بررسی کنید. برای هر قسمت بگویید چه کاری انجام میدهد و چرا ممکن است به این شکل نوشته شده باشد، سپس مواردی را که شبیه باگ یا خطری برای تغییرات آینده هستند مشخص کنید: [کد را جایگذاری کنید]
-
02
یافتن باگ خروجی اشتباه
این تابع [زبان برنامهنویسی] باید [رفتار مورد انتظار] را داشته باشد، اما با ورودی [ورودی نمونه]، مقدار [خروجی واقعی] را برمیگرداند. علت را پیدا کنید، در دو جمله توضیح دهید، و تابع تصحیحشده را با مشخص کردن خطوط تغییریافته نمایش دهید: [کد را جایگذاری کنید]
-
03
نوشتن تابع از روی مشخصات کوتاه
یک تابع [زبان برنامهنویسی] به نام [نام تابع] بنویسید که [عملکرد تابع]. ورودیها: [ورودیها و نوع دادهها]. خروجی: [خروجی]. این حالتهای مرزی (edge cases) را مدیریت کنید: [حالتهای مرزی]. یک داکاسترینگ (docstring) کوتاه و سه نمونه فراخوانی به همراه خروجی مورد انتظار اضافه کنید.
-
04
بازنویسی کد برای خوانایی بیشتر
این کد [زبان برنامهنویسی] را بدون تغییر در عملکرد آن بازنویسی (Refactor) کنید تا خوانایی و قابلیت تغییر آن بهتر شود. از نامگذاریهای گویاتر استفاده کنید، توابع طولانی را بشکنید و کدهای تکراری را حذف کنید. سپس هر تغییر و علت مفید بودن آن را فهرست کنید: [کد را جایگذاری کنید]
-
05
تبدیل کد به زبانی دیگر
این کد [زبان مبدا] را به صورت اصولی و خوانا (idiomatic) به [زبان مقصد] تبدیل کنید و در صورت امکان از کتابخانه استاندارد آن استفاده نمایید. عملکرد کد را دقیقاً یکسان نگه دارید و در بخشهایی که تفاوت ساختاری دارند (مانند تقسیم اعداد صحیح یا مقادیر null)، کامنت توضیحی بگذارید: [کد را جایگذاری کنید]
-
06
نوشتن SQL بر اساس ساختار جدول
این ساختار جدول (اسکیما) من در [پایگاه داده، مثلاً PostgreSQL] است: [دستورات CREATE TABLE را جایگذاری کنید]. یک کوئری بنویسید که [کاربرد مورد نیاز]. جوینها (Join) و فیلترهای استفادهشده را توضیح دهید و در صورت وجود، ایندکسی را معرفی کنید که سرعت اجرای آن را روی جدولهای بزرگ افزایش دهد.
-
07
ساخت و تحلیل رجکس (Regex)
من به یک عبارت باقاعده (regex) در [گویش، مثلاً JavaScript] نیاز دارم که با [موارد مورد نظر] مطابقت داشته باشد اما با [موارد مستثنی] مطابقت نداشته باشد. الگو را ارائه دهید، اجزای آن را مرحلهبهمرحله توضیح دهید و چند نمونه رشته با مشخص کردن وضعیت تطابق یا عدم تطابق فهرست کنید.
-
08
رمزگشایی پیام خطا
این خطا به زبان ساده به چه معناست؟ [خطا را جایگذاری کنید]. من از [زبان، فریمورک و نسخه] استفاده میکنم و این خطا هنگام [عملیات] رخ میدهد. علتهای رایج، اولین مواردی که باید بررسی شوند و یک نمونه کد کوچک برای بازتولید خطا را ذکر کنید.
-
09
افزودن کامنت و Docstring کاربردی
برای این کد [زبان]، داکاسترینگ (docstring) و کامنتهایی با فرمت [سبک، مثلاً Google یا JSDoc] بنویسید. در بخشهایی که روند کار واضح نیست علت را توضیح دهید، از نوشتن کامنتهای تکراری و بدیهی خودداری کنید و منطق کد را تغییر ندهید: [کد را جایگذاری کنید]
-
10
بررسی امنیتی قطعه کد
به عنوان یک بازبین امنیتی برای این قطعه کد [زبان] عمل کنید. مواردی مانند تزریق (injection)، دیسریالایز ناامن، ورودیهای بررسینشده، هشهای ضعیف و اطلاعات محرمانه هاردکدشده را ارزیابی کنید. به هر مورد سطح ریسک کم، متوسط یا زیاد اختصاص دهید، یک سناریوی حمله واقعی را شرح دهید و نسخه امنتر کد را ارائه دهید: [کد را جایگذاری کنید]
-
11
بهینهسازی و افزایش سرعت کد
این کد [زبان] در شرایط [حجم داده یا وضعیت] بیش از حد کند است: [کد را جایگذاری کنید]. مشخص کنید زمان در کدام بخش هدر میرود، پیچیدگی زمانی آن را بر حسب Big-O تخمین بزنید و راهکارهای سریعتر را با شروع از سادهترین تغییری که بیشترین بازدهی را دارد پیشنهاد دهید.
-
12
طراحی اندپوینتهای REST برای یک ویژگی
اندپوینتهای REST API را برای [ویژگی] در [نوع برنامه] من طراحی کنید. برای هر اندپوینت، متد، مسیر (path)، بدنه درخواست (body)، نمونه پاسخ، کدهای وضعیت (status codes) و سطح دسترسی را مشخص کنید. همچنین تصمیماتی را که هنوز باید اتخاذ کنم یادآوری کنید.
-
13
نوشتن اسکریپت برای خودکارسازی کارها
یک اسکریپت [Bash، PowerShell یا Python] بنویسید که [کار مورد نظر، مثلاً تغییر نام همه عکسهای یک پوشه بر اساس تاریخ ثبت]. این اسکریپت روی [سیستمعامل] اجرا میشود. یک گزینه اجرای آزمایشی (dry-run) اضافه کنید که فقط تغییرات احتمالی را چاپ کند، و نحوه اجرای آن را توضیح دهید.
-
14
حل مشکلات پیچیده در Git
در کار با Git با این وضعیت مواجه شدهام: [توضیح اقداماتی که انجام دادید و خروجی دستور git status]. میخواهم بدون از دست رفتن [بخشهایی از کار که باید حفظ شوند]، به [هدف] برسم. دستورات را گامبهگام ارائه دهید، عملکرد هر کدام را توضیح دهید و قبل از دستوراتی که قابل بازگشت نیستند هشدار دهید.
-
15
بازسازی ساختار صفحه از روی اسکرینشات
یک اسکرینشات از ساختار صفحهای که میپسندم ضمیمه کردهام. کدهای معنایی HTML و مدرن CSS بنویسید که ساختار آن را بازتولید کند: هدر، ستونها، فاصلهگذاریها و اندازه فونتها، با استفاده از [CSS خالص یا یک فریمورک]. از متنهای آزمایشی استفاده کنید و آن را برای گوشیهای هوشمند واکنشگرا (responsive) طراحی کنید.
-
16
نگارش فایل README بر اساس کد
بر اساس کدها و یادداشتهای زیر، یک فایل README برای این پروژه بنویسید. این فایل باید شامل توضیح یکخطی، مراحل نصب، نمونه استفاده، تنظیمات پیکربندی و نحوه اجرای تستها باشد. هر موردی را که حدس زدهاید با برچسب TODO مشخص کنید: [کد یا یادداشتها را جایگذاری کنید]
-
17
توضیح یک مفهوم با مثالی کوچک
مفهوم [مفهوم، مثلاً closures یا async/await] در [زبان] را برای فردی که با مفاهیم اولیه آشناست توضیح دهید. از یک مثال کوتاه و قابل اجرا استفاده کنید، خروجی آن را نشان دهید، سپس یک خط از آن را تغییر داده و توضیح دهید خروجی چه تغییری میکند.
-
18
طراحی اولیه اسکیمای پایگاه داده
یک اسکیمای پایگاه داده برای [برنامه یا ویژگی] پیشنهاد دهید که [موجودیتهای اصلی، مثلاً کاربران، سفارشها و محصولات] را ذخیره کند. جدولها را به همراه ستونها، انواع داده، کلیدها و روابط نشان دهید؛ سپس یک سبکسنگین کردن (trade-off) در طراحی خود و یک رویکرد جایگزین را توضیح دهید.
-
19
نوشتن تست برای کدهای موجود
برای این کد در [فریمورک، مثلاً pytest یا Jest] تست بنویسید. حالت عادی، مقادیر مرزی، ورودیهای نامعتبر و یک مورد خطا در وابستگیها (با استفاده از mock در صورت نیاز) را پوشش دهید. نام هر تست را بر اساس رفتاری که بررسی میکند مشخص کنید: [کد را جایگذاری کنید]
-
20
برنامهریزی گامبهگام یک پروژه کوچک
میخواهم [ایده پروژه] را با [زبان یا پشته فناوری] بسازم و حدود [ساعت] ساعت در هفته وقت دارم. آن را به فازهایی تقسیم کنید که بتوانم تکتک تکمیل کنم، نیازمندیهای یادگیری هر مرحله را ذکر کنید و یک ساختار پوشهبندی ساده برای شروع پیشنهاد دهید.
اولین سؤال خود را از Llama بپرسید
بدون نیاز به حساب کاربری یا نصب. چت را باز کنید، پیامی بنویسید و تواناییهای Llama را ببینید.
شروع چت با Llama