هوش مصنوعی دنیای توسعهدهندگان نرمافزار را دگرگون میکند
زیر پوست دنیای توسعه نرمافزار دو تغییر در حال وقوع است. از زمان معرفی چتبات هوش مصنوعی چت جیپیتی در سال ۲۰۲۲، مدیران و روسا در تلاش برای یافتن روشهایی برای استفاده از هوش مصنوعی هستند. تا حالا اغلب تلاشها نتیجه چندانی نداشتهاند، اما در این میان برنامهنویسی نرمافزاری استثنا است. نظرسنجیها در این زمینه نشان میدهند که توسعهدهندگان نرمافزار در سراسر جهان هوش مصنوعی مولد را آنقدر مفید میدانند که در حال حاضر حدود دو پنجم آنها مشغول استفاده از آن هستند. این حرفه به یک شکل دیگر هم در حال تغییر است. سهم رو به رشد مهندسان جهان از بازارهای نوظهور میآیند. هیچ تعریف استاندارد و مشخصی از یک توسعهدهنده وجود ندارد، اما در حدود سال ۲۰۲۰ تعداد کاربران پلتفرم محبوب ذخیره و اشتراکگذاری کد Github که در کشورهای فقیرتر زندگی میکنند، از کشورهای ثروتمند پیشی گرفت. در همین راستا، انتظار میرود که در چند سال آینده هند با پشت سر گذاشتن آمریکا به بزرگترین استخر استعدادهای برنامهنویسی جهان تبدیل شود.
این تغییرات بسیار مهم هستند، زیرا استعداد در حوزه نرمافزار بسیار ارزشمند است. حقوقها در این صنعت بالا هستند؛ بهطور متوسط دستمزد ماهانه یک توسعهدهنده در آمریکا در بین 5 درصد از مشاغل ردهبالا قرار دارد و این به معنای آن است که برنامهنویسان بیشتر از مهندسان هستهای درآمد دارند. غولهای تکنولوژی برای جذابتر کردن پلتفرمهایشان به آنها نیاز دارند؛ مدیران شرکتهای غیرتکنولوژی هم به دنبال استخدام برنامهنویسان بیشتری برای کمک به اقدامات خود در راستای دیجیتالیزه شدن هستند که امیدوارند از این طریق بهرهوریشان را افزایش دهند و در نظر مشتریان جذابتر شوند. بنابراین این دو تغییر، اخبار خوشایندی هستند. به نظر میرسد که آیندهای بسیار خلاقانهتر با برنامهنویسان بیشتر و نرمافزارهای ارزانتر در پیش خواهد بود.
اغلب تکنولوژیهای جدید به توسعهدهندگان نرمافزار کمک کردهاند. به عنوان مثال، اینترنت به وظیفه زمانبری مانند پاسخگویی به سوالات از طریق کتابهای درسی پایان داد. به نظر میرسد هوش مصنوعی مولد همچنان گامی بسیار بزرگتری رو به جلو باشد. یکی از دلایل اینکه چرا هوش مصنوعی مولد بهطور خاص میتواند برای توسعهدهندگان مفید باشد، دسترسی آن به دادههاست. انجمنهای آنلاین مانند Stack Overflow، آرشیوهای بسیار عظیمی از سوالات پرسیده و پاسخ داده شده توسط برنامهنویسان را در اختیار دارند. پاسخها اغلب رتبهبندی شدهاند که به الگوهای هوش مصنوعی کمک میکند تا بفهمند که چه چیزی مفید است و چه چیزی نیست. همچنین به گفته ناتان بنیاچ از شرکت سرمایهگذاری خطرپذیر
Street Capital، کدنویسی پر از حلقههای بازخورد و تستهایی است که بررسی میکنند تا مشخص شود که آیا نرمافزار به درستی کار میکند یا نه. الگوهای هوش مصنوعی میتوانند از این بازخوردها برای یادگیری و بهبود خود استفاده کنند. در نتیجه نوعی انفجار ابزارهای جدید برای کمک به برنامهنویسان رخ داده است. شرکت دادهپردازی و تحلیل داده PitchBook حدود ۲۵۰ استارتآپ را که چنین ابزارهایی را تولید میکنند، بررسی کرده است. غولهای تکنولوژی در این زمینه پیشرو هستند. در ماه ژوئن سال ۲۰۲۲ پلتفرم GitHub که متعلق به مایکروسافت است، کوپایلوت (Copilot) را معرفی کرد. کوپایلوت مثل بسیاری از ابزارها میتواند با یک اشاره، خطوطی از کد را تولید کند. حدود دو میلیون نفر از جمله کارمندان 90 درصد از شرکتهای فهرست فورچون۱۰۰ هزینه اشتراک آن را میپردازند. در سال ۲۰۲۳ آلفابت (شرکت مادر گوگل) و متا (شرکت مادر فیسبوک) رقبای کوپایلوت را عرضه کردند. امسال آمازون و اپل نیز به دنبال آنها رفتند. بسیاری از شرکتهای دیگر هم ابزارهای هوش مصنوعی کدنویسی را برای استفاده داخلی خود تولید کردهاند.
با این حال هنوز هم سودمندی هوش مصنوعی تا حدی محدود است. وقتی شرکت تحقیقاتی Evans Data از برنامهنویسان پرسید که این تکنولوژی چقدر در زمان آنها صرفهجویی میکند، محبوبترین پاسخ با ۳۵ درصد آرا بین ۱۰ تا ۲۰ درصد بود. مقداری از این صرفهجویی از طریق تولید کدهای ساده و تکراری به دست میآید، اما این ابزارها هنوز کامل نیستند. یک مطالعه انجام شده توسط شرکت نرمافزاری GitClear، نشان داد که در طول سال گذشته یا مدتی بیشتر از آن کیفیت کدها کاهش یافته است و به عقیده آنها استفاده از الگوهای هوش مصنوعی مقصر این افت کیفیت است. یک نظرسنجی که توسط شرکت امنیت سایبری Synk انجام شده است، نشان داد که بیش از نیمی از سازمانها اعلام کردهاند که مسائل امنیتی ناشی از کدهای ضعیف تولید شده توسط هوش مصنوعی را کشف کردهاند و هوش مصنوعی هنوز نمیتواند مشکلات جدی برنامهنویسی را تشخیص بدهد. نسل بعدی ابزارها باید بهتر باشند. در ماه ژوئن امسال استارتآپ هوش مصنوعی آنتروپیک (Anthropic) الگوی هوش مصنوعی جدید خود به نام Claude 3.5 Sonnet را عرضه کرد که نسبت به مدلهای قبلی خود در کدنویسی بهتر است. در روز دوازدهم سپتامبر شرکت اوپنایآی، سازنده چت جیپیتی، نسخهای از آخرین مدل خود به نام o1 را معرفی کرد که طبق ادعای آنها در تولید و رفع اشکال کدهای پیچیده دقیق عمل میکند.
ابزارهای هوش مصنوعی بهطور فزایندهای میتوانند به انجام دیگر وظایف خستهکننده هم کمک کنند؛ از جمله نوشتن توضیحاتی درباره عملکرد کد یا طراحی تستهایی که اطمینان حاصل میکنند کد به درستی عمل میکند. طبق اعلام شرکت مشاوره Bain، کدنویسی تنها بخشی از کار یک مهندس نرمافزار است و حدود ۴۰ درصد از زمان آنها را به خود اختصاص میدهد. این ابزارها همچنین ممکن است به برنامهنویسان کمک کنند تا با تغییر زبانهای برنامهنویسی سریعتر سازگار شوند و راحتتر بتوانند مهارتهای خود را با شرایط متفاوت تطبیق بدهند.
یورو بینات، از شرکت سرمایهگذاری Prosus میگوید که او دیده است که مهندسان به جای سه ماه در طول یک هفته از یک زبان به زبان دیگر تغییر مسیر بدهند. آمازون اخیرا اعلام کرده است که با تبدیل هزاران برنامه کاربردی از یک نوع کد به یک نوع دیگر با استفاده از هوش مصنوعی، مبلع 260 میلیون دلار صرفهجویی کرده است.
این انعطافپذیری تازهیافته به انواع مختلف برنامهنویسی هم گسترش پیدا میکند. یک اپلیکیشن کوچک که قبلا ممکن بود به تیمی از شش نفر نیاز داشته باشد تا روی بخشهای مختلفی مانند رابط کاربری یا زیرساختهای نرمافزاری کار کنند، حالا با تغییرات جدید نیاز به افراد کمتری دارد. جنیفر لی از شرکت بزرگ سرمایهگذاری خطرپذیر Andreessen Horowitz، میگوید که در حال حاضر استارتآپهای بیشتری با کارمندان کمتری را میبینیم، زیرا برنامهنویسان به راحتی میتوانند وظایف مختلفی را به عهده بگیرند. بسیاری از مدیران آیتی هم میگویند که حالا آموزش توسعهدهندگان تازه استخدامشده درباره پیچیدگیهای نرمافزار شرکتشان هم سریعتر انجام میشود. به نظر میرسد که این تغییرات به مهندسان کمتجربه کمک بیشتری میکند.
آنها خواهند توانست وظایف پیچیدهتری را با سرعت بیشتری انجام دهند و برخی از کارهایی که پیشتر آنها انجام میدادند، ممکن است حالا توسط افراد غیرمتخصص هم انجام شوند. روند رو به رشد پلتفرمهای «بدون کدنویسی» و «با کدنویسی کم» هم که به هر کسی اجازه میدهند کدهای نرمافزاری را بنویسد، به کمک هوش مصنوعی تقویت خواهد شد. بانک برزیلی Banco do Brasil، از چنین سیستمی استفاده کرده است تا به کارمندانش امکان توسعه صدها اپلیکیشن را بدهد؛ از جمله اپلیکیشنهایی که به مشتریانی کمک میکنند که به دنبال محصولات بیمهای هستند.
هنوز کاملا مشخص نیست که تمام این تغییرات چه معنایی برای توسعهدهندگان دارند. یک دیدگاه این است که هوش مصنوعی و برونسپاری، مشاغل توسعهدهندگان نرمافزار را در کشورهای غربی بهطور گستردهای از بین میبرد. اما به نظر میرسد که این دیدگاه دور از واقعیت است، چون همچنان به مقادیر زیادی دانش فنی نیاز هست تا بتوان بخشهای مختلف کد را به هم متصل و اطمینان حاصل کرد که به درستی کار میکنند. نگاه خوشبینانهتر در این میان آن است که بخشهای خستهکننده و تکراری توسعه نرمافزار توسط کامپیوترها انجام شود و وقت توسعهدهندگان صرف مسائل پیچیدهتر و باارزشتر شود. این دیدگاه ممکن است به واقعیت نزدیکتر باشد. از سوی دیگر، این روند برای مشتریان هم خبر خوبی است. مدتهاست که مدیران آیتی میگویند روسای آنها خواستار دیجیتالیسازی بیشتر با بودجههای محدودتر هستند. حالا و با کمک هوش مصنوعی و برونسپاری، احتمالا این درخواستها دیگر غیرواقعی و غیرعملی نخواهند بود.