آیا ChatGPT میتواند جایگزین برنامهنویسان شود؟ کد نویسی با ChatGPT در چه زبانهای برنامهنویسی ممکن است؟ در این مطلب از سایت نقطه قصد داریم به این سوالات و سایر پرسشهای شما درباره کدنویسی توسط هوش مصنوعی تولیدی پاسخ میدهیم.
از ChatGPT میتوان برای نوشتن رزومهها، فرمولهای اکسل، مقالات و مقدمه نامهها یا مدارک استفاده کرد. همچنین میتوانید از ChatGPT برای نوشتن کد به عنوان بخشی از تمرین روزانه کدنویسی یا کمک به برنامه نویسی استفاده کنید. ChatGPT میتواند هم کد مفید و هم کد غیرقابل استفاده تولید کند. برای دست یافتن به بهترین نتیجه، دستورالعملهای واضح و مفصل ارائه دهید. ChatGPT در کمک به انجام وظایف یا روالهای کدنویسی خاص برجستهتر است، تا اینکه بتواند از ابتدا برنامههای کاملی بسازد.
از ChatGPT برای یافتن و انتخاب کتابخانههای کدنویسی مناسب برای اهداف خاص استفاده کنید و در گفتگوی تعاملی با این هوش مصنوعی، برای محدود کردن گزینهها شرکت نمایید. در مورد مالکیت کدهای تولید شده توسط هوش مصنوعی احتیاط کنید و همیشه صحت کد را بررسی کنید. به خروجی تولید شده به صورت کورکورانه اعتماد نکنید.
تعاملات خود با ChatGPT را به عنوان یک گفتگو در نظر بگیرید. سوالات خود را بر اساس پاسخهای هوش مصنوعی تصحیح کنید تا به خروجی مطلوب نزدیکتر شوید. حالا، بیایید به طور عمیقتری، کد نویسی با ChatGPT را بررسی کنیم.
بیشتر بخوانید:
چت جی پی تی چیست و چه کاربردهایی دارد؟ همه چیز درباره ChatGPT
معرفی چت جی پی تی فارسی – ChatGPT Farsi؛ همراه با مثال های کاربردی
چگونه از ChatGPT برای کسب درآمد استفاده کنیم؟
۱۵۰ پرامپت ChatGPT برای کارهای مختلف؛ همراه با مثالهای فارسی
کد نویسی با ChatGPT در چه مواقعی عملکرد خوبی دارد؟
دو حقیقت مهم در مورد ChatGPT و کدنویسی وجود دارد. اول اینکه، این هوش مصنوعی واقعاً میتواند کد مفید بنویسد.
دوم اینکه، ممکن است کاملاً گم شود، به درون چاهی بیفتد، دنبال دم خود بدود و زبالههای غیرقابل استفاده تولید کند!
اگر از ChatGPT بخواهید یک برنامه کامل را از ابتدا تا انتها نوشته و به شما تحویل دهد، موفق نخواهد شد. در نتیجه اگر در مورد کدنویسی چیزی نمیدانید و از ChatGPT بخواهید چیزی برایتان بسازد، احتمالا به نتیحه دلخواه نمیرسید. جایی که ChatGPT به خوبی موفق میشود، در کمک به کسانی است که پیشتر مهارت برنامهنویسی دارند تا روتینهای خاصی را بسازند و وظایف مشخصی را انجام دهند. نباید از آن بخواهید که یک اپلیکیشن که روی نوار منو اجرا شود را بسازد. اما اگر از ChatGPT بخواهید که یک روتین برای قرار دادن منو روی نوار منو بنویسد و آن را در پروژهتان بچسبانید، این ابزار بسیار خوب عمل خواهد کرد.
“ChatGPT با وجود دانش گستردهاش، فاقد درک عمیق و تجربه انسانی است. این ابزار میتواند کد بنویسد، اما در خلق کدهای بسیار پیچیده یا ظریف که نیازمند سالها تجربه هستند، ناتوان است. از ChatGPT برای یادگیری تکنیکهای جدید، نوشتن قطعات کوچک کد یا الگوریتمها و تقسیم پروژههای بزرگ به بخشهای کوچکتر استفاده کنید. سپس از آن بخواهید تا در برنامهنویسی هر بخش به شما کمک کند.
مزایای کد نویسی با ChatGPT
ChatGPT به عنوان یک مدل زبانی بزرگ، ابزار قدرتمندی برای برنامهنویسان است و مزایای بسیاری را به همراه دارد. در اینجا به چند مورد از مهمترین مزایای آن اشاره میکنیم:
- کمک در نوشتن کد:
- تولید کد: ChatGPT میتواند قطعات کد را بر اساس توضیحات شما تولید کند. این کار به خصوص برای کدهای تکراری یا الگوریتمهای ساده بسیار مفید است.
- تکمیل کد: با وارد کردن بخشی از کد، ChatGPT میتواند بقیه آن را تکمیل کند و به شما در نوشتن سریعتر و دقیقتر کمک کند.
- رفع خطا: ChatGPT میتواند به شما در پیدا کردن و رفع خطاهای موجود در کدتان کمک کند.
- یادگیری زبانهای برنامهنویسی جدید:
- آموزش مفاهیم: ChatGPT میتواند مفاهیم پیچیده برنامهنویسی را به زبان ساده توضیح دهد و به شما در درک بهتر آنها کمک کند.
- مثالهای عملی: با استفاده از کد نویسی با ChatGPT میتوانید مثالهای عملی زیادی از کدهای مختلف را امتحان کنیدتا به شما در یادگیری بهتر کمک کند.
- بهبود کیفیت کد نویسی:
- پیشنهادهای بهبود: ChatGPT میتواند پیشنهاداتی برای بهبود کیفیت و کارایی کد شما ارائه دهد.
- تبدیل کد: ChatGPT میتواند کد را از یک زبان برنامهنویسی به زبان دیگری تبدیل کند.
- صرفه جویی در زمان:
- جستجوی سریع: ChatGPT میتواند به سرعت به سوالات شما در مورد برنامهنویسی پاسخ دهد و شما را از جستجوی طولانی در اینترنت بینیاز کند.
- خودکارسازی وظایف تکراری: ChatGPT میتواند برخی از وظایف تکراری مانند ایجاد اسناد یا تستهای واحد را خودکار کند.
- افزایش خلاقیت:
- ایدههای جدید: ChatGPT میتواند به شما در تولید ایدههای جدید برای پروژههای برنامهنویسی کمک کند.
- رویکردهای متفاوت: ChatGPT میتواند رویکردهای مختلفی را برای حل یک مشکل ارائه دهد.
به طور خلاصه، ChatGPT میتواند به عنوان یک دستیار هوشمند در کنار برنامهنویسان عمل کرده و به آنها در بهبود بهرهوری، کیفیت کد و یادگیری کمک کند.
توجه: با وجود تمام مزایایی که ChatGPT ارائه میدهد، همچنان نیاز به بررسی و اصلاح کدهای تولید شده توسط آن وجود دارد. ChatGPT یک ابزار قدرتمند است اما جایگزین کامل برای برنامهنویسان نیست.
چگونگی کد نویسی با ChatGPT
درخواست خود را محدود و دقیق کنید
اولین قدم این است که تصمیم بگیرید چه چیزی از ChatGPT میخواهید بپرسید. مشخص کنید که میخواهید تابع یا روال شما چه کاری انجام دهد، یا درباره چه چیزی میخواهید یاد بگیرید تا آن را در کد خود بگنجانید. پارامترهایی که قصد دارید در کد خود وارد کنید و آنچه میخواهید دریافت کنید را مشخص کنید. سپس به نحوه توصیف آن فکر کنید.
تصور کنید که به یک برنامهنویس پول میدهید تا این کار را انجام دهد. آیا اطلاعات کافی به او میدهید تا بتواند روی وظیفهی شما کار کند؟ یا اینکه خیلی مبهم هستید و فردی که به او پول میدهید احتمالاً بیشتر سوال میپرسد یا چیزی کاملاً بیربط به آنچه میخواهید تحویل میدهد؟
به عنوان مثال بیایید فرض کنیم که من میخواهم برنامهای بنویسم که هر صفحه وبی را برایم خلاصه کند و تنها با دادن یک آدرس وب، خلاصهای کوتاه، دقیق و مناسب دریافت کنم. به عنوان ورودی، یک URL صفحه وب را مشخص میکنم. خروجی من، یک بلوک متنی خلاصه شده خواهد بود.
استفاده از ChatGPT برای کشف کتابخانهها و منابع
با ادامه مثال بالا، یکی از روشهای قدیمی استخراج دادهها از صفحه وب، یافتن متن بین تگهای پاراگراف HTML بود. اما با ظهور ابزارهای هوش مصنوعی، استفاده از یک کتابخانه AI برای انجام استخراج و خلاصهسازی هوشمندانه منطقیتر است. یکی از زمینههایی که ChatGPT در آن برجسته است (و همچنین زمینهای که میتوانید به راحتی آن را بررسی کنید تا از رفتار مقتدرانه اما اشتباه آن اجتناب کنید)، یافتن کتابخانهها و منابع است.
OpenAI (سازنده ChatGPT) دسترسی به API موتورهای GPT-3 و GPT-4 را میفروشد که دقیقاً همان کاری را انجام میدهد که ما میخواهیم. اما در این مثال، بیایید فرض کنیم که ما نمیخواهیم هزینهای پرداخت کنیم. پس بیایید به بررسی تعامل با ChatGPT بپردازیم تا دریابیم چگونه میتوان از چنین ابزاری به صورت رایگان در پروژهای که با PHP اجرا میشود، استفاده کرد.
من با یک پرسش آغاز کردم که به منظور کسب اطلاعات درباره کتابخانههایی طراحی شده بود که قابلیتهای مورد نظرم را فراهم میکردند. کتابخانه، مجموعهای از کدها است که برنامهنویسان میتوانند به آن دسترسی داشته باشند و بخش عمدهای از کارهای سنگین یا خاص یا تکراری را برایشان انجام میدهد. یکی از بخشهای مهم برنامهنویسی مدرن، یافتن و انتخاب کتابخانههای مناسب است، بنابراین این نقطه شروع خوبی است. در این مورد، من به دنبال بلوکهای کد نوشته شده توسط دیگران هستم که متنی را خلاصه کنند.
این اولین پرسش (پرامپت) من است: “ده کتابخانه متنباز هوش مصنوعی (و زبانهایی که با آنها کار میکنند) که بتوانم از آنها برای تولید خلاصهای از محتوای اصلی هر صفحه وب، ضمن نادیده گرفتن هرگونه تبلیغ یا مواد تعبیه شده، استفاده کنم را معرفی کن.”
این پرسش دقیقاً آنچه را که میخواهیم به ما میدهد، از جمله اشارهای به پیشنهادهای OpenAI. یقیناً OpenAI در اینجا عملکرد خوبی خواهد داشت، اما برای این پروژه فرضی، نمیخواهیم بودجهای برای هزینههای API در نظر بگیریم. پس، سوال را محدودتر میکنیم:
“آیا هیچکدام از اینها رایگان هستند؟”
ChatGPT در پاسخش کمی محتاط بود و در جواب گفت: «بله، همه ده کتابخانه AI منبع باز هستند و استفاده از آنها رایگان است. با این حال، برخی از آنها ممکن است محدودیتهای استفاده داشته باشند یا نیاز به پرداخت برای دسترسی به ویژگیها یا منابع اضافی داشته باشند.»
بر اساس این، پرسش خود را روشنتر کردم: “کدامیک از این کتابخانهها محدودیت استفاده ندارند و نیازی به پرداخت اضافی یا لایسنس ندارند؟”
توجه کنید که این بحث بسیار شبیه به یک گفتگو است. نیازی به پرسیدن مجدد سؤال اولیه ندارم. من فقط به همان شیوهای که اگر یک متخصص در دسترس داشتم و به دنبال توضیحات بیشتر بودم، به بررسی عمیقتر میپردازم. در این مورد، ChatGPT هشت کتابخانه را به من معرفی کرد، اما هیچکدام از آنها، زبان برنامهنویسی PHP که قصد کدنویسی با آن را داشتم را ذکر نکرده بودند. پس، این سوال بعدی است:
“از بین این هشت کتابخانه، از کدام با PHP میتوانماستفاده کنم؟”
پاسخ سه کتابخانه را برگرداند، اما من مطمئن نبودم که هر کدام دقیقاً چه کاری انجام میدهند. پس، سوال دیگری پرسیدم:
“تفاوت بین Sumy، Gensim و NLTK چیست؟”
هنوز مطمئن نبودم، بنابراین به گفتگو ادامه دادم و سپس پرسیدم:
“اگر بخواهم خلاصهای از مقالات خبری وبسایتها ایجاد کنم، کدام کتابخانه بهتر عمل میکند؟”
پاسخی که دریافت کردم واضح و امیدوارکننده بود: «Sumy به طور خاص برای خلاصهسازی متن طراحی شده است و وظیفهاش ایجاد خلاصهای است که مهمترین اطلاعات را از یک متن جمعآوری کند.» حالا وقت آن رسیده بود که ببینم استفاده از Sumy با PHP چه مراحلی دارد.
آخرین سوال خود را برای این بخش از پروژه پرسیدم: “آیا میتوانید توضیح دهید چگونه از Sumy در PHP استفاده کنیم؟”
سعی کنید با سوالات بازی کنید و دستورالعملهای مختلف را در ChatGPT خود وارد کنید. توجه داشته باشید که در مرحله اول، تصمیم گرفتم کدام ماژول را برای کمک دریافت کنم. سپس، در این مرحله، با ChatGPT گفتگو کردم تا تصمیم بگیرم کدام کتابخانه را استفاده کنم و چگونه آن را در پروژهام یکپارچه سازم.
شاید این طور به نظر نرسد، اما خوب احتمالا این روش برنامهنویسی مدرن است! برنامهنویسی صرفاً نوشتن خطوط کد بر روی صفحه نیست. برنامهنویسی، درک این است که چگونه تمام منابع و سیستمهای مختلف را با هم تلفیق کنیم و با تمام اجزای مختلف راهحل خود ارتباط برقرار کنیم. در اینجا، ChatGPT به من در انجام این تحلیل تلفیقی کمک کرد.
راستی، کنجکاو بودم ببینم آیا هوش مصنوعی Gemini از Google (که پیشتر به نام Bard شناخته میشد) میتواند به همین شکل کمک کند یا خیر. Gemini به طور واقعی نمیتواند کد بنویسد، اما راهنمایی های بهتری در مورد برنامهریزی برنامهنویسی نسبت به پاسخهای ChatGPT ارائه داد. پس چه خوب که از ابزارهای مختلف برای رسیدن به پاسخهایی که میخواهید استفاده کنید. مرحله بعدی، کدنویسی است.
از ChatGPT بخواهید نمونه کد بنویسد
بیایید واضح و شفاف باشیم: ChatGPT تنها میتواند در نوشتن کدهای بسیار کوچکی مانند مرتبساز یا تصادفیساز موفق عمل کند و قادر به نوشتن کد نهایی در برنامه های پیچیده تر نخواهد بود. ابتدا، شما باید پیکربندی برنامه را مشخص کنید. ChatGPT در تغییر کدهایی که پیشتر نوشته شدهاند، فاجعه است، به این معنی که اصلاً این کار را انجام نمیدهد. پس، برای به دست آوردن کد جدید، شما باید از ChatGPT بخواهید که چیزی تازه تولید کند. طبق تجربه کار با ChatGPT، حتی اگر دو درخواست شما تقریباً مشابه باشد، ChatGPT ممکن است پاسخهایی به شدت ضد و نقیض ارائه دهد.
پس، خلاصه ماجرا این است: ChatGPT نمیتواند کد شما را پیکربندی کند، یا حتی آن را تنظیم کند. این محدودیت به این معناست که باید کار را خودتان انجام دهید. همانطور که میدانیم، اولین پیشنویس یک قطعه کد، به ندرت کد نهایی است. بنابراین، حتی اگر انتظار داشته باشید که ChatGPT کد نهایی تولید کند، در واقع این تنها نقطه شروعی است که شما باید آن را به اتمام برسانید، آن را در پروژه بزرگتر خود ادغام کنید، آزمایش کنید، تصفیه کنید، اشکالزدایی کنید و … اما این به این معنا نیست که کد نمونه بیارزش است!
سوالات متداول
آیا ChatGPT جایگزین برنامه نویسان شده است؟
نه، یا دستکم هنوز نه! برنامههای ChatGPT در سطح یک دانشجوی برنامهنویسی با استعداد در سال اول تحصیلی عمل میکنند، اما کمی تنبل هستند! این ابزار ممکن است نیاز به برنامهنویسان سطح مقدماتی را کاهش دهد، اما در سطح دانش و توانایی فعلی خود، زندگی را برای برنامهنویسان سطح مقدماتی (و حتی برنامهنویسان با تجربهتر) آسانتر میکند تا کد بنویسند و اطلاعات لازمشان را جستجو کنند، این قطعاً صرفهجویی در زمان است، اما تعداد کمی از پروژههای برنامهنویسی وجود دارد که ChatGPT بتواند به تنهایی انجام دهد، دستکم اکنون. در سال ۲۰۳۰ چطور؟ چه کسی میداند! همانطور که در بالا دیدید، من چگونه از یک گفتگوی تعاملی برای دقیقتر کردن پاسخهایی که میخواستم استفاده کردم. وقتی با ChatGPT کار میکنید، انتظار نداشته باشید که یک سوال به تنهایی تمام کارهایتان را برایتان انجام دهد. از ChatGPT به عنوان یک یار و منبع کمکی استفاده کنید و آن اطلاعات بسیار مفیدی به شما خواهد داد. البته، حتماً این اطلاعات را آزمایش کنید.
آیا کد تولید شده توسط ChatGPT کاملاً بدون خطا است؟
قطعاً خیر! اما نمیتوانید به کدی که برنامهنویسان انسانی مینویسند نیز اعتماد کنید. کد از فرآیند کدنویسی با نواقص بسیاری بیرون میآید. همیشه باگهایی وجود دارد. پیش از اینکه محصول را عرضه کنید، باید آزمایش کنید، دوباره آزمایش کنید و باز هم آزمایش کنید. سپس، آزمایش آلفا را با چند نفر از قربانیان انتخابشده انجام دهید! پس از آن، آزمایش بتا را با جامعه کاربران گستردهتر خود برگزار کنید. حتی پس از تمام این مراحل، باز هم باگهایی وجود خواهد داشت. صرف اینکه یک هوش مصنوعی به این بازی کدنویسی میپردازد به این معنا نیست که میتواند کدی بدون باگ بنویسد. بنابراین هرگز کاملاً اعتماد نکنید. همیشه بررسی و بازبینی کنید اما باز هم نمیتوانید کدی کاملاً بدون باگ داشته باشید. طبیعت جهان چنین است!
اگر از ChatGPT برای نوشتن کد استفاده کنم، مالکیت آن با کیست؟
در حال حاضر، هنوز قوانین مشخص و فراوانی برای پاسخ دقیق به این سؤال وجود ندارد. در کشورهایی مانند ایالات متحده، کانادا و بریتانیا، لازم است که اثری که مورد حق کپیرایت قرار میگیرد توسط انسان خلق شده باشد، بنابراین کد تولید شده توسط ابزار هوش مصنوعی ممکن است قابلیت کپیرایت شدن نداشته باشد. همچنین مسائلی در مورد مسئولیت به دلیل منبع کد آموزش داده شده و نحوه استفاده از کد نهایی وجود دارد.
آیا ChatGPT میتواند در تحلیل دادهها و وظایف تصویرسازی کمک کند؟
بله، ChatGPT میتواند به شما در تجزیه و تحلیل دادهها و تهیه نمودارها کمک کند. این سیستم قادر به انجام تحلیلهای آماری مانند میانگین، میانه، انحراف معیار، تحلیل رگرسیون، آزمون فرضیه و موارد دیگر است. ChatGPT همچنین میتواند به شما در ساخت نمودارهای جذاب که بخش روایی تحقیقات دادهای شما را بهبود میبخشد، کمک کند. شما میتوانید نوع دادهای که میخواهید نمایش دهید را به ChatGPT توضیح دهید و این سیستم بر اساس ویژگیهای دادههای شما، نوع نمودار مناسبی مانند نمودارهای میلهای، خطی، پراکندگی، هیستوگرام و نمودارهای حرارتی پیشنهاد میدهد. ChatGPT همچنین میتواند ایدههای طراحی نمودار سفارشی را بر اساس نیازهای خاص شما یا محدودیتها، مانند طرحهای رنگی و موقعیت برچسبها، برای تولید اینفوگرافیکهای زیبا و مفید ارائه دهد. با کمک ChatGPT، شما میتوانید داشبوردهای تعاملی بسازید که به کاربران اجازه میدهد تا به صورت پویا از طریق فیلترها، لغزندهها، منوهای کشویی و سایر عناصر تعاملی، دادهها را کشف کنند، که این امر کاربرد تجزیه و تحلیل دادههای شما را افزایش داده و تصمیمگیری بهتری را تسهیل میکند.
ChatGPT چگونه با تفاوت لهجهها و پیادهسازیهای مختلف یک زبان برنامهنویسی خاص کنار میآید؟
ما اطلاعات دقیقی در مورد این موضوع از سوی OpenAI در دست نداریم، اما درک ما از نحوه آموزش ChatGPT میتواند تا حدودی به روشن شدن این سؤال کمک کند. به خاطر داشته باشید که لهجهها و پیادهسازیهای زبانهای برنامهنویسی (و نکات ریز مربوط به آنها) خیلی سریعتر از خود زبان تغییر میکنند. این واقعیت، دنبال کردن تغییرات برای ChatGPT (و بسیاری از حرفهایهای برنامهنویسی) را دشوار میسازد. بنابراین اساس دو پیش فرض داریم، اول آن که هرچه تغییر لهجه در گذشته نزدیکتری رخ داده باشد، احتمال کمتری وجود دارد که ChatGPT از آن آگاه باشد و دوم آن که هرچه یک زبان به طور کلی محبوبتر باشد، احتمالاً دادههای آموزشی بیشتری از آن یاد گرفته است و بنابراین دقیقتر خواهد بود.