عکس ۶۵.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