با وجود دسترسی به ابزارها، عاملهای هوش مصنوعی هنوز قادر به دیباگ کردن نرمافزار بهطور قابلاعتماد نیستند.
هوش مصنوعی در چند سال اخیر پیشرفتهای چشمگیری در زمینه توسعه نرمافزار داشته است. از کدنویسی «حسی» تا GitHub Copilot و استارتاپهایی که با کمک LLMها برنامههای سریع و ابتدایی میسازند، هوش مصنوعی اکنون بهطور عمیقی در این حوزه یکپارچه شده است. با این حال، ادعاهایی که میگویند تنها در چند ماه آینده عاملهای هوش مصنوعی جایگزین اکثر برنامهنویسان خواهند شد، باید انتظارات خود را اصلاح کنند. دلیل آن این است که مدلها در بخش دیباگینگ هنوز به اندازه کافی کارآمد نیستند و دیباگینگ بخش بزرگی از زمان یک توسعهدهنده را میگیرد. این نکته توسط تحقیقاتی از Microsoft Research مطرح شده است که ابزاری به نام debug-gym را برای آزمایش و بهبود توانایی مدلهای هوش مصنوعی در دیباگ کردن نرمافزار توسعه داده است.
Debug-gym که در GitHub موجود است، محیطی است که به مدلهای هوش مصنوعی این امکان را میدهد که تلاش کنند تا هر مخزن کد موجود را با دسترسی به ابزارهای دیباگ که بهطور تاریخی بخشی از فرایند این مدلها نبودهاند، دیباگ کنند. مایکروسافت متوجه شد که بدون این روش، مدلها در انجام وظایف دیباگینگ بهطور قابلتوجهی ضعیف عمل میکنند. با استفاده از این روش، مدلها بهتر عمل میکنند، اما هنوز فاصله زیادی با توانایی یک برنامهنویس انسانی با تجربه دارند.
محققان مایکروسافت اینگونه debug-gym را توصیف میکنند:
Debug-gym دامنه عملکرد و مشاهده یک عامل را با بازخورد استفاده از ابزارها گسترش میدهد. این ابزارها شامل تنظیم نقاط شکست، حرکت در کد، چاپ مقادیر متغیرها و ایجاد توابع آزمایشی است. عاملها میتوانند با استفاده از این ابزارها برای بررسی یا تغییر کد اقدام کنند، اگر اطمینان داشته باشند. ما معتقدیم که دیباگینگ تعاملی با ابزارهای مناسب میتواند عاملهای کدنویسی را قادر سازد که به وظایف مهندسی نرمافزار دنیای واقعی بپردازند و این یک حوزه تحقیقاتی مرکزی برای مدلهای LLM است. اصلاحاتی که توسط چنین عاملی با قابلیت دیباگینگ پیشنهاد میشود و سپس توسط یک برنامهنویس انسانی تأیید میشود، باید در بستر کد، اجرای برنامه و مستندات مرتبط با آن قرار گیرد و نه صرفاً به حدسهایی که بر اساس دادههای آموزشی قبلی استوار است.
نتایج آزمایشها که در تصویر زیر نشان داده شده، نشان میدهد که این روش بسیار موفقتر از استفاده معمولی از مدلها است. با این حال، حتی در بهترین حالت (نرخ موفقیت ۴۸/۴ درصد) این مدلها هنوز برای استفاده در سطح وسیع آماده نیستند. محدودیتها احتمالاً به این دلیل است که مدلها هنوز نمیدانند چگونه از ابزارها به بهترین نحو استفاده کنند و دادههای آموزشی فعلی آنها برای این کاربرد خاص بهینه نشده است.
این مشکل به کمبود دادههایی که رفتار تصمیمگیری متوالی (مانند ردپاهای دیباگینگ) را در مجموعه دادههای آموزشی مدلهای LLM نشان میدهد، برمیگردد. با این حال، بهبود قابل توجه عملکرد نشان میدهد که این جهت تحقیقاتی امیدوارکننده است.
این گزارش اولیه تنها آغاز تلاشها است. مرحله بعدی این است که «مدلی جستجوگر اطلاعات تخصصی در جمعآوری دادههای لازم برای حل باگها» بهینهسازی شود. یکی از راههای ممکن برای کاهش هزینههای استنتاج، ساخت مدلی کوچکتر با تمرکز بر جستجوی اطلاعات است که میتواند اطلاعات مرتبط را به مدل بزرگتر منتقل کند.
این اولین بار نیست که نتایج نشان میدهند برخی از ایدههای بلندپروازانه درباره جایگزینی مستقیم عاملهای هوش مصنوعی با برنامهنویسان هنوز از واقعیت فاصله زیادی دارند. مطالعات متعدد قبلاً نشان دادهاند که اگرچه ابزارهای هوش مصنوعی گاهی اوقات میتوانند برنامهای ایجاد کنند که برای یک وظیفه خاص قابل قبول به نظر برسد، این مدلها معمولاً کدی با باگها و آسیبپذیریهای امنیتی تولید میکنند و به طور کلی قادر به اصلاح این مشکلات نیستند.
این یک گام اولیه در مسیر بهسمت عاملهای کدنویسی هوش مصنوعی است، اما اکثر محققان معتقدند که بهترین نتیجه ممکن این است که یک عامل به یک برنامهنویس انسانی کمک کند و زمان زیادی را صرفهجویی کند، نه اینکه جایگزین تمام کارهای آنها شود.