این سوال که هوش مصنوعی مولد چقدر می تواند به کدنویس ها کمک کند، موضوعی است که به شدت مورد بحث است. David Gewirtz از ZDNET از طریق تجربیات دست اول دریافت که ChatGPT OpenAI “می تواند کدهای بسیار خوبی بنویسد.” در عین حال، برخی از مطالعات نشان داده اند که مدل های زبان بزرگ مانند GPT-4 از نظر سطح کلی کیفیت کد بسیار پایین تر از کدنویس های انسانی هستند.
همچنین: مدیرعامل Pinecone به دنبال ارائه چیزی شبیه به دانش به هوش مصنوعی است
اما برخی استدلال می کنند که بحث در مورد اینکه آیا هوش مصنوعی یک کدگذار است یا نه ممکن است بی ربط باشد. به گفته آنها، ماهیت کمک به کدنویسی از طریق اتوماسیون در تغییر ماهیت کار یک برنامه نویس نهفته است.
اینبال شانی، مدیر محصول GitHub، سایت توسعه متعلق به مایکروسافت، گفت: “اگر از من بپرسید تغییر بزرگ چیست، آنچه در دنیای هوش مصنوعی مولد اتفاق افتاده این است که ما یک لایه انتزاعی دیگر در بالای هوش مصنوعی ایجاد کرده ایم.” اخیرا در مصاحبه ای با ZDNET.
این لایه انتزاعی، یعنی زبان طبیعی، در ابتدا فقط برای تکمیل کد استفاده می شد. او گفت: “این لایه پایه ای است که ما دیدیم.” به گفته شانی، قدرت لایه انتزاعی این است که می تواند به بسیاری از کاربردهای دیگر هوش مصنوعی فراتر از تکمیل کد گسترش یابد.
همچنین: نحوه استفاده از ChatGPT برای نوشتن کد
GitHub نسخه کمک کد خود را با نام GitHub Copilot در ژوئن 2021 معرفی کرد. شانی گفت که امسال “سال تحولی” برای هوش مصنوعی در برنامه نویسی بوده است. همانطور که ساتیا نادلا، مدیر عامل مایکروسافت در ماه اکتبر اعلام کرد، GitHub بیش از 1 میلیون مشتری پرداخت کننده با استفاده از Copilot و بیش از 37000 سازمان از آن استفاده می کند.
شانی به کاربران برجسته Copilot مانند Accenture اشاره کرد که صدها توسعه دهنده را در Copilot قرار داده است. “آنها دریافتند که به طور گسترده ای برای کاهش آنچه ما کد دیگ بخار می نامیم استفاده می شود، کد تکراری که توسعه دهندگان لزوما دوست ندارند بنویسند، اما مجبور هستند زیرا بخشی از پایه آنها است.”
شانی گفت که Accenture 88.5 درصد از کدهای نوشته شده توسط Copilot را حفظ کرده است. بنابراین این بدان معنی است که Copilot توانسته است پاسخ های بسیار دقیق و وفاداری به توسعه دهندگان خود ارائه دهد که آنها تصمیم می گیرند این کد را حفظ کنند و نیازی به بازنویسی آن ندارند.
بر اساس یک معیار بهرهوری، تعداد درخواستهای کششی که به موقع تکمیل میشوند، زمانی که کد جدید در منبع اصلی پروژه ادغام میشود، به لطف استفاده از Copilot در Accenture، 15 درصد افزایش یافته است. علاوه بر این، “آنها دیدند که توسعه دهندگان تمایل بیشتری به انجام فرآیند ساخت دارند”، وظیفه تبدیل کد به یک باینری در حال اجرا.
همچنین: مایکروسافت بیش از 1 میلیون کاربر پولی Github Copilot دارد: مدیرعامل نادلا
او خاطرنشان کرد: «گاهی اوقات توسعهدهندگان از انجام ساختها خودداری میکنند». “آنها می گویند، من اعتماد ندارم، باید دوباره تست کنم، اما با استفاده از Copilot، این به نوعی به ایجاد این اعتماد برای استقرار کد بیشتر در تولید کمک می کند.”
چشمانداز این تغییرات کوچک (درخواستهای کشش بیشتر، ساختهای بیشتر، کدنویسی کمتر) فواید کیفی فوری در چگونگی تکامل روز توسعهدهنده دارد.
شانی گفت: «اگر بتوانیم نرخ ساخت را به طور مداوم افزایش دهیم، به توسعهدهندگان کمک میکند زمان کمتری را در انتظار ساختها صرف کنند، زمان بیشتری برای تمرکز بر معماری و غیره داشته باشند.
شانی گفت: “یک کشف تکان دهنده که برای من اتفاق افتاد این است که توسعه دهندگان کمتر از دو ساعت در روز فرصت دارند تا کد بنویسند.” “آنها باید کارهای زیادی را انجام دهند که به چرخه عمر توسعه نرم افزار مربوط می شود، اما نه کدنویسی: آنها می سازند، آزمایش می نویسند، در جلسات شرکت می کنند، باید با افراد دیگر تعامل داشته باشند، آنها باید PR بنویسند (درخواست کشش) “
همچنین: آیا هوش مصنوعی می تواند کدنویسی کند؟ فقط قدم های کوچک
با خودکار ، برخی از این وظایف یا بخشهایی از آنها، این امکان وجود دارد که «به توسعهدهندگان پهنای باند بیشتری بدهیم تا بتوانند در حوزههای دیگر سرمایهگذاری کنند».
شانی اذعان کرد که هیچ یک از اینها هنوز به طور کامل و دقیق از نظر افزایش بهره وری تعیین نشده است. او در مورد فرآیند اندازه گیری بهره وری گفت: “من فکر می کنم ما در میانه راه هستیم.” Copilot و امثال آن “به اندازه کافی مورد پذیرش قرار نگرفته اند تا بتوانیم داده های واقعی و قابل توجهی به دست آوریم که می توانیم بگوییم، اینگونه است که ما زندگی را برای همیشه تغییر دادیم.”
او خاطرنشان کرد که تعاریف برای بهره وری دشوار هستند. “شما می توانید خیلی سریع کدهای بسیار نامفهوم بنویسید”، بنابراین افزایش سرعت کد از طریق تکمیل کد “لزوما نشان دهنده موفقیت نیست”.
به گفته شانی، «کاری که ما در حال حاضر انجام می دهیم بر این سؤال متمرکز است: واقعاً زمان ارزش گذاری چقدر است؟ این تاثیر چیست؟ چگونه می توانیم تأثیر این ابزارهایی را که در طول زمان به کار گرفته ایم اندازه گیری کنیم؟
شانی گفت: یکی دیگر از موارد مهم برای اندازه گیری این است که “چگونه شادی توسعه دهنده را تعریف کنیم”. برای توسعه دهندگان بسیار مهم است که به رسمیت شناخته شوند، و در حال حاضر شناسایی در برخی شرکت ها با اندازه گیری تعداد خطوط کد من انجام می شود. اما او اشاره می کند که پرحرفی یک برنامه نویس ممکن است بهترین نشانگر خوب بودن آنها نباشد.
یکی از عمیق ترین عناصر شکل گیری لایه جدید انتزاع در هوش مصنوعی، کاهش نیاز به جابجایی بین ابزارهای مختلف است.
همچنین: هدف هوش مصنوعی پیش بینی و تصحیح خطاهای کدنویسی توسعه دهندگان قبل از وقوع فاجعه است
شانی توضیح داد: «معمولاً، اگر به دنبال چیزی هستم که نمی دانم چگونه بنویسم، از نوعی موتور جستجو استفاده می کنم. Copilot توانست همه اینها را در یک محیط ادغام کند. اینترفیس، اعلان، “در همانجا در IDE شما (محیط توسعه یکپارچه) قرار می گیرد”، به طوری که “نیازی به رفتن به ابزارهای مختلف نیست، نیازی به کپی پیست نیست، نیازی به همه این کارها را انجام دهید، شما اساساً همان جایی که کد خود را می نویسید، می مانید.”
در نتیجه، او گفت: «توسعهدهندگان خوشحال هستند زیرا سوئیچهای متنی کمتری بین ابزارها دارند. »
Copilot جایگاه خود را در سایر زمینه های تیم برنامه نویسی پیدا می کند. شانی گفت که یکی از کاربران بزرگ Copilot، شرکت تجارت الکترونیک Shopify، از Copilot برای انجام مصاحبه های کدگذاری و ارزیابی استخدام های جدید استفاده می کند. او همچنین از Copilot برای نصب برنامهنویسهای جدید استفاده میکند، و به عنوان یک «برنامهنویس همتا» یا آموزشدهنده خدمت میکند تا کدنویسهای جدید را سریعتر کند.
شانی گفت، در مواردی که Copilot و ابزارهای مشابه هنوز نتایج مطلوب را تولید نمی کنند، این ممکن است تا حد زیادی به دلیل منحنی یادگیری سریع مهندسی باشد. او می گوید: “شما هنوز باید بدانید که چگونه سوال درست را بپرسید.”
“هرچه بیشتر یک سوال گسترده تر بپرسید (در لحظه)، راه حل کلی بیشتری دریافت خواهید کرد که لزوماً برای موقعیت شما قابل اجرا نیست، در حالی که “هرچه بیشتر بدانید چگونه سؤالات درست بپرسید، بهتر به دست خواهید آورد. پاسخی از طرف Copilot
همچنین: من آخرین مهارت های کدنویسی را از Google Bard آزمایش کردم. خوب نشد…دوباره
او گفت که مایکروسافت در حال کار با مشتریانی مانند Accenture بر روی “این مدیریت تغییر” است، در مورد نحوه نوشتن “پست مناسب” و “چگونه فکر کنید که چه سوالی را از Copilot میپرسید تا پاسخ مناسب را دریافت کنید”.
هنوز چیزهای زیادی برای توسعه در خود Copilot وجود دارد که احتمالاً تأثیر زیادی بر سودمندی و دقت آن خواهد داشت. این برنامه به تدریج این توانایی را به دست می آورد که برای یک توسعه دهنده فردی “سفارشی” شود. شانی گفت: «یکی از جنبههایی که ما روی آن کار میکنیم این است که چگونه میتوانیم به این مدلها کمک کنیم تا سبک کدنویسی شما را درک کنند تا بفهمیم کدام یک از این عناصر برای شما بهعنوان یک توسعهدهنده نرمافزار ضروری است تا توصیههایی را که به شما میدهیم تنظیم کنید.»
در ماه فوریه، GitHub نسخه سازمانی Copilot را به طور کلی در دسترس قرار خواهد داد. شانی گفت: “اینها به طور خاص مدل های سفارشی تر برای شرکت هایی هستند که می خواهند نسخه خود را از این پیاده سازی داشته باشند.”
در نسخه سازمانی، “شما این توانایی را خواهید داشت که PR ها را خلاصه کنید یا نظرات خود را با استفاده از Copilot به کد اضافه کنید، یا اسناد خود را جستجو کنید و سند مورد نظر خود را دریافت کنید.” همچنین بر تست Copilot و مدیریت تست استرس تاکید بیشتری خواهد شد.
همچنین بخوانید: بیل گیتس پیش بینی می کند که “رونق فناوری عظیم” در هوش مصنوعی در راه باشد
شانی گفت، ایده کلی این است که «همه چیز را با همان نوع مدل جریان هوش مصنوعی متمرکز کنیم، در تمام مسیر توسعه نرم افزار، از طراحی تا تولید».
Advanced Micro Devices، سازنده تراشه، یکی از مشتریان بتا نسخه سازمانی است، به ویژه برای اصلاح مدلهای هوش مصنوعی داخلی AMD. او خاطرنشان کرد: “ما لیست انتظار طولانی از مشتریانی داریم که مایل به مشارکت هستند.” ما در حال انجام آزمایشهای دقیق زیادی هستیم و میخواهیم بازخورد زیادی از مشتریانی که در حال حاضر در برنامه بتا ما هستند، دریافت کنیم، قبل از اینکه بتوانیم آن را با اطمینان به اشتراک بگذاریم.»
ممکن است صحبت در مورد خوشحالی توسعه دهندگان عجیب به نظر برسد، زیرا برخی معتقدند خودکارسازی کد از طریق هوش مصنوعی می تواند وظایف برنامه نویسی را حذف کند. شانی اصرار می کند که با این حال، اینطور نیست. او گفت: «این برنامه جایگزین توسعهدهندگان نخواهد شد، من نمیتوانم بگویم در پنج یا 10 سال آینده. “من در اردوگاه هستم که می گوید هرگززیرا ما فقط به عنوان توسعهدهنده پیشرفت خواهیم کرد.
شانی که قبل از پیوستن به GitHub یک سال پیش محصول Elastic Containers را در Amazon AWS رهبری می کرد، بیش از دو دهه است که با هوش مصنوعی کار می کند. او سفر شخصی خود را به عنوان یک کدنویس، از Fortran به C++ و Java و Python به یاد میآورد. “در همه حال، همه وحشت داشتند: اوه، خدای من، این کار توسعه دهندگان را از بین می برد.”
همچنین: هوش مصنوعی به طور فزاینده ای نقش خود را به عنوان دستیار توسعه و آزمایش بر عهده می گیرد.
اما “ما شاهد افزایش تعداد توسعه دهندگان بوده ایم، زیرا اکنون موانع را برای نوشتن نرم افزارهای بیشتر کاهش داده ایم.”
در عین حال، تکامل کمک خلبانان هوش مصنوعی «همان انقلاب صنعتی است که منجر به کارخانههایی شد که تولید مواد غذایی خود را برای پاسخگویی به تقاضا تطبیق دادند». این همان چیزی است که در حال حاضر اتفاق می افتد: تقاضا برای نرم افزار بیشتر است و بنابراین تقاضا برای توسعه دهندگان نرم افزار بیشتر است.
اگر بتوان تولید کد را به طور دقیق خودکار کرد و لایه انتزاعی بتواند در تعویض متن صرفه جویی کند، آیا Copilot و امثال آن واقعاً زمان توسعه پروژه را کاهش می دهند؟
در کتاب ماه مرد اسطوره ای، فرد بروکس برنامه نویس مشاهده کرد که افزودن منابع به یک پروژه برنامه نویسی بزرگ نه تنها سرعت پروژه را افزایش نمی دهد، بلکه بیشتر اوقات حتی اوضاع را بدتر می کند.
هنوز مشخص نیست که آیا هوش مصنوعی به طور قابل توجهی برنامه ریزی و مدیریت پروژه را تسهیل می کند یا کل تلاش مورد نیاز برای یک پروژه برنامه نویسی بزرگ را کاهش می دهد.
شانی گفت: «نمیدانم مفهوم ماهها به ثانیه تبدیل میشود یا خیر. هنوز هم زمان می برد تا همه چیز به بلوغ برسد، اما من فکر می کنم اگر بتوانیم در مدت زمان کوتاه تری به ارزشی که به دنبالش هستیم برسیم، مسیر رسیدن به آن هموارتر و کارآمدتر خواهد بود.
منبع: https://www.zdnet.com/article/microsofts-github-copilot-pursues-the-absolute-time-to-value-of-ai-in-programming/#ftag=RSSbaffb68