یکی از این تحولات شگرف اخیر حوزه فناوری، استفاده گسترده از هوش مصنوعی در نوشتن کدهای برنامهنویسی است. اما اگر تصور کنیم که این قابلیت فقط یک ویژگی فانتزی است، سخت در اشتباهیم. بنابر اعلام مدیر عامل مایکروسافت به عنوان بزرگترین شرکتهای نرمافزاری دنیا، در حال حاضر نزدیک به یک سوم کدهای برنامههای این شرکت توسط AI نوشته میشود، نه انسان!
پس از معرفی چت جی پی تی در سال 2023 بود که اولین توجهات به سمت توانایی هوش مصنوعی در نوشتن کدهای برنامهنویسی به زبانهای مختلف به صورت عمده معطوف شد. جدای از این که این قابلیت از چند سال پیش در برخی ابزارهای تخصصی شرکتهای مختلف مورد استفاده قرار میگرفته، این روزها به جایی رسیدهایم که شرکتهای تخصصی حوزه نرمافزار نیز بسیاری از کارهای کد نویسی خود را به هوش مصنوعی میسپارند.
یک سوم کدهای مایکروسافت با AI است
در همین زمینه و طی گفتگوی جالبی که در خلال کنفرانس LlamaCon بین ساتیا نادلا، مدیر عامل مایکروسافت و مارک زاکربرگ، مدیرعامل متا، برگزار شد. در این نشست، رئیس بزرگترین شرکت نرمافزاری دنیا نکاتی را در مورد استفاده از هوش مصنوعی اعلام کرده که شاید باورش تا همین یکی دو سال پیش برایمان دشوار بود.
نادلا در بخشی از صحبتهای خود اعلام کرد که این شرکت از هوش مصنوعی برای نوشتن ۲۰ تا ۳۰ درصد از کدهای نرمافزاری خود استفاده میکند. البته در این کنفرانس، بحثهای دیگری درباره تاثیرات تحولات اخیر در زمینه هوش مصنوعی و سهم آن در اکوسیستم متنباز (Open Source) مطرح شده که در ادامه به صورت خلاصه به آنها میپردازیم.
هوش مصنوعی در گوگل و سایر شرکتها
در حالی که مایکروسافت از هوش مصنوعی برای نوشتن بخش بزرگی از کدهای خود استفاده میکند، این موضوع تنها محدود به این شرکت نیست. در گزارش مالی سهماهه سوم سال گذشته، سندار پیچای، مدیرعامل گوگل، نیز فاش کرد که ۲۵ درصد از کدهای جدید در گوگل توسط هوش مصنوعی تولید میشود.
این نشان میدهد که هوش مصنوعی در حال حاضر در بسیاری از شرکتها به عنوان یک ابزار کمکی برای توسعهدهندگان استفاده میشود. این امر به صورت ویژه در کارهایی که به صورت مکرر، دادهمحور و پیشبینیپذیر هستند بسیار کاربردی خواهد بود.
AI، عالی در کدنویسی ولی همچنان نیازمند نظارت انسانی
استفاده از هوش مصنوعی در توسعه نرمافزار دیگر یک موضوع حاشیهای نیست. حالا شرکتهای بزرگی مانند مایکروسافت از این تکنولوژی برای افزایش سرعت و بهرهوری فرآیند کدنویسی استفاده میکنند. به گفته نادلا، استفاده از هوش مصنوعی به مایکروسافت این امکان را داده است که بخشی از کارهای تکراری و زمانبر کدنویسی را به صورت خودکار انجام دهد.
این موضوع نه تنها نشاندهنده تحول در نحوه توسعه نرمافزار است، بلکه توجهها را به چالشهای جدیدی که برای توسعهدهندگان تازهکار ایجاد میکند، جلب کرده است. هرچند که هوش مصنوعی به شکلهای مختلف در حال بهبود است، هنوز هم نیاز به نظارت انسانی و تخصصی در بسیاری از موارد وجود دارد.
اما باید در نظر داشت که هوش مصنوعی هنوز در برخی زمینهها محدودیتهایی دارد. برای مثال، کدهای تولید شده توسط AI به نظارت دقیق توسعهدهندگان ارشد نیاز دارند تا از بروز مشکلات در محیطهای تولیدی جلوگیری شود. این نگرانیها به ویژه برای توسعهدهندگان تازهکار که ممکن است نگران از دست دادن شغلهای خود باشند، بسیار برجسته است.
با توجه به تجربیاتی که طی چند سال گذشته در شرکتهای مختلف حاصل شده اکنون میتوان گفت که هوش مصنوعی در حال انجام وظایفی است که معمولاً تکراری و پیشبینیپذیر هستند و با انجام این کارها، بهرهوری شرکتها افزایش مییابد. از آنجا که هوش مصنوعی قادر است فرآیندهای زمانبر را خودکار کند، نیاز به نیروی کار سطح پایین کاهش مییابد.
مایکروسافت و AI در زبان پایتون
یکی از نکات جالب که نادلا در نشست خود با زاکربرگ به آن اشاره کرد، تفاوت عملکرد هوش مصنوعی در زبانهای مختلف برنامهنویسی بود. به گفته وی، مایکروسافت نتایج بهتری با کدهای تولید شده توسط هوش مصنوعی در زبان پایتون نسبت به C++ به دست آورده است.
دلایل متعددی برای این تفاوت وجود دارد که شامل نحو سادهتر پایتون، نگارش پویا برنامهها ، مدیریت خطا و مدیریت حافظه میشود. این در حالی است که C/C++ به طور پیشفرض از Garbage Collection (حذف خودکار بخشهای ذخیره شده حافظه بدون ارجاع در برنامه) پشتیبانی نمیکند و بیشتر برای کدنویسی سطح پایین مناسب است که خودکارسازی آن چالشبرانگیز است.
طراحی هوش مصنوعی با هوش مصنوعی
در بخش دیگری از این نشست جالب، نادلا به استفاده از هوش مصنوعی برای طراحی مدلهای هوش مصنوعی دیگر اشاره کرد. هرچند که ممکن است این موضوع در نگاه اول عجیب به نظر برسد، اما باید گفت که این فرآیند در حال حاضر در دست توسعه است. برای این هدف، تیم ردموندیها یک زمینه خاص به نام AutoML را بومیسازی کرده که به طور تخصصی به اتوماسیون فرآیند طراحی مدلهای هوش مصنوعی میپردازد.
نادلا در این زمینه میگوید:
ممکن است ۲۰ تا ۳۰ درصد از کدی که در مخازن ما وجود دارد و در برخی از پروژههای ما احتمالاً تمام کدها توسط نرمافزار نوشته شده باشند.
این اظهارات به روشنی نشان میدهد که هوش مصنوعی به طور فزایندهای در حال تبدیل شدن به ابزاری کلیدی در توسعه نرمافزار است.
آینده هوش مصنوعی و برنامهنویسیهای گسترده
این یک حقیقت و اصل انکارناپذیر است که در روزگار فعلی ما، استفاده از هوش مصنوعی در برنامهنویسی همچنان با چالشهایی همراه است. البته این تغییرات به طور قطع روندهای جدیدی را در دنیای توسعه نرمافزار ایجاد میکند.
طبیعی است نگرانیهایی درباره از دست دادن شغل برای توسعهدهندگان تازهکار وجود دارد، اما استفاده معقول از این تکنولوژی و توانایی ترکیب آن با دانش تخصصی میتواند به توسعهدهندگان کمک کند تا در این دنیای جدید موفق شوند. به گفته نادلا، در حالی که آینده پیشبینیناپذیر است، این درصد استفاده از هوش مصنوعی در آینده به احتمال زیاد تغییر خواهد کرد.