GitHub به تازگی در 21 ژوئن 2022 تکنولوژی GitHub Copilot یا کمک خلبان گیتهاب را حدود یک سال بعد از معرفی اولیه عرضه عمومی کرد. GitHub Copilot یک کمک برنامهنویس بر پایه هوش مصنوعی است که به کاربرانش کمک میکند تا سریعتر و با زحمت کمتر کدنویسی کنند. این ابزار قابلیت پیشنهاددادن و تکمیلکردن بخشهای مختلف یک برنامه را از کامنت و بخشهای کوچک کد گرفته تا کدهای چند خطی و فانکشنها دارا است. در ادامه این مقاله بیشتر با این تکنولوژی جذاب آشنا خواهیم شد.
چطور از GitHub Copilot استفاده کنیم؟
GitHub Copilot را میتوان با ورود به github.com/features/copilot و استفاده از نسخه trial تست کرد و اگر این تکنولوژی نظرتان را جلب کرد، امکان خرید اشتراک آن در ازای ماهانه 10 دلار و یا سالانه 100 دلار وجود دارد. البته گیتهاب ذکر کرده این ابزار برای دانش آموزان تایید شده و نگهدارندههای پروژههای متنباز محبوب، به صورت رایگان قابل استفاده است. کمک خلبان گیتهاب به عنوان افزونه یا اکستنشن بر روی IDEهای مختلفی مثل Visual Studio Code و Neovim و JetBrains قابل استفاده است.
گیتهاب پیشنهاد میکند برای استفاده بهینه از این ابزار کدها در قالب فانکشنهای کوچک به جای فانکشنهای بزرگ نوشته شوند. استفاده از نامهای معنادار برای پارامترهای موجود در فانکشنها و نوشتن کامنتهای مناسب به زبان انگلیسی از دیگر مواردی هستند که این ابزار را به عملکرد بهینه نزدیک میکنند.
GitHub Copilot چگونه کار میکند؟
این ابزار با بهرهبردن از یک مدل زبانی از قبل تمرین دادهشده و خلاق به نام Codex که محصول OpenAI میباشد، طراحی شده است. این زبان با توجه به یک سورس کد قابل دسترس و زبان انسان گسترش داده شده و به همین دلیل هم با زبانهای برنامهنویسی و هم با زبان انسان سازگار است. افزونه کمک خلبان گیتهاب کدها و کامنتهای کاربر را به سرویس Copilot ارسال میکند. در این مرحله کدهای موجود در فایل در حال ادیت و فایلهای همسایه موجود در پروژه، مخزنها و مسیرهای مرتبط برای شناسایی محتوای مرتبط توسط Codex بررسی میشوند. نهایتا بر این اساس بخش یا تمام خط کد یا فانکشن توسط Copilot پیشنهاد میشود.
آیا کدهای کمک خلبان گیتهاب قابل اعتماد هستند؟
بر اساس تحقیقات گیتهاب کاربران به صورت میانگین 26% از کدهای تکمیل شده توسط GitHub Copilot را برای قرار گرفتن در بین کدهای خودشان تایید کردهاند. این عدد برای بعضی از زبانها مثل پایتون بیش از 40% بوده است. با توجه به این آمار خود گیتهاب هم به این نکته که کمک خلبانش هنوز امکان نوشتن کدهای بینقص را ندارد اعتراف میکند. در واقع این ابزار تنها برای پیشنهاد دادن کدها طراحی شده است. از آنجاییکه موارد پیشنهادی را قبل از پیشنهاد تست نمیشوند، امکان درستنبودن و حتی منطقی نبودن پیشنهادات همواره وجود دارد. همچنین GitHub Copilot امکان بررسی حجم محدودی از محتوا را دارد. به همین دلیل نمیتواند به تمامی بخشهای موجود در کد به صورت آنی دست یابد.این مورد منجر به نقص در پیشنهادات میشود.
همچنین عملکرد این ابزار در کامنتهای غیر انگلیسی به خوبی کامنتهای انگلیسی نیست. ضمن این که خروجی آن در بعضی زبانهای برنامهنویسی مثل پایتون، جاوا اسکریپت و Go بهتر از سایر زبانها است.
جمعبندی
ممکن است با خواندن بند آخر کمی از GitHub Copilot دلسرد شده باشید. اما به یاد داشته باشید در لحظه نگارش این مقاله کمتر یک ماه از انتشار عمومی آن گذشته است و با این حال نظرات مثبت بسیاری را به همراه داشته است. کمک خلبان گیتهاب به طور حتم گام بزرگی در مسیر رشد فناوریهای مرتبط با هوش مصنوعی است. این ابزار بدون شک در ادامه مسیر خود نه تنها کمک بزرگی برای برنامهنویسان خواهد بود، بلکه نقش مهمی در گسترش حوزه هوش مصنوعی ایفا خواهد کرد. حوزهای که علیرغم آن که توسط عدهای تهدیدی برای بشریت محسوب میشود، آیندهای روشن را پیش روی خود میبیند.