ورود هوش مصنوعی مولد به حوزه مهندسی نرمافزار به نقطهای رسیده که معیار بهرهوری دیگر تعداد خطوط کدی نیست که یک مهندس میتواند در مدت زمان مشخص تولید کند.

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









