محققان مایکروسافت نوعی هوش مصنوعی ایجاد کردهاند که در انجام برنامهنویسی به توسعهدهندگان کمک میکند. به گزارش سایبربان؛ در حال حاضر هوش مصنوعی کاربردهای بسیار گستردهای پیدا کرده و در زمینههای مختلفی مانند بازیهای رایانهای، خودروهای بی راننده، ابزارهای هوشمند حضور پیدا کرده است. همچنین در بحث امنیت سایبری از این فناوری استفاده شده به صورت کاملاً خودکار کدهایی را برای تولید وصلههای آسیبپذیریها تولید میکنند.
پژوهشگران مایکروسافت و دانشگاه کمبریج به تازگی موفق به ایجاد نوعی هوش مصنوعی به نام دیپکدر (DeepCoder) شدهاند که میتواند با بررسی کدهای نوشته شده برای برنامههای موجود، از آنها یاد گرفته و نرمافزار خود را تولید کند. این افراد برای دستیابی به دیپکدر و حل مشکلات برنامهنویسی و کد زنی، از روشی به نام سنتز برنامه1 (program synthesis) استفاده کردند. در اسناد این پروژه اشاره شده است این هوش مصنوعی روش برنامهنویسی را یاد میگیرد.
محققان توضیح دادند دیپکدر میتواند روند انجام کار را برای توسعهدهندهها سادهتر کند. این فناوری با استفاده از یادگیری ماشینی خطوط مناسب را از یک پایگاه دادهی بزرگ کد برداشته و به عنوان راهنمای طراحی و توسعه ارائه میدهد؛ به عبارت دیگر این دستاورد تنها در چند ثانیه کدهای برنامه را بررسی و بهترین آن را انتخاب کرده و در برنامه مینویسد.
با توجه به گزارش منتشر شده از سوی مارک بروکاشمیت (Marc Brockschmidt) از بخش تحقیقات مایکروسافت، دیپکدر به مرور زمان پیشرفت کرده و در حل مشکلات بزرگتر به کار گرفته میشود و ارائه راهکارهای بهتر و بهینهتری را ارائه میدهد. این نوع فناوری اقدام به کد زنی نمیکند، بلکه تنها ایدههای برنامهنویسی خود را مطرح کرده و منتظر میماند تا سیستم آن را ایجاد کند.
دانشمندان اعلام کردند در حال حاضر دیپکدر را تنها میتوان در برنامههایی متشکل از 5 خط استفاده کرد؛ اما این محدودیت در چند سال آینده کاهش خواهد یافت. سنتز برنامه میتواند بخشهای خستهکنندهی برنامهنویسی را بر عهده گرفته و اجازه میدهد توسعهدهندگان روی بخشهای پیچیدهتر تمرکز کنند.
در گذشته گزارشهایی منتشر شد که نشان میدهد، پیشرفت هوش مصنوعی جایگاه شغلی برنامه نویسان را با خطر مواجه خواهد کرد؛ اما سازندگان دیپکدر ادعا میکنند که فناوری آنها باعث از بین رفتن موقعیت شغلی توسعهدهندگان نشده و تنها وظیفهی کمک به آنها را دارد.
1. سنتز برنامه یک شکل خاص از برنامهنویسی خودکار است که اغلب برای بررسی صحت عملکرد الگوریتمها به کار گرفته میشود.