معرفی بنچمارک جدید ProgramBench : سخترین آزمون مهندسی نرم افزار برای LLMهابنچمارک ProgramBench یه بنچمارک خیلی جدی و متفاوت برای ارزیابی توانایی LLMها در ساخت نرمافزار از صفره. ایدهی اصلیش اینه که ببینه آیا مدلهای زبانی واقعاً میتونن فقط با داشتن یک executable و documentation، دوباره کل یک برنامه رو بازسازی کنن یا نه.
توی هر تسک، Agent فقط به فایل اجرایی برنامه و مستنداتش دسترسی داره؛ نه Source Code رو میبینه، نه اجازهی decompile کردن داره و نه حتی اینترنت در اختیارشه. یعنی مدل باید دقیقاً مثل یه مهندس نرمافزار واقعی، رفتار برنامه رو بررسی کنه، Architecture طراحی کنه، Language انتخاب کنه، کل Source Code رو بنویسه و حتی Build Script هم بسازه.
این بنچمارک حدود ۲۰۰ تسک مختلف داره؛ از ابزارهای سبک command-line مثل jq و ripgrep گرفته تا پروژههای سنگین و پیچیدهای مثل PHP، FFmpeg و SQLite.
نکتهی مهم اینه که ProgramBench هیچ ساختار آمادهای به مدل نمیده. خبری از method signature، class skeleton یا حتی توضیح دربارهی ساختار فایلها نیست. Agent خودش باید تصمیم بگیره برنامه چطور modular بشه، چه abstractionهایی تعریف بشه و interfaceها چه شکلی باشن. همین باعث میشه این بنچمارک بیشتر از اینکه صرفاً coding رو بسنجه، توانایی واقعی software design و system architecture رو اندازهگیری کنه.
بعد از اینکه Agent برنامه رو تحویل میده، یه test suite خیلی بزرگ رفتار نسخهی ساختهشده رو با برنامهی اصلی مقایسه میکنه. این تستها با agent-driven fuzzing تولید شدن و در مجموع بیشتر از 248 هزار behavioral test روی ۲۰۰ تسک اجرا میشه. فقط وقتی همهی تستها پاس بشن، اون تسک «حلشده» حساب میشه.
یکی از جذابترین بخشهای ProgramBench اینه که عمداً جلوی shortcutها و cheating گرفته شده. Agentها داخل sandbox اجرا میشن، اینترنت ندارن و حتی دسترسی read به binary هم ندارن؛ یعنی ابزارهایی مثل decompiler، disassembler یا objdump عملاً کار نمیکنن. هدف اینه که benchmark واقعاً توانایی “building from scratch” رو اندازه بگیره، نه سرهم کردن کدهای decompiled.
امتیازها فعلاً خیلی پایینن، ولی این خودش نشون میده مسئله چقدر سخت و واقعی طراحی شده. با اینکه مدلها روی خیلی از تسکها partial progress دارن، ولی هنوز ساخت کامل و بدون نقص نرمافزارهای بزرگ برای AI یه چالش جدیه.
در کل، ProgramBench الان یکی از جدیترین بنچمارکها برای سنجش توانایی واقعی AI Agentها در Software Engineering محسوب میشه؛ جایی که فقط code generation مهم نیست، بلکه planning، architecture، debugging و understanding رفتار سیستم هم نقش اصلی رو دارن.
🔗
لینک سایت ProgramBench👑
توضیحات در مورد دوره منتورینگ🏆
نحوه ثبتنام در دوره منتورینگ🤝
تجارب موفق قبلی بچهها از منتورینگ@reza_jafari_ai