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

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

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

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

پروفسور آرماندو سولار-لزاما، مدرس مهندسی برق و علوم کامپیوتر در دانشگاه 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