İçeriğe geç
parazade
Yapay Zeka

SWE-bench Nedir?

Yayın: · Son güncelleme:

SWE-bench Nedir? Kısaca

SWE-bench, yapay zekâ modellerinin ve ajanlarının, açık kaynak Python projelerinden alınmış gerçek GitHub sorunlarını, ilgili kod tabanında değişiklik yaparak çözme becerisini otomatik testlerle ölçen bir benchmarktır.

SWE-bench nedir?
İçindekiler
  1. SWE-bench nedir?
  2. Nasıl puanlanır?
  3. Neden önemli ve sınırları neler?

SWE-bench, adını "software engineering" yani yazılım mühendisliği ifadesinden alır. 2023'te akademik araştırmacılar tarafından yayımlandı ve kısa sürede kodlama yapan yapay zekâ sistemlerini değerlendirmenin önemli ölçütlerinden biri hâline geldi.

SWE-bench nedir?

Daha önceki kod testleri genellikle kısa ve bağımsız fonksiyonlar yazdırıyordu. SWE-bench ise gerçek dünyaya daha yakındır: Popüler açık kaynak Python projelerinde kullanıcıların bildirdiği gerçek sorunları (issue) ve bu sorunları çözen gerçek kod değişikliklerini temel alır.

Her görevde model şunlarla karşılaşır:

  • Sorunun yazılı açıklaması,
  • Projenin, sorunun çözülmediği andaki tüm kod tabanı.

Modelden, sorunu çözen bir kod değişikliği (yama) üretmesi beklenir.

Nasıl puanlanır?

Üretilen yama koda uygulanır ve projenin testleri çalıştırılır. İki koşul aranır: Sorunu doğrulayan testlerin artık geçmesi ve önceden çalışan testlerin bozulmaması. Sonuç, çözülen görevlerin yüzdesi olarak raporlanır.

Orijinal setteki bazı görevlerin açıklamaları belirsiz ya da testleri sorunlu olduğu için, insanlar tarafından tek tek incelenerek seçilmiş daha küçük bir alt küme olan SWE-bench Verified yaygın olarak kullanılmaya başlandı. Çok dilli ve görsel öğeler içeren başka varyantlar da vardır.

Neden önemli ve sınırları neler?

SWE-bench, bir modelin büyük bir kod tabanında gezinmesini, ilgili dosyaları bulmasını ve tutarlı değişiklik yapmasını gerektirir. Bu yüzden özellikle yapay zekâ ajanlarının değerlendirilmesinde öne çıkar.

Yine de sınırları vardır: Görevlerin çoğu Python projelerinden gelir, testler her doğru çözümü kabul etmeyebilir ya da her hatalı çözümü yakalamayabilir. Görevler halka açık depolardan alındığı için veri kirlenmesi riski de bulunur. Ayrıca puan, kodun okunabilirliğini ve güvenliğini ölçmez. Daha basit bir kod testi için HumanEval maddesine bakabilirsin.

Sıkça Sorulan Sorular

SWE-bench Verified nedir?

SWE-bench Verified, orijinal setteki görevlerin insanlar tarafından incelenmesiyle oluşturulmuş daha küçük bir alt kümedir. Açıklaması belirsiz veya testi sorunlu görevler ayıklanarak daha güvenilir bir ölçüm hedeflenmiştir.

SWE-bench ile HumanEval arasındaki fark nedir?

HumanEval, kısa ve bağımsız fonksiyonlar yazdırır. SWE-bench ise gerçek projelerin büyük kod tabanlarında gerçek sorunları çözmeyi ister ve yazılım geliştirme pratiğine daha yakındır.

İlgili terimler