نحوه استفاده از ChatGPT برای نوشتن کد

image1.pngیکی از اکتشافات جالب در مورد ChatGPT این است که می تواند کدهای بسیار خوبی بنویسد. من این را در فوریه آزمایش کردم، زمانی که از آن خواستم یک افزونه وردپرس بنویسد که همسرم می تواند در وب سایت خود استفاده کند. این یک کار خوب بود، اما یک پروژه بسیار ساده بود.

نحوه استفاده از ChatGPT برای نوشتن: Resumes| فرمول های اکسل | انشا | مقدمه ای که برای یک نامه یا مدرک نوشته می شود

چگونه می توانید از ChatGPT برای نوشتن کد به عنوان بخشی از تمرین کدنویسی روزانه خود استفاده کنید؟ این چیزی است که ما در اینجا به بررسی آن خواهیم پرداخت.

ChatGPT چه نوع کدنویسی را می تواند به خوبی انجام دهد؟

دو واقعیت مهم در مورد ChatGPT و کدنویسی وجود دارد. اولین مورد این است که در واقع می تواند کد مفیدی بنویسد. دوم این که می تواند کاملا گم شود، از سوراخ خرگوش بیفتد، دم خود را تعقیب کند و زباله های کاملاً غیرقابل استفاده تولید کند.

این را به سختی دریافتم. پس از اتمام افزونه وردپرس، تصمیم گرفتم ببینم ChatGPT تا کجا می تواند پیش برود. من یک درخواست بسیار دقیق برای یک برنامه مک نوشتم، شامل توضیحات دقیق عناصر رابط کاربری، تعاملات، آنچه در تنظیمات ارائه می شود، نحوه کار آنها و غیره. سپس آن را به ChatGPT دادم.

ChatGPT با سیل متن و کد پاسخ داد. سپس اواسط کد متوقف شد. وقتی از آن خواستم ادامه دهد، کد و متن بیشتری را بیرون آورد. من بعد از ادامه درخواست ادامه دادم و کدهای بیشتر و بیشتری بیرون ریخت. اما... هیچ کدام قابل استفاده نبود. مشخص نکرد که کد باید کجا برود، چگونه پروژه را بسازد، و -- زمانی که من به دقت به کد تولید شده نگاه کردم -- عملیات عمده ای را که درخواست کرده بودم حذف کرد و در توضیحات متنی ساده بیان کرد که "منطق برنامه به اینجا می رود. "

بعد از یک سری آزمایش های مکرر، برای من روشن شد که اگر از ChatGPT بخواهید یک برنامه کامل را تحویل دهد، با شکست مواجه می شود. نتیجه این مشاهدات این است که اگر چیزی در مورد کدنویسی نمی دانید و می خواهید ChatGPT چیزی برای شما بسازد، شکست می خورد.

جایی که ChatGPT موفق می شود - و این کار را بسیار خوب انجام می دهد - کمک به کسی است که از قبل می داند چگونه برنامه نویسی کند تا روال های خاصی بسازد و وظایف خاصی را انجام دهد. برنامه ای را که در نوار منو اجرا می شود درخواست نکنید. اما اگر از ChatGPT برای قرار دادن یک منو در نوار منو بخواهید، و سپس آن را در پروژه خود بچسبانید، بسیار خوب پیش خواهد رفت.

همچنین: نحوه استفاده از ChatGPT برای ایجاد یک برنامه

همچنین، به خاطر داشته باشید که در حالی که ChatGPT به نظر می رسد مقدار زیادی از دانش خاص دامنه دارد (و اغلب دارد)، اما فاقد خرد است. به این ترتیب، ممکن است قادر به نوشتن کد باشد، اما قادر نخواهد بود کدی را که حاوی تفاوت های ظریف برای مسائل بسیار خاص یا پیچیده است بنویسد که درک آنها به تجربه عمیق نیاز دارد.

از ChatGPT برای تکنیک‌های نمایشی، نوشتن الگوریتم‌های کوچک و تولید زیر روال‌ها استفاده کنید. حتی می‌توانید ChatGPT را دریافت کنید تا به شما کمک کند یک پروژه بزرگ‌تر را به تکه‌ها تقسیم کنید، و سپس می‌توانید از آن بخواهید که به شما در کدنویسی آن تکه‌ها کمک کند.

بنابراین، با در نظر گرفتن این موضوع، اجازه دهید به چند مرحله خاص برای نحوه استفاده از ChatGPT برای نوشتن کد نگاه کنیم.

چگونه ChatGPT می تواند به شما در نوشتن کد کمک کند

1. درخواست خود را محدود کرده و تیز کنید

این اولین قدم این است که تصمیم بگیرید چه چیزی از ChatGPT بخواهید -- اما هنوز چیزی از آن نپرسید. تصمیم بگیرید که می خواهید عملکرد یا روال شما چه کاری انجام دهد، یا می خواهید در مورد چه چیزی یاد بگیرید تا در کد خود گنجانده شود. در مورد پارامترهایی که قرار است به کد خود منتقل کنید و آنچه می خواهید دریافت کنید، تصمیم بگیرید. و سپس به نحوه توصیف آن نگاه کنید.

تصور کنید برای انجام این کار به یک برنامه نویس انسانی پول می دهید. آیا به آن شخص اطلاعات کافی می دهید تا بتواند روی تکلیف شما کار کند؟ یا خیلی مبهم هستید و شخصی که پول می‌دهید به احتمال زیاد یا سؤال می‌پرسد یا چیزی کاملاً نامرتبط با خواسته‌های شما را تحویل می‌دهد؟

در اینجا یک مثال است. فرض کنید من می خواهم بتوانم هر صفحه وب را خلاصه کنم. من می‌خواهم چیزی شبیه به این مقاله به آن بفرستم و خلاصه‌ای کوتاه که به خوبی سنجیده و مناسب باشد، دریافت کنم. به عنوان ورودی من، یک URL صفحه وب را مشخص می کنم. به عنوان خروجی من، این یک بلوک متن با خلاصه است.

2. از ChatGPT برای کشف کتابخانه ها و منابع استفاده کنید

در ادامه با مثال بالا، روش بسیار قدیمی برای استخراج داده‌های صفحه وب یافتن متن بین تگ‌های پاراگراف HTML بود.

اما با ظهور ابزارهای هوش مصنوعی، استفاده از کتابخانه هوش مصنوعی برای استخراج و خلاصه سازی هوشمندانه منطقی تر است. یکی از مکان‌هایی که ChatGPT برتری دارد (و همچنین منطقه‌ای است که می‌توانید به راحتی آن را تأیید کنید تا از الگوی رفتاری معتبر اما نادرست آن جلوگیری کنید) یافتن کتابخانه‌ها و منابع است.

OpenAI (سازنده ChatGPT) دسترسی API را به موتورهای GPT-3 و GPT-4 می فروشد که دقیقاً همان کاری را که ما می خواهیم انجام می دهند. اما در مورد این مثال، بیایید فرض کنیم که نمی خواهیم کارمزد تراکنش بپردازیم.

بنابراین بیایید تعامل با ChatGPT را بررسی کنیم تا نحوه استفاده از چنین ابزاری را به صورت رایگان با پروژه ای که در PHP اجرا می شود، بیابیم.

من با یک اعلان شروع کردم که برای استخراج اطلاعات در مورد اینکه چه کتابخانه هایی عملکرد مورد نظر من را ارائه می دهند طراحی شده بود. کتابخانه (برای کسانی که برنامه نویس نیستند) مجموعه ای از کدهایی است که برنامه نویس می تواند به آن دسترسی داشته باشد که بسیاری از کارهای سنگین را برای یک هدف خاص انجام می دهد. بخش بزرگی از برنامه نویسی مدرن، یافتن و انتخاب کتابخانه های مناسب است. بنابراین این نقطه شروع خوبی است.

در این مورد، من به بلوک های کد نوشته شده توسط افراد دیگر نگاه می کنم که متن را خلاصه می کنند. این اولین درخواست من است:

ده کتابخانه مختلف AI منبع باز (و زبان هایی که با آنها کار می کنند) را توصیف کنید که می توانم از آنها برای تولید خلاصه ای از محتوای اصلی هر صفحه وب، بدون توجه به تبلیغات یا مطالب جاسازی شده استفاده کنم.

این دقیقاً همان چیزی را که می خواستم به من داد، از جمله اشاره ای به پیشنهادات OpenAI. فکر می‌کنم OpenAI در اینجا عالی عمل می‌کند، اما برای این پروژه فرضی، نمی‌خواهم برای هزینه‌های API بودجه بگذارم. بنابراین من سوال را محدود می کنم.

آیا هیچ کدام از اینها رایگان است؟

ChatGPT شرط های خود را با پاسخ خود محافظت کرد. این چیزی است که گفته شده است: "بله، هر ده کتابخانه هوش مصنوعی منبع باز و رایگان برای استفاده هستند. با این حال، برخی از آنها ممکن است محدودیت های استفاده داشته باشند یا برای دسترسی به ویژگی ها یا منابع اضافی نیاز به پرداخت داشته باشند." بنابراین، بر اساس آن، من سوال خود را روشن کردم.

کدام یک از این کتابخانه ها محدودیت استفاده ندارند و نیازی به پرداخت اضافی یا مجوز ندارند؟

توجه کنید که این یک گفتگو بسیار زیاد است. من مجبور نیستم سوال اصلی را دوباره بپرسم. من فقط به همان روشی که اگر یک متخصص در دست داشتم و به دنبال توضیح بودم، دارم حفاری می کنم. در این مورد، ChatGPT هشت انتخاب کتابخانه به من داد، اما هیچ کدام از آنها به زبان PHP که من قصد داشتم با آن کدنویسی کنم، اشاره نکردند. بنابراین، این دستور بعدی است:

از بین آن 8 کتابخانه، آیا می توانم از یکی با PHP استفاده کنم؟

سه کتابخانه را برگرداند، اما من مطمئن نبودم که هر کدام چه کاری انجام می دهند. خب یه سوال دیگه:

تفاوت بین Sumy، Gensim و NLTK چیست؟

من هنوز مطمئن نبودم، بنابراین برنامه استفاده خود را روشن کردم و سپس پرسیدم:

اگر بخواهم خلاصه ای از مقالات خبری صفحه وب ایجاد کنم، کدام کتابخانه بهتر کار می کند؟

پاسخی که دریافت کردم واضح و امیدوارکننده بود: "Sumy به طور خاص برای خلاصه سازی متن طراحی شده است، که وظیفه ایجاد خلاصه ای است که مهم ترین اطلاعات را از یک قطعه متن می گیرد." بنابراین، اکنون زمان آن رسیده است که ببینیم چه چیزی در استفاده از آن با PHP وجود دارد. آخرین سوالم را برای این قسمت از پروژه پرسیدم:

می توانید نحوه استفاده از Sumy از PHP را توضیح دهید؟

با خیال راحت در رایانه خود بازی کنید و این دستورات را در نمونه ChatGPT خود جایگذاری کنید. توجه داشته باشید که در مرحله 1، تصمیم گرفتم در مورد چه ماژول برنامه ای کمک بگیرم. سپس، در این مرحله، با ChatGPT گفتگو کردم تا تصمیم بگیرم از چه کتابخانه ای استفاده کنم و چگونه آن را در پروژه خود ادغام کنم.

شاید به نظر برنامه نویسی نباشد، اما به شما اطمینان می دهم که اینطور است. برنامه نویسی فقط انتشار خطوط کد روی یک صفحه نیست. برنامه نویسی به این معناست که چگونه می توان همه منابع و سیستم های مختلف را با هم ادغام کرد و چگونه با تمام اجزای مختلف راه حل خود صحبت کرد. در اینجا ChatGPT به من کمک کرد تا آنالیز یکپارچه سازی را انجام دهم.

به هر حال، من کنجکاو بودم که آیا Bard گوگل می تواند در همین راه کمک کند. Bard در واقع نمی تواند کد بنویسد، اما بینش بیشتری در مورد جنبه برنامه ریزی برنامه نویسی در پاسخ های ChatGPT ارائه کرد. بنابراین در استفاده از ابزارهای متعدد برای مثلث بندی پاسخ های مورد نظر خود تردید نکنید. این داستان این است: Bard در مقابل ChatGPT: آیا Bard می‌تواند به شما در کدنویسی کمک کند؟ از زمانی که من آن مقاله را نوشتم، Google برخی از قابلیت‌های کدنویسی را به Bard اضافه کرد، اما آن‌قدرها هم عالی نیستند. می‌توانید در مورد آن اینجا بخوانید: من مهارت‌های کدنویسی جدید Google Bard را آزمایش کردم. خوب پیش نرفت

کد نویسی بعدی است.

3. از ChatGPT بخواهید کد نمونه بنویسد

خوب، بیایید اینجا کمی مکث کنیم. این مقاله با عنوان "نحوه استفاده از ChatGPT برای نوشتن کد" است. و خواهد شد! اما ما واقعاً از ChatGPT می خواهیم که کد نمونه بنویسد. صبر کن. چی؟

همچنین: GPT-4 چیست؟ در اینجا همه چیزهایی است که باید بدانید

بیایید شفاف باشیم. مگر اینکه یک تابع بسیار کوچک بنویسید (مانند مرتب‌کننده/تصادف‌ساز خط که ChatGPT برای همسرم نوشت)، ChatGPT نمی‌تواند کد نهایی شما را بنویسد. اول، شما باید آن را حفظ کنید. ChatGPT در اصلاح کدهای از قبل نوشته شده وحشتناک است. وحشتناک، همانطور که در، آن را انجام نمی دهد. بنابراین برای دریافت کد جدید، باید از ChatGPT بخواهید چیزی جدید تولید کند. همانطور که قبلاً متوجه شدم، حتی اگر درخواست شما تقریباً یکسان باشد، ChatGPT ممکن است آنچه را که به شما می دهد به روش های بسیار غیرمنتظره تغییر دهد.

بنابراین، نتیجه نهایی: ChatGPT نمی تواند کد شما را حفظ کند یا حتی آن را تغییر دهد.

یعنی باید خودتان این کار را انجام دهید. همانطور که می دانیم، اولین پیش نویس یک قطعه کد به ندرت کد نهایی است. بنابراین حتی اگر انتظار داشته باشید که ChatGPT کد نهایی را تولید کند، واقعاً یک نقطه شروع خواهد بود، جایی که باید آن را به اتمام برسانید، آن را در پروژه بزرگتر خود ادغام کنید، آن را آزمایش کنید، اصلاح کنید، اشکال زدایی کنید و غیره. .

همچنین: از ChatGPT خواستم که یک قسمت کوتاه Star Trek بنویسد. در واقع موفق شد

اما این بدان معنا نیست که کد مثال بی ارزش است. دور از آن. بیایید به دستوری که بر اساس پروژه ای که قبلا توضیح دادم نوشتم نگاهی بیندازیم. اینم قسمت اول:

یک تابع PHP به نام summarize_article را پاک کنید.

به عنوان ورودی، summarize_article یک URL به یک مقاله در یک سایت مرتبط با اخبار مانند ZDNET.com یا Reuters.com ارسال می شود.

من به ChatGPT زبان برنامه نویسی را می گویم که باید از آن استفاده کند. من ورودی را نیز به آن می گویم، اما در حین انجام این کار، دو سایت را به عنوان نمونه برای کمک به ChatGPT در درک سبک مقاله ارائه می کنم. راستش را بخواهید، مطمئن نیستم که ChatGPT این مقدار راهنمایی را نادیده نگرفته باشد. در مرحله بعد، به آن خواهم گفت که چگونه بخش عمده کار را انجام دهد:

در داخل summarize_article، محتویات صفحه وب را در URL ارائه شده بازیابی کنید. با استفاده از کتابخانه Sumy از داخل PHP و هر کتابخانه دیگری که لازم است، متن اصلی مقاله را بدون توجه به تبلیغات یا مطالب جاسازی شده استخراج کنید و آن را در حدود 50 کلمه خلاصه کنید. مطمئن شوید که خلاصه شامل جملات کامل است. در صورت لزوم می توانید از 50 کلمه بالاتر بروید تا جمله آخر را تمام کنید.

این بسیار شبیه روشی است که من به یک کارمند آموزش می دهم. من می خواهم آن شخص بداند که او فقط به سومی محدود نشده است. اگر به ابزار دیگری نیاز داشتند، می خواستم از آن استفاده کنند.

من همچنین تعداد تقریبی کلمه را برای ایجاد حد و مرز برای آنچه که به عنوان خلاصه می خواستم مشخص کردم. نسخه بعدی روال ممکن است آن عدد را به عنوان پارامتر در نظر بگیرد. سپس با گفتن آنچه در نتیجه می خواستم به پایان رسیدم:

پس از تکمیل پردازش، summarize_article را کد کنید تا خلاصه را به صورت متن ساده برگرداند.

کد به دست آمده بسیار ساده است. ChatGPT از کتابخانه دیگری (Goose) برای بازیابی محتویات مقاله تماس گرفت. سپس آن را با محدودیت 50 کلمه به Summy منتقل کرد و سپس نتیجه را برگرداند. خودشه. اما هنگامی که اصول اولیه نوشته شد، صرفاً یک موضوع برنامه نویسی است که به آن بازگردید و ترفندهایی را اضافه کنید، آنچه را که به دو کتابخانه ارسال می شود سفارشی کنید و نتایج را ارائه دهید.image2.png

یک نکته جالب توجه ChatGPT با استفاده از یک URL مربوط به بعد از سال 2021 (زمانی که مجموعه داده ChatGPT به پایان می رسد) یک تماس نمونه با روال نوشته شده ایجاد کرد.

من آن URL را با سایت رویترز و Wayback Machine بررسی کردم و وجود نداشت. ChatGPT به تازگی آن را ساخته است.

سوالات متداول

آیا ChatGPT جایگزین برنامه نویسان می شود؟

نه الان -- یا حداقل -- هنوز نه. ChatGPT در سطح یک دانشجوی برنامه نویسی با استعداد سال اول برنامه ریزی می کند، اما تنبل است (مثل آن دانشجوی سال اول). ممکن است نیاز به برنامه نویسان سطح ابتدایی را کاهش دهد، اما در سطح فعلی، فکر می کنم زندگی برنامه نویسان سطح ابتدایی (و حتی برنامه نویسان با تجربه بیشتر) را برای نوشتن کد و جستجوی اطلاعات آسان تر می کند. این قطعاً در زمان صرفه جویی می کند، اما پروژه های برنامه نویسی کمی وجود دارد که می تواند به تنهایی انجام دهد - حداقل در حال حاضر. در سال 2030؟ چه کسی می داند.

چگونه می توانم پاسخ های کدنویسی را در ChatGPT دریافت کنم؟

فقط بپرس در بالا دیدید که چگونه از یک گفتگوی گفتگوی تعاملی برای محدود کردن پاسخ های مورد نظرم استفاده کردم. وقتی با ChatGPT کار می کنید، انتظار نداشته باشید که یک سوال به طور جادویی تمام کارهای شما را برای شما انجام دهد. اما از ChatGPT به عنوان کمک کننده و منبع استفاده کنید و اطلاعات بسیار مفیدی در اختیار شما قرار می دهد. البته، این اطلاعات را آزمایش کنید - زیرا همانطور که جان شولمن، یکی از بنیانگذاران OpenAI می گوید، "بزرگترین نگرانی ما در مورد واقعیت بود، زیرا مدل دوست دارد چیزهایی بسازد."

اگر از ChatGPT برای نوشتن کدم استفاده کنم، مالک آن چه کسی است؟

همانطور که مشخص است، هنوز رویه قضایی زیادی برای پاسخ قطعی به این سوال وجود ندارد. ایالات متحده، کانادا و بریتانیا به چیزی که دارای حق چاپ است نیاز دارند که توسط دست انسان ایجاد شده باشد، بنابراین کد تولید شده توسط ابزار هوش مصنوعی ممکن است دارای حق چاپ نباشد. همچنین بر اساس اینکه کد آموزشی از کجا آمده و چگونه از کد حاصل استفاده می شود، مسائل مربوط به مسئولیت وجود دارد. ZDNET بررسی عمیقی در مورد این موضوع انجام داد، با کارشناسان حقوقی صحبت کرد و سه مقاله زیر را تهیه کرد. اگر در مورد این موضوع نگران هستید (و اگر از هوش مصنوعی برای کمک به کد استفاده می کنید، باید نگران باشید)، توصیه می کنم آنها را مطالعه کنید.

  • مالک کد کیست؟ اگر هوش مصنوعی ChatGPT به نوشتن برنامه شما کمک کند، آیا همچنان متعلق به شماست؟
  • اگر از کد تولید شده توسط هوش مصنوعی استفاده می کنید، در معرض مسئولیت شما چیست؟
  • یک سوال خاردار: چه کسی صاحب کد، تصاویر و روایت های تولید شده توسط هوش مصنوعی است؟

ChatGPT چه زبان های برنامه نویسی را می شناسد؟

بیشتر آنها. من در تلاش برای این کار بسیار منحرف شدم. من زبان های مدرن رایج مانند PHP، Python، Java، Kotlin، Swift، C# و غیره را آزمایش کردم. اما سپس آن را به زبان‌های مبهم عصر تاریک مانند COBOL، Fortran، Forth، LISP، ALGOL، RPG (تولیدکننده برنامه گزارش، نه بازی نقش‌آفرینی) و حتی زبان اسمبلی IBM/360 مجبور کردم.

من به عنوان مهره روی کیک این دستور را به آن دادم:

دنباله ای بنویسید که "Hello, world" را در چراغ های چشمک زن ascii در پانل جلویی یک PDP 8/e نمایش دهد.

PDP 8/e اولین کامپیوتر من بود و ChatGPT در واقع دستورالعمل هایی را برای تغییر برنامه با استفاده از سوئیچ های پنل جلویی به من داد. من تحت تاثیر قرار گرفتم، خوشحال بودم، و همیشه کمی ترسیده بودم.

نتیجه چیست؟ ChatGPT می تواند ابزار بسیار مفیدی باشد. فقط ابرقدرت ها را به آن نسبت ندهید. هنوز.

مقالات مرتبط

نمایش بیشتر >>

قدرت هوش مصنوعی را با HIX.AI باز کنید!