مدل باگ رو درست میکنه، ولی پیداش هم میکنه؟
خلاصهٔ کاملتر
لئونید بوگایف تو این پست یه تفکیک ساده ولی مهم رو باز میکنه: فرق بین «باگی که بهت گفتن کجاست و تو درستش میکنی» با «باگی که خودت باید اول پیداش کنی». به گفتهٔ نویسنده مدلهای ارزونتر تو حالت اول کاملاً جواب میدن، ولی وقتی هیچ سرنخی نداری و خود مدل باید سؤال درست رو بسازه، کم میارن. تجربهٔ اون با GLM-5.3-flash همین رو نشون داد، در حالی که Grok 4.6 که حدود پنج برابر بزرگتره از پسش برمیاومد.
نویسنده میگه همین تفکیک، بنچمارکهای عمومی رو هم زیر سؤال میبره. SWE-bench یه ریپو و یه ایشو موجود به مدل میده و ازش پچ میخواد، یعنی یکی از قبل فهمیده مشکل چیه و توصیفش کرده. تازه پروژههایی مثل جنگو انتخاب میشن که جوابهاشون تو اینترنت هست و عملاً وارد دادهٔ آموزشی مدل شدن. خود OpenAI هم ۲۳ فوریهٔ ۲۰۲۶ اعلام کرد که دیگه نمرهٔ SWE-bench Verified رو گزارش نمیکنه و دلیلش رو آلودگی داده و ایراد ارزیابیها گفت.
سادهترین نمونهٔ نویسنده از Django 3.0 یه شرطه که ظاهرش خیلی هم آرومکنندهست:
if file_hash is not None:
file_hash = ".%s" % file_hash
hashed_name = "%s%s%s" % (root, file_hash, ext)اگه یه پیادهسازی سفارشی hash مقدار None برگردونه، شرط ردش میکنه و خط بعدی همون None رو تبدیل به متن میکنه. نتیجه برای styles.css میشه stylesNone.css. نه استثنایی پرتاب میشه نه خطایی میبینی، فقط یه اسم فایل غلط که کاملاً معتبر به نظر میرسه. مدل GLM به همین تابع هم رسیده بود ولی دربارهٔ خطای دایرکتوری و ریسکاندیشن حرف زده بود، نه اسم فایل خراب.
دو نمونهٔ دیگه هم همین شکلن. تو فرمتکنندهٔ عدد جنگو، str(1e25) میشه "1e+25" که اصلاً نقطهٔ اعشار نداره، پس کل رشته به عنوان بخش صحیح گرفته میشه و حلقهٔ جداکنندهٔ هزارگان یه ویرگول وسط توان میذاره و خروجی 1e,+25 در میاد. نمونهٔ سوم یه کامنت «فقط از self استفاده کن» بالای یه deepcopy تو کلاس Q جنگوئه که وقتی محتوای کوئری قابل کپی نباشه، مثلاً dict_keys، با TypeError میشکنه.
بخش جالب پست جاییه که نویسنده سعی میکنه با پرامپت بهتر مشکل رو حل کنه و نمیشه. تو سه نسخهٔ مختلف از دستورالعمل مرور، GLM-5.3-flash از هفت نقص سختِ انتخابشده صفر تا رو پیدا کرد، هر سه بار. تو یکی از آزمایشها که ردیابی خطبهخط با مقادیر میانی خواسته شده بود، ۳۸ تا از ۴۸ خروجی دقیقاً همون قالب رو رعایت کردن، ولی یافتهها همچنان غایب بودن. یعنی چیزی که بهتر شد فرمانبرداری بود، نه قضاوت.
نکات کلیدی:
- GLM-5.3-flash تو سه نسخهٔ مختلف دستورالعمل، صفر از هفت باگ سخت رو پیدا کرد.
- Grok 4.6 با حدود پنج برابر اندازه، همون موارد رو پیدا میکرد.
- تو یه آزمایش، ۳۸ از ۴۸ خروجی قالب ردیابی خواستهشده رو رعایت کردن ولی باگ رو پیدا نکردن.
- OpenAI از ۲۳ فوریهٔ ۲۰۲۶ گزارش نمرهٔ SWE-bench Verified رو بهخاطر آلودگی داده کنار گذاشت.
- هر سه نمونهٔ باگ از Django 3.0 هستن: اسم فایل stylesNone.css، خروجی 1e,+25 و شکستن deepcopy روی dict_keys.
- نویسنده میگه Claude و Codex از انجام این کار امنیتی امتناع کردن و اون سراغ Grok رفت.




