وقتی هوش مصنوعی کد می نویسد آیا مهندسان نرم افزار بیکار می شوند؟
دانلود عکس: ورود هوش مصنوعی مولد به حوزه مهندسی نرم افزار به نقطه ای رسیده که معیار بهره وری دیگر تعداد خطوط کدی نیست که یک مهندس می تواند در مدت زمان مشخص تولید نماید.
به گزارش دانلود عکس به نقل از مهر؛ ورود هوش مصنوعی مولد به حوزه مهندسی نرم افزار به نقطه ای رسیده که معیار راندمان دیگر تعداد خطوط کدی نیست که یک مهندس می تواند در مدت زمان مشخص تولید نماید. مسئله مهم تر حالا فاصله ای است که میان فرآیند «تولید کد» و «فهم کد» شکل می گیرد. بر همین اساس، عامل های هوش مصنوعی قادر هستند در زمانی کوتاه حجم بزرگی از کد را تولید، آزمایش و بهینه سازی کنند، اما سرعت تولید آنها می تواند از ظرفیت انسانی برای بازنگری و فهم همان کد پیشی بگیرد. در چنین وضعیتی، مهندس نرم افزار بتدریج از سازنده مستقیم سیستم به ناظر سیستم ای تبدیل می شود که بخشی از منطق درونی آنرا نمی داند.
تولید کد درست، اما نامفهوم
نشانه روشن این تحول را میتوان در یکی از تخصصی ترین حوزه های برنامه نویسی، یعنی بهینه سازی کرنل های پردازنده های گرافیکی دید. گزارش اخیر وبگاه خبری بیزینس اینسایدر نشان داده است که هوش مصنوعی بخشی از کاری را که پیشتر بر دوش مهندسان متخصص معماری یکپارچه محاسباتی دستگاه (CUDA) بود، بسمت تولید و آزمایش خودکار کرنل ها سوق داده است. جرمی نیکسون، بنیان گذار شرکت «Infinity»، این تحول را زمینه ظهور نوعی توسعه نرم افزار می داند که در آن ماشین می تواند در تعدادی وظایف تخصصی به عملکردی فراتر از انسان برسد. با این وجود، همان گزارش بر استمرار اهمیت مهندسان باتجربه برای کنترل کیفیت و تشخیص خطاهای پیشبینی ناپذیر تاکید می کند.
اهمیت این تحول در یک تمایز بنیادی نهفته است. «درستی عملکردی» الزاماً معادل «قابلیت فهم انسانی» نیست. بعبارت دیگر، یک کرنل می تواند آزمون های تعیین شده را با موفقیت پشت سر بگذارد و عملکرد بسیار خوبی داشته باشد، در صورتیکه مهندسی که مسئول نگهداری آنست نتواند منطق اجرای آنرا خط به خط توضیح دهد. با گسترش این الگو، آزمون و معیارهای عملکرد بتدریج بخشی از نقشی را بر عهده می گیرند که پیشتر فهم مستقیم برنامه نویس از کد ایفا می کرد.
تغییر گلوگاه از نوشتن کد به درک سازوکار و منطق
داده های پژوهش سال ۲۰۲۶ شرکت «Undo» این مسئله را از سطح داستانهای فردی در رابطه با تحولات ناشی از توسعه هوش مصنوعی فراتر می برد. این شرکت در مطالعه خود در رابطه با استفاده از عامل های برنامه نویسی در سیستم های پیچیده نتیجه می گیرد که کاهش هزینه تولید کد، گلوگاه مهندسی نرم افزار را به مراحل پایین دستی، خصوصاً فهم کد، اشکال زدایی و بررسی رخدادهای عملیاتی منتقل کرده است. بر همین اساس، حدود ۹۱ درصد مدیران و رهبران حوزه مهندسی نرم افزار مورد بررسی گفته اند فهم و اشکال زدایی در پایگاه های کد پیچیده «C» و «C++» زمان بیشتری می طلبد. این گزارش همین طور اخطار می دهد که افزایش حجم کد تولیدشده توسط هوش مصنوعی می تواند فرسایش و خستگی ناشی از بازنگری را متخصصان تشدید کند و احتمال ورود نقص های کشف نشده به محیط عملیاتی را افزایش دهد.
به باور کارشناسان، این یافته، مبین ایجاد نوعی پارادوکس در مسئله راندمان است. هوش مصنوعی زمان موردنیاز برای تولید کد را می کاهد، اما سازمان امکان دارد بخشی از این صرفه جویی را در مرحله فهم، بازنگری و رفع اشکال باردیگر هزینه کند. ازاین رو سنجش راندمان بر اساس سرعت تولید کد تصویری ناقص از اثرگذاری هوش مصنوعی بر حوزه برنامه نویسی عرضه می کند. در چنین شرایطی، معیار مهم تر باید هزینه کل چرخه عمر نرم افزار، از تولید تا بازنگری، آزمون، نگهداری و بازیابی بعد از خطا باشد.
مأموریت مهندسان آینده معماری معیارهای صحت کد است
علاوه بر همه موارد ذکر شده، تحول دیگری هم در این مورد درحال ایجاد است. بر همین اساس، شرکت تراشه سازی «AMD» پیشتر آینده توسعه نرم افزار را مدلی توصیف کرده بود که در آن عامل های هوش مصنوعی نیازمندی را تحلیل می کنند، کد می سازند، آزمون تولید می کنند و نتیجه را برای تأیید مهندس عرضه می دهند. این شرکت حالا اعلام نموده که سهم کد تولیدشده با هوش مصنوعی در مجموعه فعالیت هایش از ۲۰ درصد عبور کرده و در تعدادی مؤلفه های نرم افزاری به بیشتر از ۸۰ درصد رسیده است.
در این معماری، ارزش مهندس از توانایی نوشتن مستقیم هر تابع به توانایی طراحی معماری، تعریف محدودیت ها، تعیین معیارهای صحت و تشخیص شکست تغییر یافته است. همین تحول یک اجبار مهم بوجود می آورد و به طبع آن انسانی که مسئول تأیید خروجی است باید دانش کافی برای تشخیص خطا داشته باشد. مجله تخصصی آی تریپل ئی اسپکتروم ( IEEE Spectrum) هم در سفارش های خود برای نسل جدید مهندسان بر فهم سازوکارهای زیرین، مهارت اشکال زدایی و طراحی سیستم تاکید می کند، برای اینکه اتکای صرف به تولید خودکار کد می تواند توانایی تشخیص و بهینه سازی را تضعیف کند.
از مهندسی کد به مهندسی اعتماد
پیامد این تحول در سیستم های حساس شدیدتر می شود. هرچه عامل های برنامه نویسی اختیار بیشتری برای تغییر مخازن، فراخوانی رابط ها برنامه نویسی (API)، تعامل با پایگاه های داده و اصلاح زیرساخت پیدا کنند، دامنه اثر یک تصمیم اشتباه هم بیشتر می شود. شرکت خدمات وب آمازون (AWS) در قالب کنترلی خود برای عامل های برنامه نویسی هوش مصنوعی بر تأیید انسانی تغییرات حساس و تفکیک عامل تولیدکننده کد از عامل بازبین تاکید کرده است. حتی استفاده از نشست جداگانه همان مدل هم کافی تلقی نمی گردد، برای اینکه دو نمونه از یک مدل می توانند ضعف های نظام مند مشابهی داشته باشند.
آینده برنامه نویسی احیانا با حذف مهندس نرم افزار تعریف نخواهد شد. تحول عمیق تر در تغییر مبحث مهندسی رخ می دهد. هنگامی که ماشین بخش درحال افزایشی از کد را تولید می کند، وظیفه انسانی بسمت طراحی معماری، تعیین حدود اختیار عامل ها، تعریف آزمون های معتبر، ارزیابی ریسک و تضمین قابلیت ممیزی می رود.
مرز خطر هم دقیقاً در همین نقطه آشکار می گردد. اگر سرعت تولید ماشینی از ظرفیت سازمان برای فهم و کنترل خروجی پیشی بگیرد، افزایش ظاهری راندمان می تواند به انباشت نوع تازه ای از بدهی فنی منجر شود و کدی که امروز سریع تر تولید می شود، امکان دارد فردا برای تشخیص خطا، اصلاح امنیتی یا پاسخ گویی در رابطه با علت یک شکست به مسئله ای پرهزینه تبدیل گردد.
منبع: imgdl.ir
این مطلب را می پسندید؟
(1)
(0)
تازه ترین مطالب مرتبط
نظرات بینندگان در مورد این مطلب