Ağustos 2024'te SWE-bench Verified'ı ilk kez yayımladığımızdan beri, sektör bunu otonom yazılım mühendisliği görevlerinde modellerin ilerlemesini ölçmek için yaygın olarak kullanıyor. Yayınlanmasının ardından SWE-bench Verified, yetenek ilerlemesine dair güçlü bir sinyal sağladı ve en üst seviye model sürümlerinde raporlanan standart bir metrik haline geldi. Bu yeteneklerin ilerlemesini takip etmek ve öngörmek, OpenAI’ın Risklere Hazırlık Çerçevesi’nin de önemli bir parçasıdır. Verified kıyaslamasını ilk oluşturduğumuzda, SWE-bench veri kümesinde(yeni bir pencerede açılır) belirli görevlerin gerçekleştirilmesini imkânsız hâle getiren özgün değerlendirmedeki sorunları çözmeye çalıştık.
İlk sıçramalardan sonra, SWE-bench Verified'daki en son teknoloji ilerlemesi yavaşladı ve son 6 ayda %74,9'dan %80,9'a iyileşti(yeni bir pencerede açılır). Bu da şu soruyu gündeme getiriyor: kalan başarısızlıklar model sınırlamalarını mı yoksa veri kümesinin kendisine özgü özellikleri mi yansıtıyor?
Yeni bir analizde, Verified setiyle ilgili iki büyük sorun tespit ettik; bu sorunlar, kıyaslama ölçütünün günümüz performans seviyelerinde en üst seviye lansmanlar için otonom yazılım mühendisliği yeteneklerindeki ilerlemeyi ölçmek açısından artık uygun olmadığını gösteriyor:
- Testler doğru çözümleri reddediyor: Modellerin sıklıkla çözemediği veri kümesinin %27,6'lık bir alt kümesini denetledik ve denetlenen problemlerin en az %59,4'ünün, SWE-bench Verified'ın ilk oluşturulmasında bunu iyileştirmek için gösterdiğimiz en iyi çabalara rağmen, işlevsel olarak doğru gönderimleri reddeden hatalı test örneklerine sahip olduğunu tespit ettik.
- Çözümler üzerine eğitim: Büyük en üst seviye modeller, eğitimlerinden bilgi öğrenebileceğinden, değerlendirildikleri problemler ve çözümler üzerinde asla eğitilmemeleri önemlidir. Bu, yaklaşan bir sınavdan önce öğrencilere sınavla ilgili problemleri ve çözümleri paylaşmaya benzer; cevabı ezberlemeyebilirler ama cevapları daha önce görmüş olan öğrenciler, görmemiş olanlara kıyasla kesinlikle daha iyi performans gösterir. SWE-bench problemleri, birçok model sağlayıcısının eğitim amaçları için kullandığı açık kaynaklı depolardan alınmıştır. Analizimizde, test ettiğimiz tüm en üst seviye modellerin, altın yama olarak bilinen ve ground-truth referansı olarak kullanılan orijinal, insan tarafından yazılmış hata düzeltmesini veya belirli görevler için problem ifadesinin kelimesi kelimesine ayrıntılarını yeniden üretebildiğini tespit ettik; bu da hepsinin eğitim sırasında en azından bazı problemleri ve çözümleri görmüş olduğunu gösteriyor.
Ayrıca, eğitim sırasında problemleri görmüş olan modellerin, yeterince tanımlanmamış testleri geçmek için gereken ek bilgilere sahip olduklarından dolayı başarılı olma olasılıklarının daha yüksek olduğuna dair kanıtlar da bulduk.
Bu, SWE-bench Verified üzerindeki iyileştirmelerin artık modellerin gerçek dünyadaki yazılım geliştirme yeteneklerindeki anlamlı iyileştirmeleri yansıtmadığı anlamına gelir. Bunun yerine, giderek daha fazla, modelin eğitim sırasında kıyaslamaya ne kadar maruz kaldığını yansıtır. Bu nedenle SWE-bench Verified skorlarını raporlamayı bıraktık ve diğer model geliştiricilerinin de aynı şeyi yapmasını öneriyoruz.
Kodlama yeteneklerini daha iyi takip etmek için yeni, kirlilikten arındırılmış değerlendirmeler geliştiriyoruz ve bunun daha geniş araştırma topluluğu için odaklanılması gereken önemli bir alan olduğunu düşünüyoruz. Bunları elde edene kadar OpenAI, SWE-bench Pro için sonuçları bildirmenizi önerir.
Orijinal SWE-bench(yeni bir pencerede açılır) değerlendirmesi 2023'te yayımlandı. Her sorun, 12 açık kaynaklı Python deposundan birinde çözülmüş bir GitHub sorunundan kaynaklanır ve ilgili pull request (PR) ile eşleştirilir. Model tarafından oluşturulan bir kod değişikliğinin doğru olup olmadığını belirlemek için her problem iki test setiyle birlikte gelir:
- Değiştirilmemiş kod tabanında başarısız olan ancak sorun doğru şekilde düzeltildiğinde geçen testler
- İlgisiz işlevselliğin bozulmadan kaldığından emin olmak için, düzeltmeden hem önce hem de sonra geçen regresyon testleri.
Model testleri görmüyor. Yalnızca orijinal sorun metni ve düzeltmeden önceki depo durumu verildiğinde bir kod değişikliği üretmesi gerekir. Kod değişikliği uygulandıktan sonra tüm testler geçerse, ancak o zaman bir problemi geçer.
Bu değerlendirmede, modellerin yetkinliğinin eksik raporlanmasına yol açabilecek birçok sorun tespit ettik.
- Bazı birim testleri aşırı derecede spesifikti veya görevle uyumsuzdu; bu yüzden doğru düzeltmeler reddedilebilirdi.
- Birçok görev ifadesi yeterince ayrıntılandırılmamıştı; bu da birden fazla geçerli yoruma yol açabilirdi; oysa testler yalnızca belirli bir yorumu kapsıyordu.
- Ortamın kurulumuna bağlı olarak (örneğin Linux ve Windows ya da Python sürümü), bazı testler hatalı şekilde başarısız olabilir
Bu sorunları ele almak için 2024'te SWE-bench Verified'ı oluşturduk. 1.699 SWE-bench problemini incelemek ve bu sorunlara sahip problemleri elemek için uzman yazılım mühendisleriyle birlikte çalıştık. Her bir sorun, üç uzman tarafından bağımsız olarak incelendi. Bu inceleme süreci, 500 sorundan oluşan küratörlü bir set olan SWE-bench Verified ile sonuçlandı.
SWE-bench Verified, ilk sürüme göre büyük bir iyileştirme olsa da, kalan sorunlar devam ediyor. OpenAI o3’ün 64 bağımsız çalıştırma boyunca tutarlı bir şekilde çözemediği 138 SWE-bench Verified problemine ilişkin bir denetim gerçekleştirdik. Her bir vaka, en az altı deneyimli yazılım mühendisi tarafından bağımsız olarak incelendi. Bir uzman bir sorunu işaretlediyse, ek bir ekip tarafından yeniden doğrulandı.
138 problemin %59,4’ünün test tasarımı veya problem açıklamasında önemli sorunlar içerdiğini tespit ettik; bu da onları en yetkin model ya da insan için bile çözülmesi son derece zor veya imkânsız hâle getiriyordu.
- Denetlenen görevlerin %35,5’i, belirli uygulama ayrıntılarını zorunlu kılan katı test senaryolarına sahiptir. Bu durum, işlevsel olarak doğru olan birçok gönderimi geçersiz kılar. Biz bunlara dar test senaryoları diyoruz.
- Denetlenen görevlerin %18,8’inde, problem açıklamasında belirtilmeyen ek işlevleri kontrol eden testler bulunuyor; bunlara geniş test senaryoları adını veriyoruz.
- Görevlerin kalan %5,1’inde, bu taksonomiyle iyi şekilde gruplandırılmamış çeşitli sorunlar vardı.
İlk hata moduna ilişkin açıklayıcı bir örnek pylint-dev__pylint-4551(yeni bir pencerede açılır)'dir; burada PR, genel çözümün bir parçası olarak yeni bir `get_annotation` işlevi ekler. Bu fonksiyon adı problem açıklamasında belirtilmiyor, ancak testler tarafından doğrudan içe aktarılıyor. Bazı modeller böyle bir fonksiyon oluşturmayı sezgisel olarak düşünebilse de, sorunu doğru şekilde ele almak için bu belirli adla bir fonksiyon uygulamak kesinlikle gerekli değildir. Birçok geçerli çözüm, içe aktarma hataları nedeniyle testlerde başarısız oluyor.
Sorun açıklaması
PR test kod parçacığı
PR test hataları (okunabilirlik için kısaltılmıştır)
Aşırı geniş test örneklerine bir örnek: sympy__sympy-18199(yeni bir pencerede açılır). Bu görev, `nthroot_mod` işleviyle ilgili üç farklı sorunu, özellikle #17373(yeni bir pencerede açılır), #17377(yeni bir pencerede açılır) ve #18212(yeni bir pencerede açılır)'yi ele alan bir PR'den kaynaklanmıştır. Ancak SWE-bench Verified görevinin açıklaması yalnızca son sorunu #18212(yeni bir pencerede açılır) kapsar. Bu bir uyumsuzluk yaratır: PR testleri üç sorunun tamamını kapsarken açıklama yalnızca birini detaylandırıyor. Çalıştırmalarımızda, modeller genellikle açıklanan düzeltmeyi doğru şekilde uygular ve ardından diğer iki sorunun uygulanmasını kapsayan testlerde başarısız olur.
Orijinal PR açıklaması (GitHub PR’sinden)
#18212 için Sorun Açıklaması
SWE-bench Verified görevi için Problem Açıklaması (yalnızca #18212’den alınmıştır):
SWE-bench Verified ve depolar (kod tabanları ve sürüm notları) hem açık kaynaklı hem de yaygın biçimde kullanılıp tartışılıyor; bu da model geliştiricileri için kirlenmeyi önlemeyi zorlaştırıyor.
Kirlilik belirtilerini ilk olarak kendi modellerimizde fark ettik. Örneğin, GPT‑5.2’nin neredeyse çözülmesi imkansız olduğunu belirlediğimiz 31 görevi çözmesi. django__django-14725(yeni bir pencerede açılır) içinde testler, problem ifadesinde açıkça zorunlu kılınmayan belirli bir yeni `edit_only` parametresini gerektiriyor. Sorunu çözerken, GPT‑5.2 düşünce zincirinde kod tabanındaki değişiklikleri ayrıntılandıran sürüm notları hakkında bilgiye sahip olduğunu gösterir ve `edit_only` parametresinin Django 4.1'de kullanıma sunulduğunu doğru şekilde tespit eder.
GPT‑5.2 CoT
Kirliliğin daha geniş ölçekte ne kadar önemli olduğunu değerlendirmek için otomatik bir sistemdeki açıkları ve riskleri ortaya çıkarmaya yönelik stres testi düzeni oluşturduk. Her SWE-bench Doğrulanmış soru için, GPT‑5'e GPT‑5.2‑Chat, Claude Opus 4.5 ve Gemini 3 Flash Preview'da kirlilik olup olmadığını araştırma görevi verdik. Bu modeller, akıl yürütme modellerini hariç tutmak için seçildi, ancak aralarında muhtemelen kayda değer bir yetenek farkı olduğunu kabul ediyoruz.
Kirlenmeyi araştırmak için GPT‑5 şunları aldı: SWE-bench Verified görevinin kimliği, açıklaması, altın yaması ve PR testleri. 15’ten fazla tur boyunca, GPT‑5’in sistem/geliştirici komutunu, kullanıcı komutunu ve asistan ön doldurmasını ve farklı sorgulama stratejilerini değiştirmesine izin verdik. Her bir turdan sonra, bir yargıç model, ne kadar yeni göreve özgü bilginin ortaya çıktığını etiketledi ve her bir yanıt, “yok”tan “güçlü”ye kadar kirlilik şiddeti açısından etiketlendi. GPT‑5’in, önceki turlara dayanarak stratejisini uyarlamasına ve göreve özgü ayrıntıları yinelemeli olarak geri kazanmasına izin verildi. Güçlü kirliliğin her bir örneği için, GPT‑5’in hedef modele çok fazla bilgi sızdırmadığını başka bir hakemle doğruladık. Son olarak, bu gönderideki dökümleri oluşturan "strong" örnekleri manuel olarak gözden geçirdik.
Aşağıda, farklı model sağlayıcıları arasında güçlü kirlenme örnekleri yer almaktadır.
Görev açıklamasından kısa bir alıntı verildiğinde, GPT‑5.2 tam olarak altın yama çıktısını sağlar. Özellikle, tanıtılan yeni erken dönüş koşulu `if username is None or password is None` ile birlikte tam sınıf ve yöntem adını bilir.
Görev Kimliği: django__django-11451(yeni bir pencerede açılır)
Veri kirlenmesi tespiti
Altın yama
Opus, PR’nin getirdiği tam 4 satırlık işlevsel değişikliği, dokunduğu belirli dosya adını ve yöntemi hatırlamakla kalmıyor, aynı zamanda farkın bir parçası olan satır içi yorumu da kelimesi kelimesine alıntılıyor.
Görev Kimliği: astropy__astropy-13236(yeni bir pencerede açılır)
Veri kirlenmesi tespiti
Altın yama
Gemini 3 Flash, ID dışında göreve ilişkin başka bir bilgi verilmediğinde, görev açıklamasından ve altın yamadan ayrıntıları kelimesi kelimesine çıktı olarak verebilir. Bu, kullanıcı adı doğrulaması için yeni regex formülünü ve değişiklik için tam satır numaralarını içerir.
Görev Kimliği: django__django-11099(yeni bir pencerede açılır)
Veri kirlenmesi tespiti
Altın yama
SWE-bench Verified denetiminden, değerlendirme tasarımı için iki daha geniş ders görüyoruz. Öncelikle, kamuya açık materyallerden alınan kıyaslamalar, eğitim verilerine maruz kalma durumunun puanları fark ettirmeden şişirebilmesi nedeniyle kirlilik riski taşır. Kamuya açık şekilde taranan veriler kıyaslama oluşturulurken kullanılıyorsa, model geliştiricileri kirlilik için ek testler gerçekleştirmelidir. Kıyaslamalar ve hatta bunların çözümleri kamuya açık şekilde paylaşıldığında eğitim verilerine dâhil olabilir. Veri kümelerinin yayınlanma şekli (yani şifre korumalı) ve eğitim verilerinin filtrelenmesi (yani kanarya dizelerine sıkı sıkıya bağlı kalınması) konusunda ekstra özen gösterilmelidir.
İkinci olarak, otomatik puanlamayı doğru yapmak zordur; mükemmel test örnekleri, hem önemsiz uygulama ayrıntılarından bağımsız hem de kestirme çözümlere karşı dayanıklı olmalıdır ve doğru işlevselliği tamamen doğrulamalıdır. Bu problemler doğası gereği karmaşıktır ve çözülmesi zordur. Bu sorunları yakalamak, birden fazla kapsamlı insan etiketleme kampanyası gerektirdi.
Bu bulguları yakın tarihli değerlendirme çalışmalarımıza dâhil ettik. Son aylarda SWE-Bench Pro'nun herkese açık bölünümünden elde edilen sonuçları raporlamayı tercih ettik. Diğer model geliştiricilerinin de aynısını yapmasını öneriyoruz. SWE-bench Pro mükemmel değil, ancak ampirik olarak kirlilik sorunlarından daha az etkilendiği görülüyor. Kirlilik işlem hattımız bazı kirlilik vakaları buldu, ancak bu vakalar SWE-bench Verified'a kıyasla önemli ölçüde daha nadirdi ve daha az vahimdi ve hiçbir model eksiksiz, kelimesi kelimesine bir altın yama üretemedi.
Özgün, özel olarak yazılmış kıyaslamalara yatırım yapmayı sürdürecek ve endüstri ile akademiden de aynısını yapmaları için yardım isteyeceğiz. GDPVal'de görevler alan uzmanları tarafından özel olarak hazırlanır, maruz kalma riskini azaltır ve çözümler eğitimli değerlendiriciler tarafından bütüncül olarak derecelendirilir. Bu yaklaşım kaynak açısından yoğundur, ancak gerçek yetenek iyileşmelerini ölçmek için giderek daha gerekli hale geliyor.


