بررسی کد معیار: Kody vs Raw LLMS (GPT & Claude)

مقدمه
IDE های با قدرت AI امسال منفجر شد-به طور کلی ، هر Dev یک ربات کوچک به دست آورد.
اما سلام ، برنامه نویسی قسمت سرگرم کننده است.
بررسی کد؟ نه خیلی زیاد
این جایی است که ما شروع به تعجب کردیم: آیا مدل های بزرگ زبان (LLM) می توانند درخواست های کشش شما را برطرف کنند؟
ما مظنونان معمول (GPT-4O و Claude Sonnet 3.7) را در برابر رویکرد مبتنی بر خط لوله ما ، Kody قرار دادیم و این معیار همان چیزی است که ما بدست آوردیم.
واقعیت بررسی کد LLM
بیایید صادق باشیم: اجازه دهید یک هوش مصنوعی بررسی کد شما را شگفت انگیز به نظر برساند – تا زمانی که متوجه شوید LLM ها واقعاً پر سر و صدا هستند.
آنها یک تن از اطلاعات اضافی را نشان می دهند که برخی از آنها ممکن است بی ربط یا کاملاً نادرست باشند. در اینجا کمترین سطح وجود دارد:
-
آموزش کد ناقص: LLM ها ترکیبی از کد عالی و کد کاملاً شنیع را مشاهده می کنند. حدس بزنید چه؟ این بدان معناست که آنها می توانند برخی از الگوهای مشکوک را جذب کنند.
-
سر و صدا بیش از سیگنال: حتی هنگامی که آنها یک اشکال قانونی پیدا می کنند ، آنها آن را زیر لیست لباسشویی از پیشنهادات “مه” دفن می کنند.
-
منطق بیش از نحو: مطمئناً ، آنها با نحو مناسب هستند ، اما منطق عمیق تری دارند؟ اغلب از دست رفته و بله ، تفسیر بی ربط کمکی نمی کند.
TL ؛ تکیه با 100 ٪ به LLM های خام می تواند بررسی کد شما را کثیف کند. خط لوله عامل کدی را وارد کنید – به طور کلی ، یک روش جالب برای گفتن “ما مزخرفات را فیلتر می کنیم تا بازخورد واقعی و عملی دریافت کنید.“
معیار را تنظیم کردیم
مجموعه داده
ما 10 درخواست کشش (PRS) را از یک repo گرفتیم – به هر حال ، یک کار در حال انجام است – و سه بررسی مجزا در هر یک اجرا کردیم.
** 1. کدی
- کلود غزل 3.7
- Openai GPT-4O **
ما می دانیم که 10 PR ممکن است مانند یک مجموعه داده کوچک به نظر برسد. با این حال ، هدف ما اجرای یک بود مقایسه عمیق کنترل شده قبل از مقیاس گذاری هر روابط عمومی با دقت انتخاب شد تا طیف وسیعی از مسائل را پوشش دهد ، از نقص های امنیتی گرفته تا ناسازگاری های سبک کد. معیارهای آینده A را کشف می کنند *مجموعه داده های بزرگتر و پشتیبانی از زبان گسترده تر.
*
معیارها
ما پیگیری کردیم:
- مثبت واقعی (TP): مشکلات واقعی گرفتار شده است.
- مثبت کاذب (FP): هشدارهایی که در واقع مسائلی نبودند.
- منفی کاذب (FN): اشکالات واقعی که از بین رفت.
از آنجا ، ما محاسبه کردیم:
- دقت: هشدارها چقدر قابل اعتماد هستند؟
- به یاد بیاورید: چند مسئله واقعی پرچم گذاری شد؟
- امتیاز F1: دقت را تعادل و یادآوری کنید (شما یک شماره برای حاکم کردن همه آنها دریافت می کنید).
ما نیز بررسی کردیم انحراف استاندارد و ضریب تغییر (CV) برای دیدن اینکه آیا هر مدل سازگار است یا فقط تاس های نورد روی PRS شما است.
اطمینان از آزمایش منصفانه LLMS
برای حفظ معیار منصفانه و قابل تکرار، ما GPT-4O و Claude Sonnet 3.7 را با استفاده از یکسان برای بررسی کد در حالی که سریع خود در دسترس عموم نیست ، ما اطمینان حاصل کردیم که آن را متمرکز بر کیفیت کد ، امنیت و بهترین شیوه ها، بدون اینکه از هر رویکردی خاص استفاده کنید.
این بدان معناست که به همه مدل ها در همان سطح زمینه و دستورالعمل داده می شود. بدون تنظیم اضافی ، بدون انتخاب گیلاس.
ضریب تغییر (CV) چیست؟
اساساً ، CV به ما می گوید اگر نتایج شما در همه جا باشد یا به خوبی گروه بندی شود. این است:
CV = (انحراف استاندارد / میانگین) 100 ×
- بدون بعد: به ما اجازه می دهد مقیاس های مختلف را بدون سردرگمی مقایسه کنیم.
- CV بالاتر: به این معنی که عملکرد مدل تقریباً به اندازه یک برج Jenga لرزان پایدار است.
- عادی سازی: با نتایج متوسط شما تغییرپذیری را در متن قرار می دهد.
نتایج ما (CV)
- Kody (0.402): جامد ، سازگار
- کلود (0.774): نوع همه جا
- GPT (1.651): حتی بیشتر و پایین تر از رمزنگاری محلی شما.
قانون شست:
- CV <0.15 → فوق العاده ثابت
- 0.15-0.30 → نوسانات متوسط
- 0.30 → خود را بریس ، پرزرق و برق است
اضافه کردن پیچ و تاب قوام
از آنجا که ما دوست داریم منصفانه باشیم (اما همچنین عملی) ، ما یک مجازات قوام (وزن = 0.2) را معرفی کردیم تا نمرات مدل هایی را که دوست دارند سرگردان باشند ، پایین بیاوریم:
- کدی: نمره تنظیم شده 0.581 پوند (حدود 8 ٪ قطره – بدون بزرگ)
- کلود: 0.283 پوند تنظیم شده (15.5 ٪ افت)
- GPT: 0.072 ~ تنظیم شده (33.0 ٪ قطره – درصدی)
اگر می خواهید بهتر باشید ، وزن را پایین بیاورید (مانند 0.1). اگر می خواهید وحشی باشید ، آن را به 0.5 لنگ بزنید. ما 0.2 را انتخاب کردیم زیرا این امر نوسانات بزرگی را مجازات می کند اما عملکردی خوب را تحت الشعاع قرار نمی دهد.
نتایج
بیایید صفحه امتیاز نهایی را ببینیم:
1. F1 Original
- کدی: 0.65 پوند
- کلود: 0.48 پوند
- GPT: 0.18 پوند
- کدی در حدود 1.35 × بالاتر از کلود و 3.6 × بالاتر از GPT.
تنظیم شده F1 (DP)
- کدی: 0.60 پوند
- کلود: 0.40 پوند
- GPT: 0.15 پوند
- Kody's 1.5 × بهتر از کلود و 4 × بهتر از GPT.
3. F1 تنظیم شده (CV)
- کدی: 0.58 پوند
- کلود: 0.28 پوند
- GPT: 0.07 ~
- کدی 2.1 × بهتر از کلود و 8.3 × بهتر از GPT. این اساساً سالهای سبک در سرزمین بررسی کد است.
تصویر بزرگ: Kody سازگارترین و برتر است. کلود به میانه برخورد می کند. GPT-4O-خوب ، با قوام مبارزه می کند و در نزدیکی پایین به پایان می رسد.
روشن کردن تنظیم نمره F1
ما یک معرفی کردیم نمره F1 تنظیم شده برای مجازات مدلهایی که بسیار متناقض بودند. ایده ساده است: اگر یک مدل در یک روابط عمومی یک مسئله جدی را پرچم گذاری کند اما یک مسئله مشابه را در دیگری از دست می دهد ، این یک مشکل است.
در اینجا نحوه کار آن آورده شده است:
- ما اعمال کردیم مجازات (وزن = 0.2) به مدلهایی که تنوع بالایی را نشان دادند.
- مدلهایی که ارائه شده است بازخورد پایدارتر و قابل پیش بینی بیشتر نمره اصلی خود را حفظ کردند.
- مدلهایی که داشتند نوسانات وحشی یک ضربه بزرگتر گرفت.
این فقط یک تغییر نظری نیست-این نشان دهنده ناامیدی در دنیای واقعی مهندسان است که با ابزارهای هوش مصنوعی روبرو هستند که با خودشان متناقض هستند.
مطالعه مداوم و برنامه های آینده
این فقط اولین پاس ماست. ما همچنان به PRS بیشتر ، زبان های بیشتر و مدل های هوش مصنوعی بیشتری حفر خواهیم کرد. نکته این است که ما در اینجا متوقف نمی شویم. با گسترش ، انتظار می رود بینش های بیشتری و مقایسه های عمیق تری داشته باشیم ، بنابراین همه ما می توانیم نحوه انجام بررسی کد را ردیابی کنیم.
–
خط پایین؟ LLMS به تنهایی می تواند برای بررسی کد تولید کمی وحشی باشد. در یک خط لوله عامل – مانند Kody – مخلوط کنید و با بازخورد واقعی و مفیدی که شما را تحت مثبت کاذب یا پیشنهادات تصادفی دفن نمی کند ، به پایان می رسد.