فورکان بکتس، بنیانگذار و مدیرعامل شرکت SourceAI، اعتقاد دارد: «هنگام آزمایش این ابزار، متوجه شدیم میتواند کد تولید کند. آن زمان بود که ایدهی توسعه SourceAI شکل گرفت.» البته او اولین نفری نبود که متوجه قابلیت این ابزار شد؛ چراکه اندکی پس از انتشار GPT-3، یکی از برنامهنویسان نشان داد که میتواند با کمک این ابزار، برنامههای وب سفارشی ازجمله دکمهها و فیلدهای ورودی متن و رنگها را با ترکیب مجدد کدهایی ایجاد کند که پیشتر به آن داده شده بود. شرکت دیگری به نام Debuild نیز میخواهد این فناوری را تجاری کند.
SourceAI قصد دارد به کاربرانش اجازه دهد طیف گستردهتری از برنامهها را به زبانهای مختلف تولید کنند؛ درنتیجه، اقدامات این شرکت نوپا به ایجاد خودکار نرمافزارهای بیشتر کمک میکند. بکتس گفت:
توسعهدهندگان میتوانند با استفاده از این ابزار، در زمان کدنویسی صرفهجویی کنند. این در حالی است که افراد بدون هیچ دانش برنامهنویسی نیز میتوانند با کمک SourceAI برنامههای مختلفی تولید کنند.
شرکت دیگری به نام TabNine از نسخهی قبلی مدل زبانی OpenAI موسوم به GPT-2 برای ساخت ابزاری استفاده کرده است که میتواند خط کدی را خودکار تکمیل کند که توسعهدهنده در حال تایپش است. چنین قابلیتی میتواند به صرفهجویی در زمان توسعهدهندگان و برنامهنویسان کمک بسیاری کند.
بهنظر میرسد برخی از غولهای نرمافزاری نیز به این ابزار و توسعهی موارد مشابه آن علاقهمند هستند. برای مثال، مایکروسافت سال ۲۰۱۹ یکمیلیارد دلار در OpenAI سرمایهگذاری و با صدور مجوز برای GPT-3 موافقت کرد. در کنفرانس Build این غول دنیای نرمافزار که ماه می برگزار شد، سام آلتمن، یکی از بنیانگذاران OpenAI، نشان داد چگونه GPT-3 میتواند کد توسعهدهنده را خودکار تکمیل کند. البته تاکنون مایکروسافت از توضیح دربارهی چگونگی استفاده از هوش مصنوعی در ابزارهای توسعه نرمافزار خودداری کرده است.
برندان دولانگاویت، استادیار گروه علوم و مهندسی کامپیوتر در دانشگاه نیویورک، میگوید بهاحتمال زیاد از مدلهای زبانی مانند GPT-3 برای کمک به برنامهنویسان انسانی استفاده خواهد شد. سایر ابزارها از این مدلها برای شناسایی اشکالات احتمالی کد شما هنگام برنامهنویسی استفاده میکنند.
استفاده از هوش مصنوعی برای تولید و تحلیل کد ممکن است مشکلساز باشد. در مقالهای که ماه مارس آنلاین منتشر شد، محققان دانشگاه MIT نشان دادند با ایجاد چند تغییر دقیق مانند جایگزینی برخی متغیرها برای ایجاد برنامهای مضر، میتوان ابزار هوش مصنوعی آموزشدیده را برای تأیید ایمنی آن فریب داد؛ درنتیجه یکی از مشکلات پیش روی این ابزارها، ناتوانی در تشخیص میزان امنبودن برنامههای مختلف است.
بهگفتهی یکی از دانشجویان دکتری که مشغول کار روی این موضوع است، نباید خیلی به مدلهای هوش مصنوعی اعتماد کرد. وی دراینباره گفت: «بهمحض اینکه این مدلها به مرحلهی تولید برسند، اتفاقات ناخوشایندی رخ میدهد.» دولانگاویت، استاد دانشگاه نیویورک، نیز معتقد است ماهیت مدلهای زبانی که برای تولید ابزار برنامهنویسی استفاده میشود، مشکلاتی ایجاد میکند. او افزود:
فکر میکنم استفاده مستقیم از مدلهای زبانی احتمالا به تولید کدهای باگدار و حتی ناامن منجر میشود. نباید فراموش کنیم آنها با کدهای نوشتهشدهی انسان آموزش دیدهاند که اغلب باگ دارند و امنیت کافی را ندارند.
دولانگاویت مدتی پیش وبسایت This Code Does Not Exist را راهاندازی کرد. در این وبسایت بخشی از کد به بازدیدکنندگان نشان داده میشود و آنان باید تصمیم بگیرند برنامهنویسش انسان بوده یا از ابزار GPT-2 برای این کار استفاده شده است. وی اکنون در حال توسعهی کدی است که با هوش مصنوعی نوشته شده و وظیفهاش تولید باگ برای آزمایش نرمافزارهای امنیتی است.
دانشمندان علوم رایانهای چندین دهه روشهای تولید خودکار کد برنامهنویسی را بررسی کردهاند؛ اما هوش مصنوعی مدرن توانسته با تواناییهایش هیجان بیشتری به تحقیقات اضافه کند. محققان فیسبوک آوریل ۲۰۱۹ جزئیات Aroma را منتشر کردند. Aroma ابزاری است که میتواند با استفاده از یادگیری ماشینی قسمتهای مختلف کدهای مشابه ازلحاظ عملکرد را شناسایی کند. این فناوری به توسعهدهندگان کمک میکند برنامهها را سریعتر بنویسند و از اشکالات جلوگیری کنند.
اکتبر ۲۰۲۰، گروهی در DeepMind برنامهای هوش مصنوعی را بهنمایش گذاشتند که میتواند نسخههای کارآمدتری از الگوریتمهای نوشتهشدهی انسان را ابداع کند. اینتل پروژهای به نام Machine Inferred Code Similarity دارد که میتواند با استفاده از هوش مصنوعی کاری را تقلید کند که بخشی از کد انجام میدهد. توانایی اینچنینی به ساخت خودکار برنامههای پیچیده کمک بسیاری میکند. یادگیری ماشینی نیز بهعنوان روشی برای خودکارسازی برخی از کارهای موردنیاز بهمنظور ساخت و تنظیم دقیق الگوریتمهای مختلف بهکار گرفته شده است.
درنهایت، باید دید ابزار SourceAI در عمل چقدر خوب کار میکند. هنوز نسخهی نمایشی عمومی از این فناوری وجود ندارد؛ اما بکتس گفت این ابزار ۸۰ تا ۹۰ درصد مواقع هنگام انجام دستورها ساده درست کار میکند. بهنظر میرسد او مطمئن است که میتواند برخی از جنبههای توسعهی نرمافزار را دگرگون کند. شرکت نوپای وی در حال کار روی ابزاری هوش مصنوعی است. او دربارهی این ابزار گفت: «روزی دانشجویان برای انجام سریع تکالیفشان از آن استفاده خواهند کرد.»
.: Weblog Themes By Pichak :.
