Github Copilot چیست؟ دستیار برنامهنویس یا جایگزین برنامهنویسان؟
۱۳ تیر ۱۴۰۱
زمان مطالعه: 4دقیقه
2885
دو هفتهی پیش GitHub اعلام کرد که استفاده از GitHub Copilot را برای عموم توسعهدهندگان امکانپذیر کرده است. اما Github Copilot چیست؟ این ابزار یک دستیار برنامهنویس است که با کمک هوش مصنوعی خط بعدی کد و یا کل تابع را به شما پیشنهاد میدهد. انتشار GitHub Copilot با واکنشهای متفاوتی از سوی جامعهی برنامهنویسان مواجه شده است. در حالی که عدهای از اتوماتیکشدن بخش زیادی از کارهایشان هیجانزدهاند، برخی دیگر معتقدند که این محصول پیشدرآمدی بر پایان عصر برنامهنویسانِ انسانی است. در این مقاله با ما همراه باشید تا به نقد و بررسی گیت هاب کوپایلت بپردازیم.
GitHub Copilot زبان طبیعی را به کد تبدیل میکند و به توسعهدهندگان پیشنهاداتی را ارائه میکند. این پیشنهادات از کدهای بویلرپلیت گرفته تا الگوریتمهای پیچیده را شامل میشوند. این محصول، سال پیش در یک پیشنمایشِ فنی در دسترسِ ۱.۲ میلیون کاربرِ GitHub قرار گرفت. اما حالا همهی جامعهی برنامهنویسانِ GitHub میتوانند از آن استفاده کنند. فقط لازم است که ماهانه ده دلار و یا سالانه صد دلار بپردازند.
دستیارِ هوش مصنوعیِ کدنویسی، بهعنوان افزونهای بر روی IDEهای Visual Studio ،Neovim ،JetBrains و Visual Studio Code نصب و اجرا میشود. با ادامهی روند عرضهی رباتهای هوش مصنوعی، مثل Copilot، به نظر میرسد که در آینده دیگر نیازی نباشد که انسانها کدها را تکمیل کنند.
GitHub معتقد است که این اولین بار در تاریخِ نرمافزار است که هوش مصنوعی تا این میزان برای تکمیل کدها به کمک توسعهدهندگان میآید. در صفحهی معرفیِ Copilot در وبسایت این کمپانی نوشته شده است: «درست مثل ظهور کامپایلرها و منبعبازها، کدنویسی با هوش مصنوعی بهطور کلی ماهیت توسعهی نرمافزار را تغییر خواهد داد.»
GitHub یک پلتفرم همکاری و یک شبکهی اجتماعی برای کدنویسان است. این پلتفرم طیف گستردهای از کاربران را شامل میشود. از اشخاصی که برای سرگرمی کدنویسی میکنند گرفته تا مهندسان نرمافزارِ کمپانیهای بزرگ تکنولوژی، همه از GitHub استفاده میکنند. GitHub همین امسال اعلام کرد که بیش از ۸۳ میلیون کاربر دارد. در طی دههی اخیر، کاربران این پلتفرم دهها میلیارد کد را برای نوشتنِ بیش از دویستمیلیون اپلیکیشن در GitHub بارگذاری کردهاند. تصورش را بکنید که GitHub چه تعداد if و for و print('Hello, world!') را در سرورهایش ذخیره دارد.
دستیارِ هوش مصنوعیِ گیت هاب کوپایلت مانند ابزارهای دیگر یادگیری ماشین توسط دادهها آموزش داده میشود؛ به این صورت که با اسکنکردن و دیدنِ الگوهایی که در میان میلیاردها کد وجود دارد، آموزش میبیند. این آموزش ممکن است ماهها زمان ببرد، صدها میلیون دلار خرج بردارد و به اندازهی میزان مصرفِ برقِ یک دههی یک خانه انرژی نیاز داشته باشد. اما زمانی که آماده به کار شد، انسانها میتوانند دستورهایشان را به زبان انگلیسی بنویسند و کد آنها را تحویل بگیرند.
اگرچه ممکن است کمی زمان ببرد تا یاد بگیرید که دستورات خود را طوری به زبان انگلیسی بیان کنید تا Copilot مناسبترین کدِ خروجی را بدهد، اما در نهایت کارایی این محصول شما را شگفتزده میکند. البته هنوز فاصلهی زیادی داریم تا زمانی که بگوییم: هی Siri، یک اپلیکیشن آیفون میلیون دلاری برایم درست کن!
برای اینکه بدانید Copilot در چه سطحی کار میکند، برایتان نوشتن مقاله را مثال میزنم. اینطور نیست که فقط عنوان را بنویسید و انتظار داشته باشید که یک مقالهی تماموکمال را تحویل بگیرید. اما اگر منطق کلی را بدانید و عنوانهای هر پاراگراف را بنویسید، این ابزار میتواند هر پاراگراف را بهخوبی تکمیل کند. بسته به نوع کدنویسیای که انجام میدهید، Copilot میتواند در زمان و انرژی شما صرفجویی کند.
این یک قلمروی جدید در حوزهی تکمیل کدها است و من درمورد آن خیلی هیجانزده هستم. Copilot میتواند باعث بهبود کیفیت اپلیکیشنها شود و از استانداردها و کدنویسیِ بهتر پشتیبانی کند.
Chris Riley، مدیر روابطِ توسعهدهندگانِ HubSpot
نگرانیهای مربوط به GitHub Copilot
عرضهی این محصول باعث بهوجودآمدن نگرانیهایی در میان توسعهدهندگان شده است. با گشتن در وبسایتهای Quora و Reddit میتوانید کامنتهای بسیاری از برنامهنویسانی ببینید که میپرسند: آیا این محصول جایگزین برنامهنویسان خواهد شد؟ در طی دهههای اخیر، افراد زیادی شغل خود را بهدلیل اتوماتیکشدن کارها از دست دادهاند و حالا این نگرانی به پشتِ درِ خانههای برنامهنویسان رسیده است.
اما اغلب برنامهنویسان نسبت به این قضیه خوشبین هستند. به نظر میرسد که تا جایگزینی کامل برنامهنویسان با هوش مصنوعی فاصلهی زیادی داریم. کاربرانِ گیت هاب کوپایلت میگویند که در استفاده از این ابزار، مهارتهای برنامهنویسی آنها بهشدت موردنیاز است. به هرحال این برنامهنویسها هستند که باید کدهای پیشنهادی را بررسی کنند.
وقتی به هوش مصنوعی بهعنوان همیار برنامهنویسی فکر کنید، هنوز باید بتوانید از کاری که میکنید سر در بیاورید. هنوز نیاز است که بدانید که چطور برنامهی خود را بسازید و هنوز لازم است که کدهایی که توسط هوش مصنوعی نوشته میشوند را متوجه شوید. این ابزار جایگزین ما نمیشود. Copilot روند کار را تغییر میدهد و باعث میشود که بهطور کارآمدتری کار کنیم. این خیلی جالب است.
Cassie Breviu، مدیر فنی ارشد Microsoft
همچنین، نگرانی دیگری وجود دارد که بنابر آن باید از Copilot با احتیاط استفاده کرد. این ابزار از کدهای پیشینِ توسعهدهندگان یاد گرفته است. اما به هر حال انسانها گاهی در کدهایشان اشتباه میکنند.
واقعیت این است که محصولِ جدید GitHub با همهی محاسن و معایبش هنوز در مراحل اولیه است. برای این که دقیقتر بفهمیم Github Copilot چیست،نیاز است که به آن کمی زمان بدهیم. اما به نظر میرسد که حداقل در آیندهی نزدیک قرار نیست که این ابزار جایگزین برنامهنویسان شود. نظر شما دراینباره چیست؟ میتوانید نظرات خود را در قسمت کامنتها با ما در میان بگذارید.