دقت چت‌بات ChatGPT در حل چالش‌های برنامه‌نویسی: نتایج شگفت‌انگیز پژوهش پردو

ChatGPT در پاسخ‌دادن به سؤالات برنامه‌نویسی چندان دقیق نیست

یک تیم محققان علوم کامپیوتر از دانشگاه پردو (Purdue University) با تحلیل عملکرد ChatGPT در مواجهه با پرسش‌های کدنویسی، یافته‌های نگران‌کننده‌ای را افشا کردند. بر اساس این مطالعه، محبوب‌ترین مدل زبانی بزرگ (LLM)، در نیمی از موارد نتوانسته است راهنمایی دقیق و صحیحی ارائه دهد.

نتایج این تحقیق که بخشی از مجموعه مقالات کنفرانس CHI ۲۰۲۴ (کنفرانس عواملی انسانی در سیستم‌های محاسباتی) منتشر شده، نشان‌دهنده شکاف عمیقی بین انتظار کاربران و واقعیت عملکردی این ابزارها است. محققان روش‌شناسی خود را در مقاله کامل تشریح کرده‌اند.

[[OAR_MEDIA_1]]

تحلیل عملکرد LLMها در پاسخگویی به تکالیف کدنویسی

با رواج روزافزون مدل‌های زبانی بزرگ در دسترس عموم، وابستگی دانشجویان و توسعه‌دهندگان مبتدی به این ابزارها برای نوشتن کد، رفع خطا (Debugging) و درک مفاهیم برنامه‌نویسی به شدت افزایش یافته است. با وجود حجم عظیم داده‌های آموزشی مفید، این سیستم‌ها مستعد تولید اطلاعات گمراه‌کننده یا کاملاً ساختگی (Hallucination) هستند؛ خطایی که تشخیص آن برای کاربران غیرحرفه‌ای دشوار است.

متدولوژی پژوهش: چگونه دقت‌سنجی شده است؟

  • حجم نمونه: ۵۱۷ پرسش واقعی استخراج شده از پلتفرم Stack Overflow، مرجع تخصصی جامعه برنامه‌نویسان.
  • معیار ارزیابی: مقایسه پاسخ‌های ChatGPT با جواب‌های پذیرفته شده و تایید شده توسط خبران در Stack Overflow.
  • نسبت موفقیت: تنها در ۵۲ درصد موارد، پاسخ‌های تولید شده توسط هوش مصنوعی، دقت و صحت فنی مورد قبول را داشتند.

این آمار ری از انتظار، زنگ خطر برای سیستم‌های آموزشی و محیط‌های کاری است که به سرعت در حال جایگزینی جستجوی سنتی و مشورت همکاران با پرسش از چت‌بات‌ها هستند.

دلایل ناکارآمدی و ریسک‌های موجود

محققان بر چند عامل کلیدی به عنوان ریشه‌یابی این خطاها تأکید کرده‌اند:

  1. کمبود درک عمیق منطق برنامه: مدل‌ها الگوهای آماری را پیش‌بینی می‌کنند، نه منطق اجرایی کد را درک می‌کنند.
  2. قدیمی بودن داده‌های آموزشی: کتابخانه‌ها و APIها به سرعت تکامل می‌یابند، در حالی که دانش مدل ممکن است منسوخ شده باشد.
  3. عدم قابلیت تست و اجرا: ChatGPT کد را اجرا نمی‌کند؛ بنابراین خطاهای Runtime یا منطقی را پیش از نمایش به کاربر شناسایی نمی‌کند.

راهکارهای مدیریت ریسک برای توسعه‌دهندگان

با وجود محدودیت‌ها، انکارutility این ابزارها ممکن نیست. استراتژی‌های پیشنهادی برای استفاده ایمن عبارتند از:

  • استفاده به عنوان ترسیم‌کننده ایده اولیه یا تولیدکننده بویлерپلیت (Boilerplate)، نه مرجع نهایی.
  • اجرا و تست اجباری هر قطعه کد پیش از ادغام در پروژه اصلی.
  • تبعیض بین سینتکس (Syntax) که معمولاً صحیح است، و سماتیک/منطق (Semantics/Logic) که منبع اصلی خطاست.
  • ارجاع به مستندات رسمی و Stack Overflow برای اعتبارسنجی پاسخ‌های حساس.

این مطالعه که در دوره ۱۱ تا ۱۶ مه ۲۰۲۴ در کنفرانس CHI ارایه شد، تأکید می‌کند که توسعه «شیشه لایه‌های اعتبارسنجی» برای خروجی‌های LLM، اولویت پژوهشی و صنعتی در سال‌های آینده خواهد بود.