GitHub, yapay zekâ destekli inceleme araçlarındaki temel bir sorunu ele alma girişimi olarak kod inceleme ajanlarını değerlendirmek için açık ReviewBench standardını başlattı: Bu araçların hangi hataları keşfettiğini, hangilerini gözden kaçırdığını ve ne kadar gürültü ürettiğini karşılaştırmanın zorluğu. Standart, kod inceleme sistemleri geliştiren araştırmacılar ve ekiplerin kullanımına açık; ayrıca özel bir sistemin eklenmesine ve diğer sistemlerle karşılaştırılmasına da olanak tanıyor.
Gerçek çekme isteklerine dayanan standart
GitHub, ReviewBench setini platformdaki 103,9 milyondan fazla çekme isteğinin dağılımını analiz ederek tasarladı. Set, açık kaynak lisanslı 187 genel depodan 219 çekme isteği içeriyor ve 19 programlama dilini kapsıyor; dil dağılımı ile depo boyutları GitHub’ın genel örüntüsüyle uyumlu. Bununla birlikte değişikliklerin boyutu, tek bir dosyadaki küçük değişikliklere aşırı odaklanmak yerine orta ve büyük boyutlu, incelenebilir isteklere öncelik verecek şekilde yeniden ağırlıklandırıldı.
GitHub’ın “gerçeklik kümesi” olarak adlandırdığı yapı tek bir kaynağa dayanmıyor. Olası bulgular insan incelemecilerden, istek yazarlarının sonradan yaptığı değişikliklerden, statik analiz araçlarından ve birkaç gelişmiş dil modelinden toplandı. Anlamsal olarak örtüşen bulgular çıkarıldıktan sonra bunlar, doğru sonucun doğru, ilgili ve önemsiz olmayan bir sonuç olması gerektiğini belirleyen ortak bir ölçütle değerlendirildi. GitHub, dilsel değerlendirici olarak Claude Sonnet 5 modelini kullanıyor ve denetlenebilirliği ve yeniden üretilebilirliği artırmak amacıyla değerlendirme yönergesini ve ayarlarını yayımlıyor.
Yeni hataların keşfini cezalandırmayan ölçütler
ReviewBench iki ölçüt ailesini birbirinden ayırıyor. Grounded precision, grounded recall ve grounded F1 ölçütleri, sistemin gerçeklik kümesinde önceden bulunan sorunları keşfetme becerisini ölçerek sistemler arasında doğrudan bir karşılaştırma sağlıyor. Augmented precision, augmented recall ve augmented F1 ölçütleri ise bilinen herhangi bir sorunla eşleşmeyen sonuçları da inceliyor ve değerlendirici bunların doğru bir sorun olduğunu kanıtlarsa sisteme puan veriyor.
Bu ayrım önemli; çünkü sabit bir hata kümesinin mutlaka eksiksiz olması mümkün değil. Yeni bir ajan, standardı hazırlayanların tespit etmediği bir sorunu keşfedebilir. GitHub, sistemleri karşılaştırmak için temel gösterge olarak grounded recall’ı kullanırken genişletilmiş ölçütler her sistem için ek tanısal bilgiler sunuyor.
Ayarlanabilir ve denetlenebilir değerlendirme
Sonuçlar sorunun şiddetine ve sağlık, güvenlik, güvenilirlik, sürdürülebilirlik ve testler gibi kategorisine göre bölümlendirilebiliyor. Fβ ölçütü ayrıca geri çağırma ile kesinlik arasındaki ağırlığın değiştirilmesine olanak tanıyor; böylece kullanıcı daha geniş kapsamı veya daha az sayıda ve daha isabetli yorumu tercih edebiliyor. Lansmandan önce veri oluşturma sürecine katılmamış kıdemli mühendisler tüm sonuçları yeniden etiketledi ve ReviewBench hükümleriyle anlaşma oranı %96,6 oldu. GitHub, her değerlendirme işleminde kullanılan veri sürümlerini, değerlendiriciyi ve eşleştirme aracını sabitlediğini söylüyor.
Pratikte neyi kanıtlıyor?
GitHub, Copilot Code Review’un ardışık sürümlerini değerlendirmek için ReviewBench’i kullandı ve çevrimdışı testlerdeki iyileşme veya gerileme eğiliminin üretim deneyleriyle örtüştüğünü söyledi. Farklı modellerin birden çok çalıştırmasını birleştiren bir inceleme sistemiyle yapılan deneyde standart, kesinlikte, geri çağırmada ve yorum sayısında artış; inceleme maliyetinde ise düşüş öngördü. Üretimdeki A/B testi de aynı yönde sonuç verdi: Kodda değişiklik yapılmasını sağlayan yorumların oranı %8,0, geri çağırma %13,6 ve yorum hacmi %61 arttı; inceleme başına maliyet ise kontrol grubuna kıyasla %8,0 azaldı. Standart ayrıca kritik yorumlarda %227 artış öngörürken üretimdeki artış %262 oldu.
certi.news’un editoryal değerlendirmesine göre ReviewBench’in en önemli değeri yeni bir araç sunması değil, kod inceleme ajanlarının değerlendirilmesini karşılaştırılabilir ve denetlenebilir bir sürece dönüştürme girişimi; bunu yaparken “daha fazla yorumun” mutlaka daha iyi inceleme anlamına gelmediğini de kabul ediyor. Bununla birlikte kaynak, üretim deneylerinin kullanıcı etkisi açısından nihai ölçüt olmaya devam ettiğini; değerlendirmenin bir bölümünün dilsel bir değerlendiriciye dayanmasının ise otomatik hükmün tutarlılığının sınırları konusunda açık bir soru bıraktığını da kabul ediyor.
GitHub, standardın ilk araştırma sürümünü veri, yöntem, değerlendirici ayarları ve kendi kendine çalıştırma aracıyla birlikte sunuyor. Ajanlar 25 çekme isteğinden oluşan bir set üzerinde test edilebiliyor; ardından sonuçların liderlik tablosunda yayımlanması talep edilmeden önce tam değerlendirme 219 istek üzerinden üç turda çalıştırılabiliyor.