WARP: رفیق باهوش برنامه‌نویسا برای درست کردن ارورهای کامپایل با کمک هوش مصنوعی و اینترنت!

Fall Back

خب اگه تو دنیای برنامه‌نویسا بوده باشی، حتماً می‌دونی یکی از اعصاب‌خردکن‌ترین چیزها، همین ارورهای کامپایل هستن! یعنی وقتی کدتو می‌نویسی و یهویی ارور می‌گیری و نمی‌دونی مشکل از کجاست. این موضوع واقعاً بازده برنامه‌نویسا رو کم می‌کنه و کلی از وقتشونو می‌گیره.

حالا یه تیم باحال اومدن یه سیستمی به اسم WARP ساختن (که مخفف Web-Augmented Real-time Program Repairer هست)، یعنی یه دوست هوشمند که همزمان که داری کد می‌زنی، تمام مدت حواسش به ترمینالت هست و اگه اروری ظاهر بشه، سریع وارد عمل میشه!

ولی اصل قضیه اینه که WARP فقط به هوش مصنوعی معمولی تکیه نمی‌کنه، بلکه از مدل‌های زبانی خیلی بزرگ (LLM یا Large Language Models، مثلاً ChatGPT و دوستانش که کلی متن بلدن) استفاده می‌کنه و علاوه بر اون، به وب هم وصل میشه. یعنی چی؟ یعنی مثلاً وقتی توی گوگل یا StackOverflow دنبال جواب می‌گردی که این ارورو چی کارش کنم، خودش این کارو برات انجام میده! بهش میگن Web-Augmented Synthesis یعنی تولید جواب که با اطلاعات جدید اینترنتی هم قاطی شده باشه.

روش کار WARP اینجوریه:

  • سیستم مدام ترمینال توسعه‌دهنده رو زیر نظر داره (یعنی اون جایی که کدهات رو می‌نویسی و اجرا می‌کنی).
  • اگه ارور کامپایل ظاهر بشه، اول با مدل هوش مصنوعی خودش سر و کله می‌زنه ببینه می‌تونه جواب بده یا نه.
  • بعدش، همزمان می‌ره توی اینترنت (مثلاً فروم‌های برنامه‌نویسی، داکیومنت‌های رسمی و غیره) دنبال پاسخ، توضیحات، و حتی کد آماده که به درد اون ارور می‌خوره می‌گرده.
  • در آخر، همه‌ی اینا رو با هم ترکیب می‌کنه و یه راه‌حل بهت پیشنهاد می‌ده که هم دقیق‌تره هم به روزتر.

واسه اینکه نشون بدن این ایده جواب میده، WARP رو روی یه مجموعه تست قوی امتحان کردن. اسم این مجموعه CGP هست (یعنی مجموعه‌ای از ارورهای کامپایل معروف تو زبان‌های C/C++، Python و Go). نتیجه‌ها خیلی جالب بود؛ حدود ۷۲.۵ درصد کدهایی که به WARP دادن، درست کامپایل شدن! این یعنی خیلی بهتر از وقتی که فقط از هوش مصنوعی خالی، یا حتی قابلیت‌های اصلاح سریع خود محیط‌های برنامه‌نویسی (IDE Quick-fixes) استفاده می‌کردن.

البته پیاده‌سازی همچین سیستمی هم چالش‌های خودش رو داشت. مثلاً داده‌هایی که از وب می‌گیرن همیشه تمیز و دقیق نیست (به این مشکل می‌گن noisy web data، یعنی اطلاعات اینترنتی شلخته و گاهاً اشتباه یا قدیمی). WARP باید یاد بگیره این سر و ته اطلاعات رو پیدا کنه و جواب نهایی رو دقیق‌تر و به درد بخورتر بسازه.

در نهایت، این داستان یعنی WARP شاید واقعاً بتونه به دردسرهای رایج برنامه‌نویسا توی رفع ارورهای کامپایل یه پایان خوش بده! حالا دیگه لازم نیست کلی وقت با سرچ کردن یا خوندن جواب‌های قدیمی بگذرونی؛ یک یار کمکی هوشمند داری که به موقع به دادت می‌رسه.

منبع: +