کدنویسی کمکشده توسط هوش مصنوعی برای مبتدیان: شروع عملی
بیاموزید که برنامهنویسان تازهکار چگونه میتوانند از ابزارهای هوش مصنوعی مثل Copilot و ChatGPT استفاده کنند بدون اینکه مبانی را نادیده بگیرند.
دستیاران کدنویسی هوش مصنوعی مثل GitHub Copilot، ChatGPT و Claude نحوه نوشتن نرمافزار را تغییر دادهاند، اما برای مبتدیان آنها شمشیری دولبه هستند. اگر به خوبی استفاده شوند، یادگیری را سریع میکنند. اگر به بدی استفاده شوند، به یک عصا تبدیل میشوند که شما را ناتوان میکنند تا حتی یک حلقه for بدون کمک بنویسید. این راهنما نحوه بدست آوردن ارزش واقعی از این ابزارها را در حالی که مهارت واقعی را میسازید، پوشش میدهد.
یک ابزار انتخاب کنید و درک کنید که چه میکند
به جای اینکه از سه دستیار استفاده کنید، با یکی شروع کنید. GitHub Copilot مستقیماً در VS Code ادغام شده است و هنگام تایپ کد را پیشنهاد میدهد. ChatGPT و Claude برای گفتگوی رفتوبرگشتی بهتر عمل میکنند: توضیح یک خطا، برنامهریزی یک تابع، یا بررسی قطعهای از کد که قبلاً نوشتهاید.
مکانیزم را درک کنید: اینها مدلهای زبان بزرگی هستند که توکنهای احتمالی بعدی را بر اساس الگوهای دادههای آموزشی پیشبینی میکنند. آنها کد شما را اجرا نمیکنند، ساختار فایل خاص شما را نمیدانند مگر اینکه آنها را نشان دهید، و با اطمینان کد نحویدرست تولید میکنند که کار اشتباهی انجام میدهد. هر پیشنهاد را به عنوان یک پیشنویس از یک همکار سریع اما گاهی بیدقت در نظر بگیرید.
از آن برای توضیح استفاده کنید، نه فقط برای تولید
بزرگترین اشتباهی که مبتدیان انجام میدهند این است که یک راهحل تمامشده را بخواهند و بدون خواندن آن را چسب کنند. به جای آن، از هوش مصنوعی بخواهید کد را خط به خط توضیح دهد. اگر در یک script Python گیر کردهاید که zip() و enumerate() را با هم استفاده میکند، بپرسید: "Explain what zip and enumerate do here, and why someone would combine them." شما یک درس کوتاه به جای یک جعبه سیاه دریافت خواهید کرد.
هنگام رفع اشکال، پیام خطای دقیق و کد مربوطه را چسب کنید، نه یک توضیح مبهم مثل "it's not working." مقایسه کنید:
Traceback (most recent call last):
File "app.py", line 12, in <module>
result = calculate_total(items)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
آن traceback به هوش مصنوعی (و شما) میگوید دقیقاً کجا نگاه کنید. خط 12، عدم تطابق نوع در طول جمع. از آن بخواهید تشریح کند که چرا اختلاط int و str در Python ناکام میشود، و شما درس را به جای صرفاً رفع کردن یک خطا حفظ خواهید کرد.
خود اسکلت را ابتدا بنویسید
قبل از اینکه کمک بطلبید، تابع امضا و یک توضیح درباره آن چه بخشی باید انجام دهد را بنویسید:
def calculate_total(items):
# items is a list of dicts with 'price' and 'quantity'
# return the sum of price * quantity for each item
pass
سپس از هوش مصنوعی بخواهید بدنه را پر کند، یا بهتر است، خود آن را بنویسید و برای بررسی بخواهید. این ترتیب مهم است. اگر ابتدا بپرسید و بعد بنویسید، فکر کسی دیگر را ویرایش میکنید. اگر ابتدا بنویسید، مدل ذهنی خود را تشکیل میدهید، و هوش مصنوعی یک کنترل بر کار شما میشود نه جایگزینی برای آن.
همه چیز را تأیید کنید، به خصوص با کتابخانههای نامآشنا
مدلهای هوش مصنوعی اغلب در مورد API های کتابخانه منسوخ یا به سادگی اشتباه هستند، به خصوص برای ابزارهای سریع الحرکت. اگر Copilot یک متد pandas یا یک نسخه خاص بسته npm را پیشنهاد دهد، قبل از اعتماد به آن مستندات واقعی را بررسی کنید. کد را اجرا کنید. مقادیر میانی را چاپ کنید. از یک debugger مثل pdb در Python (import pdb; pdb.set_trace()) یا debugger Chrome DevTools برای JavaScript استفاده کنید به جای اینکه فقط دوباره از هوش مصنوعی بپرسید که چه مشکلی است.
یک عادت خوب: بعد از اینکه هوش مصنوعی یک تابع تولید کرد، یک یا دو test case را دستی بنویسید.
assert calculate_total([{'price': 10, 'quantity': 2}]) == 20
assert calculate_total([]) == 0
اگر کد هوش مصنوعی test شما را ناکام کند، چیزی را که یک نگاه نمیتوانست ببیند، گرفتهاید.
برای خود قوانین تعیین کنید
خود را محدود کنید تا ابزار مهارتهای شما را فرسایش نکند:
15 دقیقه اول برای هر مسئله جدیدی را بدون هوش مصنوعی صرف کنید، فقط تفکر و ترسیم pseudocode. هرگز پیشنهادی را قبول نکنید که نتوانید آن را برای شخص دیگری توضیح دهید. هنگام یادگیری یک زبان یا فریمورک کاملاً جدید، autocomplete درونخطی را غیرفعال کنید (Copilot یک تنظیم برای این دارد) و فقط از کمک مبتنی بر چت استفاده کنید، به طوری که تا زمان چسبیدن syntax ناچار باشید آن را تایپ کنید.
این محدودیتها در ابتدا کند به نظر میرسند. درون چند هفته بازدهی دارند زیرا برای چیزهایی که باید به خوبی بدانید، مثل list comprehensions، حلقههای پایهای، یا formatting string، دیگر به پیشنهادات وابسته نیستید.
چیزی واقعی بسازید تا خود را تست کنید
یک پروژه کوچک با هدف واضح انتخاب کنید: یک لیستکار command-line، یک script که فایلها را در یک پوشه بر اساس تاریخ ایجاد نامگذاری مجدد میکند، یک Flask API پایه با دو endpoint. آن را با کمک هوش مصنوعی بسازید، سپس یک نسخه مشابه را یک هفته بعد بدون آن از ابتدا بسازید. تلاش دوم دقیقاً نشان میدهد که چه چیزی یاد گرفتهاید در مقابل آنچه کپی کردهاید.
ابزارهای هوش مصنوعی واقعاً برای مبتدیان مفید هستند وقتی از آنها برای تسریع درک استفاده کنید نه برای رد شدن از آن. برنامهنویسانی که بیشتر سود میبرند دستیار را مثل یک معلم صبور که اتفاقاً سریع تایپ میکند در نظر میگیرند، نه یک دستگاه فروش برای کد تمامشده.
اگر میخواهید مبانی را که این ابزارها فرض میکنند شما دارید بسازید، Python و Computer Science tracks Korra Studio را برای تمرین ساختاریافته در کنار پروژههای کمکشده توسط هوش مصنوعی خود بررسی کنید.
با کمک هوش مصنوعی نوشتهشده، بازبینی و منتشرشده توسط Michal Pilch (CISSP)، Korra Studio.
این یکی از یادداشتهای پایگاه دانش Korra Studio است — پلتفرم هر موضوع را با مربی یکبهیک جفت میکند.
شروع رایگانarrow_forward