عکس ۶۵.jpg
هوش مصنوعی همه چیز را خودکار می‌کند و آیا می‌تواند جایگزین برنامه‌نویسان شود؟ عکس: میدجورنی

تیمی از محققان به تازگی نقشه جامعی از چالش‌های پیش روی هوش مصنوعی (AI) در توسعه نرم‌افزار منتشر کرده و یک نقشه راه تحقیقاتی برای پیشبرد این حوزه پیشنهاد داده‌اند.

آینده‌ای را تصور کنید که در آن هوش مصنوعی بی‌سروصدا وظایف پیش پا افتاده توسعه نرم‌افزار را بر عهده می‌گیرد: بازسازی کدهای درهم‌تنیده، انتقال سیستم‌های قدیمی و شناسایی شرایط رقابتی، و مهندسان نرم‌افزار انسانی را آزاد می‌گذارد تا روی معماری سیستم، طراحی و مشکلات خلاقانه‌ای که ماشین‌ها هنوز نمی‌توانند حل کنند، تمرکز کنند. به نظر می‌رسد پیشرفت‌های اخیر در هوش مصنوعی، این چشم‌انداز را به واقعیت نزدیک‌تر می‌کند.

با این حال، یک مطالعه جدید توسط دانشمندان آزمایشگاه علوم کامپیوتر و هوش مصنوعی (CSAIL) - MIT و موسسات تحقیقاتی همکار نشان داده است که: برای تحقق آن آینده، ابتدا باید مستقیماً به چالش‌های بسیار واقعی زمان حال نگاه کنیم.

آرماندو سولار-لزاما، استاد مهندسی برق و علوم کامپیوتر در دانشگاه MIT، محقق ارشد CSAIL و نویسنده اصلی این مطالعه، گفت: «بسیاری از مردم می‌گویند که دیگر به برنامه‌نویسان نیازی نیست زیرا هوش مصنوعی می‌تواند همه چیز را خودکار کند. در واقع، ما پیشرفت قابل توجهی داشته‌ایم. ابزارهایی که امروزه در اختیار داریم بسیار قدرتمندتر از گذشته هستند. اما هنوز راه درازی در پیش داریم تا به پتانسیل کامل اتوماسیون دست یابیم.»

پروفسور آرماندو سولار-لزاما استدلال می‌کند که تصور رایج از مهندسی نرم‌افزار این است که این یک کار مشابه یک تکلیف برنامه‌نویسی دانشجویی است: یک تابع کوچک را بردارید و کدی برای مدیریت آن بنویسید، یا یک تمرین به سبک LeetCode انجام دهید. واقعیت بسیار پیچیده‌تر است: از بازسازی کد برای بهینه‌سازی طرح‌ها گرفته تا مهاجرت‌های بزرگ با میلیون‌ها خط کد از COBOL به جاوا که کل پشته فناوری یک شرکت را تغییر می‌دهد.

اندازه‌گیری و ارتباط همچنان از مشکلات دشوار هستند

بهینه‌سازی‌های کد در مقیاس صنعتی - مانند اصلاحات هسته GPU یا بهبودهای چند لایه در موتور Chrome V8 - هنوز برای ارزیابی دشوار هستند. معیارهای فعلی عمدتاً برای مشکلات کوچک و بسته‌بندی شده هستند. عملی‌ترین معیار، SWE-Bench، به سادگی از یک مدل هوش مصنوعی می‌خواهد که یک اشکال را در GitHub برطرف کند - یک تمرین برنامه‌نویسی سطح پایین که شامل چند صد خط کد است و به طور بالقوه داده‌ها را افشا می‌کند و طیف گسترده‌ای از سناریوهای دنیای واقعی، مانند بازسازی با کمک هوش مصنوعی، برنامه‌نویسی جفت انسان و ماشین یا بازنویسی‌های سیستم با کارایی بالا با میلیون‌ها خط کد را نادیده می‌گیرد. تا زمانی که معیارها برای پوشش این سناریوهای پرخطر گسترش نیابند، اندازه‌گیری پیشرفت - و در نتیجه تسریع آن - یک چالش باز باقی خواهد ماند.

علاوه بر این، ارتباط انسان و ماشین نیز یک مانع بزرگ است. الکس گو، دانشجوی دکترا و نویسنده اصلی مقاله، گفت که در حال حاضر، تعامل با هوش مصنوعی هنوز مانند "یک خط ارتباطی شکننده" است. وقتی از هوش مصنوعی خواسته می‌شود کد تولید کند، اغلب فایل‌های بزرگ و بدون ساختار را به همراه چند مجموعه تست ساده و ناقص دریافت می‌کند. این شکاف همچنین در این واقعیت منعکس می‌شود که هوش مصنوعی نمی‌تواند به طور مؤثر از ابزارهای نرم‌افزاری که برای انسان‌ها آشنا هستند مانند اشکال‌زداها، تحلیل‌گرهای استاتیک و غیره استفاده کند.

فراخوان برای اقدام از سوی جامعه

نویسندگان استدلال می‌کنند که هیچ راه حل جادویی برای این مشکلات وجود ندارد و خواستار تلاش‌هایی در مقیاس جامعه هستند: ایجاد داده‌هایی که منعکس کننده فرآیند توسعه واقعی برنامه‌نویسان باشد (کدام کد را نگه دارند، کدام کد را حذف کنند، چگونه کد در طول زمان بازسازی می‌شود و غیره)؛ ابزارهای ارزیابی مشترک برای کیفیت بازسازی، دوام وصله‌ها و دقت انتقال سیستم؛ و ساخت ابزارهای شفافی که به هوش مصنوعی اجازه می‌دهد عدم قطعیت را ابراز کند و مداخله انسانی را دعوت کند.

دانشجوی دکترا، الکس گو، این را به عنوان یک «فراخوان برای اقدام» برای جوامع متن‌باز در مقیاس بزرگ می‌بیند که هیچ آزمایشگاهی به تنهایی نمی‌تواند آن را ارائه دهد. سولار-لزاما پیش‌بینی می‌کند که پیشرفت در گام‌های کوچک و افزایشی حاصل می‌شود - «یافته‌های تحقیقاتی که هر بار یک بخش از مشکل را حل می‌کنند» - و هوش مصنوعی را از یک «ابزار پیشنهاد کد» به یک شریک مهندسی واقعی تبدیل می‌کند.

گو گفت: «چرا این موضوع اهمیت دارد؟ نرم‌افزار در حال حاضر پایه و اساس امور مالی، حمل و نقل، مراقبت‌های بهداشتی و تقریباً هر فعالیت روزانه است. اما تلاش انسان برای ساخت و نگهداری ایمن آن در حال تبدیل شدن به یک تنگنا است. هوش مصنوعی که بتواند کارهای سنگین را بدون ایجاد خطاهای پنهان انجام دهد، برنامه‌نویسان را آزاد می‌کند تا روی خلاقیت، استراتژی و اخلاق تمرکز کنند. اما برای رسیدن به آنجا، باید درک کنیم که اتمام یک قطعه کد بخش آسان است - بخش سخت، چیزهای دیگر است.»

(ترجمه مختصر از اخبار MIT)

منبع: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html