بررسی کد کل پروژه با هوش مصنوعی، نه فقط یه تابع!

Fall Back

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

معمولاً مدل‌های زبانی بزرگ (Large Language Models – LLMs یعنی همین ChatGPT و دوستاش!) بیشتر توی تست‌های تیکه‌تیکه و کوچک، مثلاً فقط یه تابع از یه برنامه، موفق بودن. اما دنیای واقعی این شکلی نیست! پروژه‌های واقعی پر از ماژول‌های مرتبط و وابسته‌ن که با هم کلی تعامل و ارتباط دارن.

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

نتیجه کارشون این شد که یه بنچمارک ساختن به اسم RVBench. حالا این بنچمارک چی هست؟ بنچمارک یعنی یه سری تست استاندارد و مجموعه‌ای از پروژه‌های واقعی و پیچیده (در اینجا چهار تا پروژه معروف و کامل که با ورِس – Verus یه زبان برنامه‌نویسی برای کدنویسی ایمن و formal ساخته شدن) رو جمع‌آوری کردن تا مدل‌ها واقعاً دیده بشه چقدر قدرت دارن.

ولی همه داستان بنچمارک نیست! اینا خودشون یه ابزار جدید هم ساختن به اسم RagVerus. این ابزار هوش مصنوعی رو طوری همراهی میکنه که بتونه جواب دادن و تفسیر درستی برای کدهایی که خیلی از بخش‌ها و ماژول‌ها با هم ارتباط دارن (cross-module dependencies، یعنی بخش‌های مختلف برنامه به هم وابسته‌ن) ارائه بده. RagVerus ترکیبی از دو روش هست:

  1. بازیابی اطلاعات (Retrieval-augmented generation = یعنی مدل هوش مصنوعی قبل از جواب دادن می‌ره مطالب و اطلاعات اضافی مرتبط از کدها و توضیحات بیرون می‌کشه که بهتر بفهمه موضوع رو)
  2. Prompting پیشرفته (یعنی مدلها رو با سوالات یا دستورهای هوشمند راهنمایی می‌کنه تا جواب‌ها دقیق‌تر و باحال‌تر باشه)

حالا بیاید درباره نتایج هم حرف بزنیم؛ با همین ابزار RagVerus تونستن نرخ موفقیت اثبات کدها (یعنی Pass rate: درصدی که هوش مصنوعی واقعاً تونست کدها رو درست بررسی و اشکالاتشونو حل کنه) رو تو بنچمارک‌های قبلی تقریباً سه برابر کنن! تو همون RVBench سختگیر جدید هم ۲۷ درصد بهبود نسبی داشتن. این یعنی واقعا یه جهش حسابی نسبت به قبل! حتی وقتی منابع مدل و زمانشونو محدود کردن، باز هم RagVerus خیلی خوب جواب داده.

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

منبع: +